diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectJob/vo/InspectJobDetailUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectJob/vo/InspectJobDetailUpdateReqVO.java index 14dbff9c..cd16b550 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectJob/vo/InspectJobDetailUpdateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectJob/vo/InspectJobDetailUpdateReqVO.java @@ -3,10 +3,36 @@ package com.win.module.wms.controller.inspectJob.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; +import java.math.BigDecimal; + @Schema(description = "管理后台 - 检验任务子更新 Request VO") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public class InspectJobDetailUpdateReqVO extends InspectJobDetailBaseVO { + @Schema(description = "合格数量") + private BigDecimal goodQty; + + @Schema(description = "不合格数量") + private BigDecimal failedQty; + + @Schema(description = "破坏数量") + private BigDecimal crackQty; + + @Schema(description = "最终不合格数量") + private BigDecimal notPassedQty; + + @Schema(description = "不合格原因") + private String failedReason; + + @Schema(description = "异常照片") + private String photos; + + @Schema(description = "检验人") + private String inspectUser; + + @Schema(description = "检验结果") + private String inspectResult; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectJob/vo/InspectJobMainUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectJob/vo/InspectJobMainUpdateReqVO.java index bdb3e6b6..bfb08bb8 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectJob/vo/InspectJobMainUpdateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectJob/vo/InspectJobMainUpdateReqVO.java @@ -1,7 +1,12 @@ package com.win.module.wms.controller.inspectJob.vo; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.Valid; +import java.util.List; @Schema(description = "管理后台 - 检验任务主更新 Request VO") @Data @@ -9,4 +14,6 @@ import lombok.*; @ToString(callSuper = true) public class InspectJobMainUpdateReqVO extends InspectJobMainBaseVO { + @Schema(description = "子表数据") + private List<@Valid InspectJobDetailUpdateReqVO> subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/inspectJob/InspectJobMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/inspectJob/InspectJobMainMapper.java index 151171ab..4b0cf8a9 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/inspectJob/InspectJobMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/inspectJob/InspectJobMainMapper.java @@ -132,8 +132,7 @@ public interface InspectJobMainMapper extends BaseMapperX { .eqIfPresent(InspectJobMainDO::getAllowContinuousScanning, reqVO.getAllowContinuousScanning()) .eqIfPresent(InspectJobMainDO::getAllowPartialComplete, reqVO.getAllowPartialComplete()) .eqIfPresent(InspectJobMainDO::getAllowModifyBatch, reqVO.getAllowModifyBatch()) - .eqIfPresent(InspectJobMainDO::getAllowModifyPackingNumber, reqVO.getAllowModifyPackingNumber()) - .orderByDesc(InspectJobMainDO::getId)); + .eqIfPresent(InspectJobMainDO::getAllowModifyPackingNumber, reqVO.getAllowModifyPackingNumber())); } default List getReturnJobMainSenior(InspectJobMainRespVO reqVO) { @@ -176,8 +175,7 @@ public interface InspectJobMainMapper extends BaseMapperX { .eqIfPresent(InspectJobMainDO::getAllowContinuousScanning, reqVO.getAllowContinuousScanning()) .eqIfPresent(InspectJobMainDO::getAllowPartialComplete, reqVO.getAllowPartialComplete()) .eqIfPresent(InspectJobMainDO::getAllowModifyBatch, reqVO.getAllowModifyBatch()) - .eqIfPresent(InspectJobMainDO::getAllowModifyPackingNumber, reqVO.getAllowModifyPackingNumber()) - .orderByDesc(InspectJobMainDO::getId)); + .eqIfPresent(InspectJobMainDO::getAllowModifyPackingNumber, reqVO.getAllowModifyPackingNumber())); } /** @@ -188,11 +186,22 @@ public interface InspectJobMainMapper extends BaseMapperX { default Long selectListCount(Collection types) { return selectCount(new LambdaQueryWrapperX() .inIfPresent(InspectJobMainDO::getStatus, types)); - } default List selectList(CustomConditions conditions) { return selectList(QueryWrapperUtils.structure(conditions)); } + /** + * 根据类型数和申请单号组查询任务数量 + * @param types + * @param requestNumber + * @return + */ + default Long selectListCount(Collection types, String requestNumber) { + return selectCount(new LambdaQueryWrapperX() + .in(InspectJobMainDO::getStatus, types) + .eq(InspectJobMainDO::getRequestNumber, requestNumber)); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/inspectRequest/InspectRequestMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/inspectRequest/InspectRequestMainMapper.java index ed6545ad..f30a8bb4 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/inspectRequest/InspectRequestMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/inspectRequest/InspectRequestMainMapper.java @@ -102,4 +102,8 @@ public interface InspectRequestMainMapper extends BaseMapperX transactionCreateReqVOList = new ArrayList<>(); + List inspectJobDetailUpdateReqVOList = inspectJobMainUpdateReqVO.getSubList(); + List inspectRecordDetailDOList = new ArrayList<>(); + for(InspectJobDetailUpdateReqVO inspectJobDetailUpdateReqVO : inspectJobDetailUpdateReqVOList) { + InspectRecordDetailDO inspectRecordDetailDO = new InspectRecordDetailDO(); + BeanUtils.copyProperties(inspectJobDetailUpdateReqVO, inspectRecordDetailDO); + inspectRecordDetailDO.setMasterId(inspectRecordMainDO.getId()); + inspectRecordDetailDO.setNumber(number); + inspectRecordDetailDO.setJobDetailId(String.valueOf(inspectJobDetailUpdateReqVO.getId())); + inspectRecordDetailDO.setId(null); + inspectRecordDetailDO.setCreator(null); + inspectRecordDetailDO.setCreateTime(null); + inspectRecordDetailDO.setUpdater(null); + inspectRecordDetailDO.setUpdateTime(null); + inspectRecordDetailDOList.add(inspectRecordDetailDO); + //添加库存事务list + TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); + BeanUtils.copyProperties(inspectRecordDetailDO, transactionCreateReqVO); + //增加业务类型 + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("InspectReceiptJob"); + transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); + transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + transactionCreateReqVO.setRecordNumber(number); + transactionCreateReqVO.setId(null); + //待确定库存事务信息 + transactionCreateReqVOList.add(transactionCreateReqVO); + } + if(!inspectRecordDetailDOList.isEmpty()) { + inspectRecordDetailMapper.insertBatch(inspectRecordDetailDOList); + } + List typeList = new ArrayList<>(); + typeList.add(JobStatusEnum.PENDING.getCode()); + typeList.add(JobStatusEnum.PROCESSING.getCode()); + Long count = inspectJobMainMapper.selectListCount(typeList, inspectJobMainDO.getRequestNumber()); + InspectRequestMainDO inspectRequestMainDO = inspectRequestMainMapper.selectByNumber(inspectJobMainDO.getRequestNumber()); + //申请单下所有任务全部完成 + if(count == 0) { + inspectRequestMainDO.setStatus(RequestStatusEnum.COMPLETED.getCode()); + inspectRequestMainMapper.updateById(inspectRequestMainDO); + } else if(inspectRequestMainDO.getStatus().equals(RequestStatusEnum.HANDLING.getCode())) {//部分完成 + inspectRequestMainDO.setStatus(RequestStatusEnum.PARTIAL.getCode()); + inspectRequestMainMapper.updateById(inspectRequestMainDO); + } + //增加库存事务 + transactionService.createTransaction(transactionCreateReqVOList); + //移除预计入 + expectinService.deleteExpectinByJobNumber(inspectJobMainDO.getNumber()); + //变更记录 + trendsApi.createTrends(inspectJobMainDO.getId(), "inspectJob", "执行了到货检验任务", TrendsTypeEnum.UPDATE); + return result; } private InspectJobMainDO validateInspectJobMainExists(Long id) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java index 542f674f..e7724956 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java @@ -218,7 +218,7 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain purchasereceiptJobMainDO.setCompleteUserId(String.valueOf(userRespDTO.getId())); purchasereceiptJobMainDO.setCompleteUserName(userRespDTO.getNickname()); //更新任务表状态 - purchasereceiptJobMainMapper.updateById(purchasereceiptJobMainDO); + int result = purchasereceiptJobMainMapper.updateById(purchasereceiptJobMainDO); //创建采购收货记录主表 PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = new PurchasereceiptRecordMainDO(); BeanUtils.copyProperties(purchasereceiptJobMainDO, purchasereceiptRecordMainDO); @@ -375,6 +375,6 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain expectinService.deleteExpectinByJobNumber(purchasereceiptJobMainDO.getNumber()); //变更记录 trendsApi.createTrends(purchasereceiptJobMainDO.getId(), "purchasereceiptJob", "执行了采购收货任务", TrendsTypeEnum.UPDATE); - return null; + return result; } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java index e6d6f768..bcbb2d7f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java @@ -398,19 +398,10 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq if(ruleRespVO == null) { throw new ServiceException(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS); } else { - JSONArray conditionArray = JSONUtil.parseArray(ruleRespVO.getConfiguration()); - for (int i = 0; i < conditionArray.size(); i++) { - JSONObject conditionObject = conditionArray.getJSONObject(i); - if ("WarehouseCode".equals(conditionObject.get("ParamCode"))) { - mainDo.setFromWarehouseCode(String.valueOf(conditionObject.get("Value"))); - } - if ("DockCode".equals(conditionObject.get("ParamCode"))) { - mainDo.setToDockCode(String.valueOf(conditionObject.get("Value"))); - } - if ("OnTheWayLocationCode".equals(conditionObject.get("ParamCode"))) { - mainDo.setToWarehouseCode(String.valueOf(conditionObject.get("Value"))); - } - } + JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration()); + mainDo.setFromWarehouseCode(String.valueOf(jsonObject.get("WarehouseCode"))); + mainDo.setToDockCode(String.valueOf(jsonObject.get("DockCode"))); + mainDo.setToWarehouseCode(String.valueOf(jsonObject.get("OnTheWayLocationCode"))); } }