mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
原预打包配置部分描述修改为分堆
This commit is contained in:
-14
@@ -3,7 +3,6 @@ package com.cf.imes.module.executor.controller.admin.manage.pack;
|
||||
|
||||
import com.cf.imes.framework.common.pojo.CommonResult;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.module.executor.controller.admin.manage.pack.prePack.PrePackReqVO;
|
||||
import com.cf.imes.module.executor.controller.admin.manage.pack.vo.*;
|
||||
import com.cf.imes.module.executor.controller.admin.manage.query.vo.pack.OrderPackageVO;
|
||||
import com.cf.imes.module.executor.controller.admin.manage.query.vo.pack.PackageDetailsRespVO;
|
||||
@@ -224,19 +223,6 @@ public class PackController {
|
||||
|
||||
|
||||
|
||||
|
||||
@PostMapping("/saveOptimizeInfo")
|
||||
@Operation(summary = "预打包保存优化信息")
|
||||
@PreAuthorize("@ss.hasPermission('manage:pack:pre-pack')")
|
||||
public CommonResult<Boolean> saveOptimizeInfo(@Valid @RequestBody PrePackReqVO reqVO) {
|
||||
|
||||
packService.saveOptimizeInfo(reqVO);
|
||||
|
||||
return success(true);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@GetMapping("/scan/correlation")
|
||||
@Operation(summary = "查询扫描类型相关的板件+配件id")
|
||||
public CommonResult<List<Long>> getComponentCorrelation(@Valid @RequestBody PackScanComponentCorrelationReqVO reqVO) {
|
||||
|
||||
-5
@@ -2,7 +2,6 @@ package com.cf.imes.module.executor.service.manage.pack;
|
||||
|
||||
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.module.executor.controller.admin.manage.pack.prePack.PrePackReqVO;
|
||||
import com.cf.imes.module.executor.controller.admin.manage.pack.vo.*;
|
||||
import com.cf.imes.module.executor.controller.admin.manage.query.vo.pack.OrderPackageVO;
|
||||
|
||||
@@ -75,10 +74,6 @@ public interface PackService {
|
||||
// 查询预打包优化信息
|
||||
String getPrePackInfo(Long orderId);
|
||||
|
||||
|
||||
// 保存优化后的预打包信息
|
||||
void saveOptimizeInfo(PrePackReqVO reqVO);
|
||||
|
||||
/**
|
||||
* 校验打包状态:已打包的不允许扫描关联
|
||||
* @param orderId
|
||||
|
||||
-131
@@ -13,9 +13,6 @@ import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import com.cf.imes.framework.id.core.util.SnowflakeIdWorker3rd;
|
||||
import com.cf.imes.framework.mybatis.core.query.QueryWrapperX;
|
||||
import com.cf.imes.module.executor.api.plan.OrderPlanApi;
|
||||
import com.cf.imes.module.executor.controller.admin.manage.pack.prePack.PackPlateList;
|
||||
import com.cf.imes.module.executor.controller.admin.manage.pack.prePack.PrePackOptimizeInfo;
|
||||
import com.cf.imes.module.executor.controller.admin.manage.pack.prePack.PrePackReqVO;
|
||||
import com.cf.imes.module.executor.controller.admin.manage.pack.vo.*;
|
||||
import com.cf.imes.module.executor.controller.admin.manage.query.vo.pack.OrderPackageVO;
|
||||
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
||||
@@ -37,10 +34,6 @@ import com.cf.imes.module.executor.service.ordercomponent.OrderComponentService;
|
||||
import com.cf.imes.module.executor.service.orderitem.OrderItemService;
|
||||
import com.cf.imes.module.executor.service.plate.PlateService;
|
||||
import com.cf.imes.module.system.api.setting.SettingApi;
|
||||
import com.cf.imes.module.system.api.setting.dto.PackageConfigDTO;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.springframework.aop.framework.AopContext;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -71,7 +64,6 @@ import static com.cf.imes.module.executor.enums.ErrorCodeConstants.PART_PACK_DAT
|
||||
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.PLATE_NOT_EXISTS;
|
||||
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.THE_CURRENT_PACKAGE_TYPE_IS_INCORRECT;
|
||||
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.ORDER_PLATE_ERROR;
|
||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.CURRENTLY_NO_CONFIGURATION_AVAILABLE;
|
||||
|
||||
|
||||
@Service
|
||||
@@ -760,129 +752,6 @@ public class PackServiceImpl implements PackService {
|
||||
|
||||
}
|
||||
|
||||
|
||||
// 保存优化后的预打包信息
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveOptimizeInfo(PrePackReqVO reqVO) {
|
||||
|
||||
|
||||
PackageConfigDTO userSetting = settingApi.getUserSetting(UserSettingTypeEnum.PREPACKAGED.getType());
|
||||
|
||||
String setting = userSetting.getSetting();
|
||||
|
||||
if (setting == null) {
|
||||
|
||||
throw new ServiceException(CURRENTLY_NO_CONFIGURATION_AVAILABLE, UserSettingTypeEnum.PREPACKAGED.getName());
|
||||
}
|
||||
|
||||
JsonNode settingParse = JsonUtils.parseTree(JsonUtils.unzipString(setting));
|
||||
|
||||
boolean autoPack = settingParse.get("autoPack").asBoolean();
|
||||
|
||||
|
||||
String optimizeInfo = reqVO.getOptimizeInfo();
|
||||
|
||||
// 自动打包,包裹表新增
|
||||
if (autoPack) {
|
||||
|
||||
ArrayList<OrderPackageDO> orderPackageDOS = new ArrayList<>();
|
||||
|
||||
List<PackPlateList> packPlateNoLists = new ArrayList<>();
|
||||
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
|
||||
JsonNode jsonNode = JsonUtils.parseTree(reqVO.getOptimizeInfo());
|
||||
|
||||
List<PrePackOptimizeInfo> asJsonObject = objectMapper.convertValue(jsonNode, new TypeReference<>() {
|
||||
});
|
||||
|
||||
|
||||
asJsonObject.forEach(value -> {
|
||||
|
||||
value.getList().forEach(prePackOptimizeInfo -> {
|
||||
|
||||
String packageNo = generatePackageNo();
|
||||
prePackOptimizeInfo.setName(packageNo);
|
||||
orderPackageDOS.add(OrderPackageDO.builder()
|
||||
.packageNo(packageNo)
|
||||
.type(OrderPackageTypeEnum.PLATE.getType())
|
||||
.orderId(reqVO.getOrderId())
|
||||
.status(OrderPackageStatusEnum.PACKAGED.getStatus())
|
||||
.build());
|
||||
prePackOptimizeInfo.getList().forEach(plate -> {
|
||||
List<String> list = plate.getList().stream().map(PrePackOptimizeInfo.PrerPlateData::getPlateId).toList();
|
||||
list.forEach(a -> packPlateNoLists.add(PackPlateList.builder()
|
||||
.packNo(packageNo)
|
||||
.plateId(Long.valueOf(a))
|
||||
.build()));
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
optimizeInfo = JsonUtils.toJsonString(asJsonObject);
|
||||
|
||||
List<OrderPackageDO> packageDOS = orderPackageMapper.selectPackStatus(reqVO.getOrderId(), getUserOrganId());
|
||||
|
||||
if (!packageDOS.isEmpty()) {
|
||||
// 删除除配件和其他配件外的所有包裹
|
||||
orderPackageMapper.updateDelete(reqVO.getOrderId(), getUserOrganId());
|
||||
}
|
||||
|
||||
// 包裹表新增包裹
|
||||
orderPackageMapper.insertBatch(orderPackageDOS);
|
||||
|
||||
// 根据包裹编号查找包裹ID
|
||||
orderPackageDOS.forEach(a ->
|
||||
packPlateNoLists.stream().filter(f -> Objects.equals(f.getPackNo(), a.getPackageNo()))
|
||||
.forEach(f -> f.setPackId(a.getId())));
|
||||
|
||||
List<OrderItemDO> orderItemDOS = orderItemMapper.selectPackPlateList(reqVO.getOrderId(), getUserOrganId());
|
||||
|
||||
|
||||
packPlateNoLists.forEach(a ->
|
||||
orderItemDOS.stream().filter(f -> Objects.equals(f.getPlateId(), a.getPlateId()))
|
||||
.forEach(f -> f.setPackageId(a.getPackId())));
|
||||
|
||||
orderItemMapper.updateBatch(orderItemDOS);
|
||||
|
||||
// 查询配件是否为空,为空,修改订单的状态为已打包
|
||||
List<PlateAndPartIdList> partsIds = orderItemMapper.selectOrderPackPartsIds(reqVO.getOrderId(), getUserOrganId());
|
||||
|
||||
if (partsIds.isEmpty()) {
|
||||
OrderDO orderDO = ordersMapper.selectById(reqVO.getOrderId());
|
||||
orderDO.setPackaged(OrderPackageStatusEnum.PACKAGED.getStatus());
|
||||
if(Boolean.TRUE.equals(orderPlanApi.getOrder(reqVO.getOrderId()).getData())){
|
||||
orderDO.setStatus(OrderStatusEnum.FINISH_PRODUCTION.getStatus());
|
||||
orderDO.setFinishTime(LocalDateTime.now());
|
||||
}
|
||||
ordersMapper.updateById(orderDO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
OrderPrepackagedDO orderPackOptimizeDO = orderPrepackagedMapper.selectOrder(reqVO.getOrderId(), getUserOrganId());
|
||||
|
||||
if (orderPackOptimizeDO == null) {
|
||||
|
||||
OrderPrepackagedDO prepackagedDO = new OrderPrepackagedDO();
|
||||
prepackagedDO.setOrderId(reqVO.getOrderId());
|
||||
prepackagedDO.setResult(JsonUtils.zipString(optimizeInfo));
|
||||
orderPrepackagedMapper.insert(prepackagedDO);
|
||||
return;
|
||||
}
|
||||
|
||||
orderPackOptimizeDO.setResult(JsonUtils.zipString(optimizeInfo));
|
||||
orderPrepackagedMapper.updateById(orderPackOptimizeDO);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
// 日期格式转换
|
||||
public static String convertTime(String input) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user