Browse Source

任务完成更新申请状态

master
陈薪名 2 years ago
parent
commit
9e696f9607
  1. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/issueRecord/IssueRecordDetailConvert.java
  2. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/issueRecord/IssueRecordMainConvert.java
  3. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/issueRequest/IssueRequestMainConvert.java
  4. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productdismantleRequest/ProductdismantleRequestMainConvert.java
  5. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productputawayRecord/ProductputawayRecordDetailConvert.java
  6. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productputawayRecord/ProductputawayRecordMainConvert.java
  7. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productreceiptRecord/ProductreceiptRecordDetailConvert.java
  8. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productreceiptRecord/ProductreceiptRecordMainConvert.java
  9. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/repleinshRecord/RepleinshRecordDetailConvert.java
  10. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/repleinshRecord/RepleinshRecordMainConvert.java
  11. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueJob/IssueJobMainServiceImpl.java
  12. 34
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java
  13. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productdismantleRequest/ProductdismantleRequestMainServiceImpl.java
  14. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreturnJob/ProductionreturnJobMainService.java
  15. 17
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreturnJob/ProductionreturnJobMainServiceImpl.java
  16. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreturnRequest/ProductionreturnRequestMainServiceImpl.java
  17. 19
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayJob/ProductputawayJobMainServiceImpl.java
  18. 20
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRequest/ProductputawayRequestMainServiceImpl.java
  19. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptJob/ProductreceiptJobMainService.java
  20. 179
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptJob/ProductreceiptJobMainServiceImpl.java
  21. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptRecord/ProductreceiptRecordMainService.java
  22. 176
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptRecord/ProductreceiptRecordMainServiceImpl.java
  23. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptRequest/ProductreceiptRequestDetailServiceImpl.java
  24. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptRequest/ProductreceiptRequestMainService.java
  25. 55
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptRequest/ProductreceiptRequestMainServiceImpl.java
  26. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/repleinshJob/RepleinshJobMainServiceImpl.java
  27. 27
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/repleinshRequest/RepleinshRequestMainServiceImpl.java

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/issueRecord/IssueRecordDetailConvert.java

@ -9,6 +9,7 @@ import com.win.module.wms.controller.issueRecord.vo.IssueRecordDetailExcelVO;
import com.win.module.wms.controller.issueRecord.vo.IssueRecordDetailRespVO;
import com.win.module.wms.controller.issueRecord.vo.IssueRecordDetailUpdateReqVO;
import com.win.module.wms.controller.repleinshRecord.vo.RepleinshRecordDetailCreateReqVO;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestDetailDO;
import com.win.module.wms.dal.dataobject.repleinshRecord.RepleinshRecordDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
@ -38,4 +39,5 @@ public interface IssueRecordDetailConvert {
List<IssueRecordDetailDO> convertList03(List<IssueRecordDetailCreateReqVO> list);
List<IssueRecordDetailCreateReqVO> convert(List<IssueRequestDetailDO> detailDOList);
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/issueRecord/IssueRecordMainConvert.java

@ -10,6 +10,7 @@ import com.win.module.wms.controller.issueRecord.vo.IssueRecordMainRespVO;
import com.win.module.wms.controller.issueRecord.vo.IssueRecordMainUpdateReqVO;
import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainExcelVO;
import com.win.module.wms.dal.dataobject.issueRecord.IssueRecordDetailDO;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestMainDO;
import com.win.module.wms.dal.dataobject.purchasereceiptJob.PurchasereceiptJobDetailDO;
import com.win.module.wms.dal.dataobject.purchasereceiptJob.PurchasereceiptJobMainDO;
import org.mapstruct.Mapper;
@ -50,4 +51,5 @@ public interface IssueRecordMainConvert {
})
IssueRecordMainExcelVO convert(IssueRecordMainDO mainDO, IssueRecordDetailDO detailDO);
IssueRecordMainCreateReqVO convert(IssueRequestMainDO mainDO);
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/issueRequest/IssueRequestMainConvert.java

@ -58,4 +58,5 @@ public interface IssueRequestMainConvert {
@Mapping(source = "detailDO.remark", target = "remarkDetail"),
})
IssueRequestMainExcelVO convert(IssueRequestMainDO mainDO, IssueRequestDetailDO detailDO);
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productdismantleRequest/ProductdismantleRequestMainConvert.java

@ -45,4 +45,6 @@ public interface ProductdismantleRequestMainConvert {
@Mapping(source = "mainDO.updater", target = "updater"),
})
ProductdismantleRequestMainExcelVO convert(ProductdismantleRequestMainDO mainDO, ProductdismantleRequestDetailaDO detailDO);
ProductdismantleRequestMainUpdateReqVO convert01(ProductdismantleRequestMainDO mainDO);
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productputawayRecord/ProductputawayRecordDetailConvert.java

@ -10,6 +10,7 @@ import com.win.module.wms.controller.productputawayRecord.vo.ProductputawayRecor
import com.win.module.wms.controller.productputawayRecord.vo.ProductputawayRecordDetailRespVO;
import com.win.module.wms.controller.productputawayRecord.vo.ProductputawayRecordDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.issueRecord.IssueRecordDetailDO;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.productputawayRecord.ProductputawayRecordDetailDO;
@ -38,4 +39,5 @@ public interface ProductputawayRecordDetailConvert {
List<ProductputawayRecordDetailDO> convertList03(List<ProductputawayRecordDetailCreateReqVO> list);
List<ProductputawayRecordDetailCreateReqVO> convert(List<ProductputawayRequestDetailDO> detailDOList);
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productputawayRecord/ProductputawayRecordMainConvert.java

@ -9,6 +9,7 @@ import com.win.module.wms.controller.productputawayRecord.vo.ProductputawayRecor
import com.win.module.wms.controller.productputawayRecord.vo.ProductputawayRecordMainRespVO;
import com.win.module.wms.controller.productputawayRecord.vo.ProductputawayRecordMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.productputawayRecord.ProductputawayRecordDetailDO;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
@ -46,4 +47,6 @@ public interface ProductputawayRecordMainConvert {
@Mapping(source = "mainDO.updater", target = "updater"),
})
ProductputawayRecordMainExcelVO convert(ProductputawayRecordMainDO mainDO, ProductputawayRecordDetailDO detailDO);
ProductputawayRecordMainCreateReqVO convert(ProductputawayRequestMainDO mainDO);
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productreceiptRecord/ProductreceiptRecordDetailConvert.java

@ -10,6 +10,7 @@ import com.win.module.wms.controller.productreceiptRecord.vo.ProductreceiptRecor
import com.win.module.wms.controller.productreceiptRecord.vo.ProductreceiptRecordDetailRespVO;
import com.win.module.wms.controller.productreceiptRecord.vo.ProductreceiptRecordDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.issueRecord.IssueRecordDetailDO;
import com.win.module.wms.dal.dataobject.productreceiptRequest.ProductreceiptRequestDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.productreceiptRecord.ProductreceiptRecordDetailDO;
@ -38,4 +39,5 @@ public interface ProductreceiptRecordDetailConvert {
List<ProductreceiptRecordDetailDO> convertList03(List<ProductreceiptRecordDetailCreateReqVO> list);
List<ProductreceiptRecordDetailCreateReqVO> convert(List<ProductreceiptRequestDetailDO> detailDOList);
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productreceiptRecord/ProductreceiptRecordMainConvert.java

@ -9,6 +9,7 @@ import com.win.module.wms.controller.productreceiptRecord.vo.ProductreceiptRecor
import com.win.module.wms.controller.productreceiptRecord.vo.ProductreceiptRecordMainRespVO;
import com.win.module.wms.controller.productreceiptRecord.vo.ProductreceiptRecordMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.productreceiptRecord.ProductreceiptRecordDetailDO;
import com.win.module.wms.dal.dataobject.productreceiptRequest.ProductreceiptRequestMainDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
@ -46,4 +47,6 @@ public interface ProductreceiptRecordMainConvert {
@Mapping(source = "mainDO.updater", target = "updater"),
})
ProductreceiptRecordMainExcelVO convert(ProductreceiptRecordMainDO mainDO, ProductreceiptRecordDetailDO detailDO);
ProductreceiptRecordMainCreateReqVO convert(ProductreceiptRequestMainDO mainDO);
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/repleinshRecord/RepleinshRecordDetailConvert.java

@ -10,6 +10,7 @@ import com.win.module.wms.controller.repleinshRecord.vo.RepleinshRecordDetailExc
import com.win.module.wms.controller.repleinshRecord.vo.RepleinshRecordDetailRespVO;
import com.win.module.wms.controller.repleinshRecord.vo.RepleinshRecordDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO;
import com.win.module.wms.dal.dataobject.repleinshRequest.RepleinshRequestDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.repleinshRecord.RepleinshRecordDetailDO;
@ -38,4 +39,5 @@ public interface RepleinshRecordDetailConvert {
List<RepleinshRecordDetailDO> convertList03(List<RepleinshRecordDetailCreateReqVO> list);
List<RepleinshRecordDetailCreateReqVO> convert(List<RepleinshRequestDetailDO> detailDO);
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/repleinshRecord/RepleinshRecordMainConvert.java

@ -9,6 +9,7 @@ import com.win.module.wms.controller.repleinshRecord.vo.RepleinshRecordMainExcel
import com.win.module.wms.controller.repleinshRecord.vo.RepleinshRecordMainRespVO;
import com.win.module.wms.controller.repleinshRecord.vo.RepleinshRecordMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.repleinshRecord.RepleinshRecordDetailDO;
import com.win.module.wms.dal.dataobject.repleinshRequest.RepleinshRequestMainDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
@ -46,4 +47,6 @@ public interface RepleinshRecordMainConvert {
@Mapping(source = "mainDO.updater", target = "updater"),
})
RepleinshRecordMainExcelVO convert(RepleinshRecordMainDO mainDO, RepleinshRecordDetailDO detailDO);
RepleinshRecordMainCreateReqVO convert(RepleinshRequestMainDO mainDO);
}

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueJob/IssueJobMainServiceImpl.java

@ -15,12 +15,15 @@ import com.win.module.wms.controller.issueJob.vo.IssueJobDetailUpdateReqVO;
import com.win.module.wms.controller.issueJob.vo.IssueJobMainExportReqVO;
import com.win.module.wms.controller.issueJob.vo.IssueJobMainPageReqVO;
import com.win.module.wms.controller.issueJob.vo.IssueJobMainUpdateReqVO;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainUpdateReqVO;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.convert.issueRequest.IssueRequestMainConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.issueJob.IssueJobDetailDO;
import com.win.module.wms.dal.dataobject.issueJob.IssueJobMainDO;
import com.win.module.wms.dal.dataobject.issueRecord.IssueRecordDetailDO;
import com.win.module.wms.dal.dataobject.issueRecord.IssueRecordMainDO;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestMainDO;
import com.win.module.wms.dal.dataobject.jobsetting.JobsettingDO;
import com.win.module.wms.dal.dataobject.location.LocationDO;
import com.win.module.wms.dal.dataobject.onlinesettlementRecord.OnlinesettlementRecordDetailDO;
@ -31,15 +34,18 @@ import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
import com.win.module.wms.dal.mysql.issueJob.IssueJobMainMapper;
import com.win.module.wms.dal.mysql.issueRecord.IssueRecordDetailMapper;
import com.win.module.wms.dal.mysql.issueRecord.IssueRecordMainMapper;
import com.win.module.wms.dal.mysql.issueRequest.IssueRequestMainMapper;
import com.win.module.wms.dal.mysql.onlinesettlementRecord.OnlinesettlementRecordDetailMapper;
import com.win.module.wms.dal.mysql.onlinesettlementRecord.OnlinesettlementRecordMainMapper;
import com.win.module.wms.dal.mysql.productionreceiptJob.ProductionreceiptJobDetailMapper;
import com.win.module.wms.dal.mysql.productionreceiptJob.ProductionreceiptJobMainMapper;
import com.win.module.wms.enums.job.JobStatusEnum;
import com.win.module.wms.enums.job.JobStatusState;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.service.documentSwitch.SwitchService;
import com.win.module.wms.service.expectin.ExpectinService;
import com.win.module.wms.service.expectout.ExpectoutService;
import com.win.module.wms.service.issueRequest.IssueRequestMainService;
import com.win.module.wms.service.jobsetting.JobsettingService;
import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.service.recordsetting.RecordsettingService;
@ -70,6 +76,8 @@ import static com.win.module.wms.enums.ErrorCodeConstants.ISSUE_JOB_MAIN_STATUS_
@Validated
public class IssueJobMainServiceImpl implements IssueJobMainService {
@Resource
private IssueRequestMainMapper issueRequestMainMapper;
@Resource
private RecordsettingService recordsettingService;
@Resource
@ -362,6 +370,12 @@ public class IssueJobMainServiceImpl implements IssueJobMainService {
expectinService.deleteExpectinByJobNumber(issueJobMainDO.getNumber());
//移除预计出
expectoutService.deleteExpectoutByJobNumber(issueJobMainDO.getNumber());
// 更新申请状态为已完成
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("number", issueJobMainDO.getRequestNumber());
IssueRequestMainDO issueRequestMainDO = issueRequestMainMapper.selectOne(queryWrapper);
issueRequestMainDO.setStatus(RequestStatusEnum.COMPLETED.getCode());
issueRequestMainMapper.updateById(issueRequestMainDO);
//变更记录
trendsApi.createTrends(issueJobMainDO.getId(), "issueJob", "执行了发料任务", TrendsTypeEnum.UPDATE);
return number;

34
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java

@ -17,8 +17,12 @@ import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.expectin.vo.ExpectinCreateReqVO;
import com.win.module.wms.controller.expectout.vo.ExpectoutCreateReqVO;
import com.win.module.wms.controller.issueRecord.vo.IssueRecordDetailCreateReqVO;
import com.win.module.wms.controller.issueRecord.vo.IssueRecordMainCreateReqVO;
import com.win.module.wms.controller.issueRequest.vo.*;
import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.convert.issueRecord.IssueRecordDetailConvert;
import com.win.module.wms.convert.issueRecord.IssueRecordMainConvert;
import com.win.module.wms.convert.issueRequest.IssueRequestDetailConvert;
import com.win.module.wms.convert.issueRequest.IssueRequestMainConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
@ -45,6 +49,7 @@ import com.win.module.wms.enums.request.RequestStatusState;
import com.win.module.wms.service.businesstype.BusinesstypeService;
import com.win.module.wms.service.expectin.ExpectinService;
import com.win.module.wms.service.expectout.ExpectoutService;
import com.win.module.wms.service.issueRecord.IssueRecordMainService;
import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.itempackaging.ItempackagingService;
import com.win.module.wms.service.jobsetting.JobsettingService;
@ -79,6 +84,8 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*;
@Validated
public class IssueRequestMainServiceImpl implements IssueRequestMainService {
@Resource
private IssueRecordMainService issueRecordMainService;
@Resource
private AdminUserApi userApi;
@Resource
@ -429,7 +436,7 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService {
issueRequestMainDO.setAutoCommit(requestsettingDO.getAutoCommit());
issueRequestMainDO.setAutoExecute(requestsettingDO.getAutoExecute());
issueRequestMainDO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
RequestStatusState requestStatusState = new RequestStatusState();
RequestStatusState requestStatusState = new RequestStatusState(issueRequestMainDO.getStatus());
requestStatusState.newObject(requestsettingDO.getAutoCommit(), requestsettingDO.getAutoAgree(), requestsettingDO.getAutoExecute());
issueRequestMainDO.setStatus(requestStatusState.getState().getCode());
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("IssueRequest");
@ -611,23 +618,14 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService {
private void generateJob (IssueRequestMainDO mainDO, List<IssueRequestDetailDO> detailDOList) {
//跳过任务直接生成记录
if("TRUE".equals(mainDO.getDirectCreateRecord())) {
// TODO: 发料申请 跳过任务直接生成记录 未做!!
// PurchasereceiptRecordMainCreateReqVO purchasereceiptRecordMainCreateReqVO = new PurchasereceiptRecordMainCreateReqVO();
// BeanUtils.copyProperties(mainDO, purchasereceiptRecordMainCreateReqVO);
// purchasereceiptRecordMainCreateReqVO.setRequestNumber(mainDO.getNumber());
// String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_RECORD.getCode());
// purchasereceiptRecordMainCreateReqVO.setNumber(number);
// //增加业务类型
// BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReceiptRecord");
// purchasereceiptRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode());
// purchasereceiptRecordMainMapper.insert(PurchasereceiptRecordMainConvert.INSTANCE.convert(purchasereceiptRecordMainCreateReqVO));
// for(PurchasereceiptRequestDetailDO purchasereceiptRequestDetailDO : detailDOList) {
// PurchasereceiptRecordDetailCreateReqVO purchasereceiptRecordDetailCreateReqVO = new PurchasereceiptRecordDetailCreateReqVO();
// BeanUtils.copyProperties(purchasereceiptRequestDetailDO, purchasereceiptRecordDetailCreateReqVO);
// purchasereceiptRecordDetailCreateReqVO.setNumber(number);
// purchasereceiptRecordDetailMapper.insert(PurchasereceiptRecordDetailConvert.INSTANCE.convert(purchasereceiptRecordDetailCreateReqVO));
// }
// return;
IssueRecordMainCreateReqVO createReqVO = IssueRecordMainConvert.INSTANCE.convert(mainDO);
List<IssueRecordDetailCreateReqVO> issueRecordDetailCreateReqVOList = IssueRecordDetailConvert.INSTANCE.convert(detailDOList);
createReqVO.setSubList(issueRecordDetailCreateReqVOList);
issueRecordMainService.createIssueRecordMain(createReqVO);
// 更新申请状态为已完成
mainDO.setStatus(RequestStatusEnum.COMPLETED.getCode());
issueRequestMainMapper.updateById(mainDO);
return;
}
// 根据 子表 toLocationCode 拆分任务
Map<String, List<IssueRequestDetailDO>> listMap = new HashMap<>();

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productdismantleRequest/ProductdismantleRequestMainServiceImpl.java

@ -11,12 +11,14 @@ import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainUpdateReqVO;
import com.win.module.wms.controller.productdismantleRequest.vo.*;
import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestDetailaBaseVO;
import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestDetailaCreateReqVO;
import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestDetailbCreateReqVO;
import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.convert.issueRequest.IssueRequestMainConvert;
import com.win.module.wms.convert.productdismantleRequest.ProductdismantleRequestDetailaConvert;
import com.win.module.wms.convert.productdismantleRequest.ProductdismantleRequestDetailbConvert;
import com.win.module.wms.convert.productdismantleRequest.ProductdismantleRequestMainConvert;
@ -603,6 +605,9 @@ public class ProductdismantleRequestMainServiceImpl implements ProductdismantleR
}
//增加库存事务
transactionService.createTransaction(transactionCreateReqVOList);
// 更新申请状态为已完成
mainDO.setStatus(RequestStatusEnum.COMPLETED.getCode());
productdismantleRequestMainMapper.updateById(mainDO);
} else {
throw new UtilException("该功能无任务!请到单据设置管理-申请设置功能中重新设置!");
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreturnJob/ProductionreturnJobMainService.java

@ -108,6 +108,7 @@ public interface ProductionreturnJobMainService {
String executeProductionreturnJobMain(ProductionreturnJobMainUpdateReqVO updateReqVO);
/**
* 未处理的任务数
* @return 未处理的任务数

17
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreturnJob/ProductionreturnJobMainServiceImpl.java

@ -11,24 +11,30 @@ import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.productionreturnJob.vo.*;
import com.win.module.wms.controller.productionreturnRequest.vo.ProductionreturnRequestMainUpdateReqVO;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.convert.productionreturnJob.ProductionreturnJobMainConvert;
import com.win.module.wms.convert.productionreturnRequest.ProductionreturnRequestMainConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.location.LocationDO;
import com.win.module.wms.dal.dataobject.productionreturnJob.ProductionreturnJobDetailDO;
import com.win.module.wms.dal.dataobject.productionreturnJob.ProductionreturnJobMainDO;
import com.win.module.wms.dal.dataobject.productionreturnRecord.ProductionreturnRecordDetailDO;
import com.win.module.wms.dal.dataobject.productionreturnRecord.ProductionreturnRecordMainDO;
import com.win.module.wms.dal.dataobject.productionreturnRequest.ProductionreturnRequestMainDO;
import com.win.module.wms.dal.dataobject.recordsetting.RecordsettingDO;
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
import com.win.module.wms.dal.mysql.productionreturnJob.ProductionreturnJobMainMapper;
import com.win.module.wms.dal.mysql.productionreturnRecord.ProductionreturnRecordDetailMapper;
import com.win.module.wms.dal.mysql.productionreturnRecord.ProductionreturnRecordMainMapper;
import com.win.module.wms.dal.mysql.productionreturnRequest.ProductionreturnRequestMainMapper;
import com.win.module.wms.enums.job.JobStatusEnum;
import com.win.module.wms.enums.job.JobStatusState;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.service.expectin.ExpectinService;
import com.win.module.wms.service.expectout.ExpectoutService;
import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.service.productionreturnRequest.ProductionreturnRequestMainService;
import com.win.module.wms.service.recordsetting.RecordsettingService;
import com.win.module.wms.service.transaction.TransactionService;
import com.win.module.wms.util.JobUtils;
@ -38,6 +44,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
@ -56,6 +63,10 @@ import static com.win.module.wms.enums.ErrorCodeConstants.PRODUCTIONRETURN_JOB_M
@Validated
public class ProductionreturnJobMainServiceImpl implements ProductionreturnJobMainService {
@Resource
private ProductionreturnRequestMainMapper productionreturnRequestMainMapper;
@Resource
private ProductionreturnRequestMainService productionreturnRequestMainService;
@Resource
private ProductionreturnRecordDetailMapper productionreturnRecordDetailMapper;
@Resource
@ -352,6 +363,12 @@ public class ProductionreturnJobMainServiceImpl implements ProductionreturnJobMa
expectinService.deleteExpectinByJobNumber(productionreturnJobMainDO.getNumber());
//移除预计出
expectoutService.deleteExpectoutByJobNumber(productionreturnJobMainDO.getNumber());
// 更新申请状态为已完成
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("number", productionreturnJobMainDO.getRequestNumber());
ProductionreturnRequestMainDO productionreturnRequestMainDO = productionreturnRequestMainMapper.selectOne(queryWrapper);
productionreturnRequestMainDO.setStatus(RequestStatusEnum.COMPLETED.getCode());
productionreturnRequestMainMapper.updateById(productionreturnRequestMainDO);
//变更记录
trendsApi.createTrends(productionreturnRecordMainDO.getId(), "productionreturnRecord", "生产退料任务生成记录", TrendsTypeEnum.CREATE);
return number;

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreturnRequest/ProductionreturnRequestMainServiceImpl.java

@ -2,6 +2,7 @@ package com.win.module.wms.service.productionreturnRequest;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.exceptions.UtilException;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
@ -283,7 +284,7 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR
}
String number = serialNumberApi.generateCode(RuleCodeEnum.PRODUCTION_RETURN_REQUEST.getCode());
mainDo.setNumber(number);
RequestStatusState requestStatusState = new RequestStatusState();
RequestStatusState requestStatusState = new RequestStatusState(mainDo.getStatus());
requestStatusState.newObject(requestsettingDO.getAutoCommit(), requestsettingDO.getAutoAgree(), requestsettingDO.getAutoExecute());
mainDo.setStatus(requestStatusState.getState().getCode());
mainDo.setDepartmentCode(userApi.getUser(getLoginUserId()).getDeptId().toString());
@ -399,7 +400,7 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR
mainDo.setAutoCommit(requestsettingDO.getAutoCommit());
mainDo.setAutoExecute(requestsettingDO.getAutoExecute());
mainDo.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
RequestStatusState requestStatusState = new RequestStatusState();
RequestStatusState requestStatusState = new RequestStatusState(mainDo.getStatus());
requestStatusState.newObject(requestsettingDO.getAutoCommit(), requestsettingDO.getAutoAgree(), requestsettingDO.getAutoExecute());
mainDo.setStatus(requestStatusState.getState().getCode());
}
@ -737,6 +738,9 @@ public class ProductionreturnRequestMainServiceImpl implements ProductionreturnR
productionreturnRecordDetailMapper.insertBatch(productionreturnRecordDetailDOList);
//增加库存事务
transactionService.createTransaction(transactionCreateReqVOList);
// 更新申请状态为已完成
mainDO.setStatus(RequestStatusEnum.COMPLETED.getCode());
productionreturnRequestMainMapper.updateById(mainDO);
trendsApi.createTrends(productionreturnRecordMainDO.getId(), "productionreturnRecord", "生产退料申请直接生成记录", TrendsTypeEnum.CREATE);
return;
}

19
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayJob/ProductputawayJobMainServiceImpl.java

@ -10,27 +10,36 @@ import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainUpdateReqVO;
import com.win.module.wms.controller.productputawayJob.vo.ProductputawayJobMainCreateReqVO;
import com.win.module.wms.controller.productputawayJob.vo.ProductputawayJobMainExportReqVO;
import com.win.module.wms.controller.productputawayJob.vo.ProductputawayJobMainPageReqVO;
import com.win.module.wms.controller.productputawayJob.vo.ProductputawayJobMainUpdateReqVO;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainUpdateReqVO;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.convert.issueRequest.IssueRequestMainConvert;
import com.win.module.wms.convert.productputawayJob.ProductputawayJobMainConvert;
import com.win.module.wms.convert.productputawayRequest.ProductputawayRequestMainConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestMainDO;
import com.win.module.wms.dal.dataobject.location.LocationDO;
import com.win.module.wms.dal.dataobject.productputawayJob.ProductputawayJobDetailDO;
import com.win.module.wms.dal.dataobject.productputawayJob.ProductputawayJobMainDO;
import com.win.module.wms.dal.dataobject.productputawayRecord.ProductputawayRecordDetailDO;
import com.win.module.wms.dal.dataobject.productputawayRecord.ProductputawayRecordMainDO;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO;
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
import com.win.module.wms.dal.mysql.productputawayJob.ProductputawayJobMainMapper;
import com.win.module.wms.dal.mysql.productputawayRecord.ProductputawayRecordDetailMapper;
import com.win.module.wms.dal.mysql.productputawayRecord.ProductputawayRecordMainMapper;
import com.win.module.wms.dal.mysql.productputawayRequest.ProductputawayRequestMainMapper;
import com.win.module.wms.enums.job.JobStatusEnum;
import com.win.module.wms.enums.job.JobStatusState;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.service.expectin.ExpectinService;
import com.win.module.wms.service.expectout.ExpectoutService;
import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.service.productputawayRequest.ProductputawayRequestMainService;
import com.win.module.wms.service.recordsetting.RecordsettingService;
import com.win.module.wms.service.transaction.TransactionService;
import com.win.module.wms.util.JobUtils;
@ -58,6 +67,10 @@ import static com.win.module.wms.enums.ErrorCodeConstants.PRODUCTPUTAWAY_JOB_MAI
@Validated
public class ProductputawayJobMainServiceImpl implements ProductputawayJobMainService {
@Resource
private ProductputawayRequestMainService productputawayRequestMainService;
@Resource
private ProductputawayRequestMainMapper productputawayRequestMainMapper;
@Resource
private ExpectinService expectinService;
@Resource
@ -340,6 +353,12 @@ public class ProductputawayJobMainServiceImpl implements ProductputawayJobMainSe
expectinService.deleteExpectinByJobNumber(productputawayJobMainDO.getNumber());
//移除预计出
expectoutService.deleteExpectoutByJobNumber(productputawayJobMainDO.getNumber());
// 更新申请状态为已完成
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("number", productputawayJobMainDO.getRequestNumber());
ProductputawayRequestMainDO productputawayRequestMainDO = productputawayRequestMainMapper.selectOne(queryWrapper);
productputawayRequestMainDO.setStatus(RequestStatusEnum.COMPLETED.getCode());
productputawayRequestMainMapper.updateById(productputawayRequestMainDO);
//变更记录
trendsApi.createTrends(productputawayJobMainDO.getId(), "productputawayJob", "执行了制品上架任务", TrendsTypeEnum.UPDATE);
return number;

20
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRequest/ProductputawayRequestMainServiceImpl.java

@ -14,8 +14,12 @@ import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.expectin.vo.ExpectinCreateReqVO;
import com.win.module.wms.controller.expectout.vo.ExpectoutCreateReqVO;
import com.win.module.wms.controller.productputawayRecord.vo.ProductputawayRecordDetailCreateReqVO;
import com.win.module.wms.controller.productputawayRecord.vo.ProductputawayRecordMainCreateReqVO;
import com.win.module.wms.controller.productputawayRequest.vo.*;
import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.convert.productputawayRecord.ProductputawayRecordDetailConvert;
import com.win.module.wms.convert.productputawayRecord.ProductputawayRecordMainConvert;
import com.win.module.wms.convert.productputawayRequest.ProductputawayRequestDetailConvert;
import com.win.module.wms.convert.productputawayRequest.ProductputawayRequestMainConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
@ -40,6 +44,7 @@ import com.win.module.wms.service.expectout.ExpectoutService;
import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.jobsetting.JobsettingService;
import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.service.productputawayRecord.ProductputawayRecordMainService;
import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.service.rule.RuleService;
import com.win.module.wms.util.JobUtils;
@ -70,6 +75,8 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*;
@Validated
public class ProductputawayRequestMainServiceImpl implements ProductputawayRequestMainService {
@Resource
private ProductputawayRecordMainService productputawayRecordMainService;
@Resource
private ExpectoutService expectoutService;
@Resource
@ -170,7 +177,7 @@ public class ProductputawayRequestMainServiceImpl implements ProductputawayReque
private ProductputawayRequestMainDO validateMainMethod(ProductputawayRequestMainBaseVO baseVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO){
ProductputawayRequestMainDO productputawayRequestMainDO = ProductputawayRequestMainConvert.INSTANCE.convert(baseVO);
RequestStatusState requestStatusState = new RequestStatusState();
RequestStatusState requestStatusState = new RequestStatusState(productputawayRequestMainDO.getStatus());
requestStatusState.newObject(requestsettingDO.getAutoCommit(), requestsettingDO.getAutoAgree(), requestsettingDO.getAutoExecute());
productputawayRequestMainDO.setStatus(requestStatusState.getState().getCode());
productputawayRequestMainDO.setDepartmentCode(userApi.getUser(getLoginUserId()).getDeptId().toString());
@ -292,7 +299,7 @@ public class ProductputawayRequestMainServiceImpl implements ProductputawayReque
mainDo.setAutoCommit(requestsettingDO.getAutoCommit());
mainDo.setAutoExecute(requestsettingDO.getAutoExecute());
mainDo.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
RequestStatusState requestStatusState = new RequestStatusState();
RequestStatusState requestStatusState = new RequestStatusState(mainDo.getStatus());
requestStatusState.newObject(requestsettingDO.getAutoCommit(), requestsettingDO.getAutoAgree(), requestsettingDO.getAutoExecute());
mainDo.setStatus(requestStatusState.getState().getCode());
}
@ -552,7 +559,14 @@ public class ProductputawayRequestMainServiceImpl implements ProductputawayReque
private void generateJob(ProductputawayRequestMainDO mainDO, List<ProductputawayRequestDetailDO> detailDOList) {
//跳过任务直接生成记录
if("TRUE".equals(mainDO.getDirectCreateRecord())) {
// TODO: 发料申请 跳过任务直接生成记录 未做!!
ProductputawayRecordMainCreateReqVO createReqVO = ProductputawayRecordMainConvert.INSTANCE.convert(mainDO);
List<ProductputawayRecordDetailCreateReqVO> productputawayRecordDetailCreateReqVOList = ProductputawayRecordDetailConvert.INSTANCE.convert(detailDOList);
createReqVO.setSubList(productputawayRecordDetailCreateReqVOList);
productputawayRecordMainService.createProductputawayRecordMain(createReqVO);
// 更新申请状态为已完成
mainDO.setStatus(RequestStatusEnum.COMPLETED.getCode());
productputawayRequestMainMapper.updateById(mainDO);
return;
}
// 任务主表信息
ProductputawayJobMainDO productputawayJobMainDO = new ProductputawayJobMainDO();

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptJob/ProductreceiptJobMainService.java

@ -119,7 +119,6 @@ public interface ProductreceiptJobMainService {
String executeProductreceiptJobMain(ProductreceiptJobMainUpdateReqVO updateReqVO);
void generateBackflushRecord(ProductreceiptRecordMainDO productreceiptRecordMainDO, List<ProductreceiptRecordDetailDO> productreceiptRecordDetailDOList);
/**
* 未处理的任务数

179
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptJob/ProductreceiptJobMainServiceImpl.java

@ -14,8 +14,10 @@ import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestDetailCreateReqVO;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainCreateReqVO;
import com.win.module.wms.controller.productreceiptJob.vo.*;
import com.win.module.wms.controller.productreceiptRequest.vo.ProductreceiptRequestMainUpdateReqVO;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.convert.productreceiptJob.ProductreceiptJobMainConvert;
import com.win.module.wms.convert.productreceiptRequest.ProductreceiptRequestMainConvert;
import com.win.module.wms.dal.dataobject.backflushRequest.BackflushRequestDetailbDO;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
@ -30,6 +32,7 @@ import com.win.module.wms.dal.dataobject.productreceiptRecord.BackflushRecordDet
import com.win.module.wms.dal.dataobject.productreceiptRecord.ProductreceiptRecordDetailDO;
import com.win.module.wms.dal.dataobject.productreceiptRecord.ProductreceiptRecordMainDO;
import com.win.module.wms.dal.dataobject.productreceiptRequest.ProductreceiptRequestDetailDO;
import com.win.module.wms.dal.dataobject.productreceiptRequest.ProductreceiptRequestMainDO;
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
import com.win.module.wms.dal.dataobject.workstation.WorkstationDO;
import com.win.module.wms.dal.mysql.backflushRequest.BackflushRequestDetailbMapper;
@ -40,6 +43,7 @@ import com.win.module.wms.dal.mysql.productreceiptJob.ProductreceiptJobMainMappe
import com.win.module.wms.dal.mysql.productreceiptRecord.BackflushRecordDetailbMapper;
import com.win.module.wms.dal.mysql.productreceiptRecord.ProductreceiptRecordDetailMapper;
import com.win.module.wms.dal.mysql.productreceiptRecord.ProductreceiptRecordMainMapper;
import com.win.module.wms.dal.mysql.productreceiptRequest.ProductreceiptRequestMainMapper;
import com.win.module.wms.enums.job.JobStatusEnum;
import com.win.module.wms.enums.job.JobStatusState;
import com.win.module.wms.enums.request.RequestStatusEnum;
@ -51,6 +55,7 @@ import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.service.production.ProductionMainService;
import com.win.module.wms.service.productputawayRequest.ProductputawayRequestMainService;
import com.win.module.wms.service.productreceiptRecord.ProductreceiptRecordMainService;
import com.win.module.wms.service.productreceiptRequest.ProductreceiptRequestDetailService;
import com.win.module.wms.service.productreceiptRequest.ProductreceiptRequestMainService;
import com.win.module.wms.service.recordsetting.RecordsettingService;
@ -84,35 +89,22 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*;
public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainService {
@Resource
private BalanceMapper balanceMapper;
@Resource
private ProductputawayRequestMainService productputawayRequestMainService;
private ProductreceiptRecordMainService productreceiptRecordMainService;
@Resource
private OfflinesettlementRecordDetailMapper offlinesettlementRecordDetailMapper;
@Resource
private OfflinesettlementRecordMainMapper offlinesettlementRecordMainMapper;
@Resource
private SupplieritemService supplieritemService;
private ProductreceiptRequestMainService productreceiptRequestService;
@Resource
private ItembasicService itembasicService;
private ProductreceiptRequestMainMapper productreceiptRequestMainMapper;
@Resource
private BusinesstypeService businesstypeService;
private BalanceMapper balanceMapper;
@Resource
private TransactiontypeService transactiontypeService;
private ProductputawayRequestMainService productputawayRequestMainService;
@Resource
private SwitchService switchService;
@Resource
private BackflushRecordDetailbMapper backflushRecordDetailbMapper;
@Resource
private BalanceService balanceService;
@Resource
private WorkstationService workstationService;
@Resource
private BackflushRequestDetailbMapper backflushRequestDetailbMapper;
@Resource
private ProductreceiptRequestMainService productreceiptRequestService;
@Resource
private ProductreceiptRequestDetailService productreceiptRequestDetailService;
@Resource
private ExpectinService expectinService;
@Resource
@ -316,7 +308,7 @@ public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainSe
productreceiptRecordMainDO.setUpdater(null);
productreceiptRecordMainDO.setUpdateTime(null);
// 接口类型
productreceiptRecordMainDO.setInterfaceType(recordsettingService.selectRecordsettingExist("IssueRecord").getInterfaceType());
productreceiptRecordMainDO.setInterfaceType(recordsettingService.selectRecordsettingExist("ProductPutawayRecord").getInterfaceType());
//增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ProductReceiptRecord");
productreceiptRecordMainDO.setOutTransactionType(businesstypeDO.getOutTransactionType());
@ -388,19 +380,26 @@ public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainSe
transactionService.createTransaction(transactionCreateReqVOList);
//移除预计入
expectinService.deleteExpectinByJobNumber(productreceiptJobMainDO.getNumber());
// 更新申请状态为已完成
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("number", productreceiptJobMainDO.getRequestNumber());
ProductreceiptRequestMainDO productreceiptRequestMainDO = productreceiptRequestMainMapper.selectOne(queryWrapper);
productreceiptRequestMainDO.setStatus(RequestStatusEnum.COMPLETED.getCode());
productreceiptRequestMainMapper.updateById(productreceiptRequestMainDO);
//变更记录
trendsApi.createTrends(productreceiptJobMainDO.getId(), "productreceiptJob", "执行了制品收货任务", TrendsTypeEnum.UPDATE);
// 根据单据开关判断是否创建 回冲记录
SwitchDO switchDOBack = switchService.selectSwitchExist("CreateBackflushRecordAfterProductreceiptRecordCreated");
if (switchDOBack.getEffectiveSetValue().equals("TRUE")) {
// 创建 回冲记录(record_backflush_detailb)
generateBackflushRecord(productreceiptRecordMainDO, productreceiptRecordDetailDOList);
productreceiptRecordMainService.generateBackflushRecord(productreceiptRecordMainDO, productreceiptRecordDetailDOList);
}
// 根据单据开关判断是否创建 制品上架申请
SwitchDO switchDO = switchService.selectSwitchExist("CreateProductputawayRequestAfterProductreceiptRecordCreated");
if (switchDO.getEffectiveSetValue().equals("TRUE")) {
generateProductputawayRequest(productreceiptRecordMainDO, productreceiptRecordDetailDOList);
}
return number;
}
@ -430,95 +429,6 @@ public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainSe
productputawayRequestMainService.createProductputawayRequestMain(productputawayRequestMainCreateReqVO);
}
/**
* 创建 回冲记录
* @param productreceiptRecordMainDO
* @param productreceiptRecordDetailDOList
*/
public void generateBackflushRecord(ProductreceiptRecordMainDO productreceiptRecordMainDO, List<ProductreceiptRecordDetailDO> productreceiptRecordDetailDOList) {
List<ProductreceiptRequestDetailDO> productreceiptRequestDetailDOList = productreceiptRequestService.getProductreceiptRequestDetailDOByNumber(productreceiptRecordMainDO.getRequestNumber());
List<BackflushRecordDetailbDO> backflushRecordDetailbDOList = new ArrayList<>();
// 下线结算集合
List<BackflushRecordDetailbDO> offlinesettlementRecordList = new ArrayList<>();
//库存事务
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>();
for(ProductreceiptRequestDetailDO productreceiptRequestDetailDO: productreceiptRequestDetailDOList){
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("master_id",productreceiptRequestDetailDO.getId().toString());
List<BackflushRequestDetailbDO> backflushRequestDetailbDOList = backflushRequestDetailbMapper.selectList(queryWrapper);
for(BackflushRequestDetailbDO backflushRequestDetailbDO: backflushRequestDetailbDOList ) {
ProductreceiptRecordDetailDO productreceiptRecordDetailDO = productreceiptRecordDetailDOList.stream().filter(item -> item.getItemCode().equals(productreceiptRequestDetailDO.getItemCode())).collect(Collectors.toList()).get(0);
BackflushRecordDetailbDO backflushRecordDetailbDO = new BackflushRecordDetailbDO();
BeanUtils.copyProperties(backflushRequestDetailbDO,backflushRecordDetailbDO);
backflushRecordDetailbDO.setMasterId(productreceiptRecordDetailDO.getId());
backflushRecordDetailbDO.setNumber(productreceiptRecordDetailDO.getNumber());
backflushRecordDetailbDO.setId(null);
backflushRecordDetailbDO.setCreator(null);
backflushRecordDetailbDO.setCreateTime(null);
backflushRecordDetailbDO.setUpdater(null);
backflushRecordDetailbDO.setUpdateTime(null);
// from_location_code 工位表中原料库位
// 根据 生产线 工位 查询工位信息 并赋值 from_location_code
WorkstationDO workstationDO = workstationService.selectWorkstationExist(productreceiptRecordDetailDO.getWorkStationCode(),productreceiptRecordMainDO.getWorkshopCode(),productreceiptRecordDetailDO.getProductionlineCode());
backflushRecordDetailbDO.setFromLocationCode(workstationDO.getRawLocationCode());
// 根据 from_location_code 查询库存余额
// TODO: 如果按批次 查询批次获取库存余额 排序批次 如果第一条批次不够数量 需要扣除第二条余额 库存事务出的动作要存2条
List<String> inventoryStatus = new ArrayList<>();
inventoryStatus.add("OK");
List<BalanceDO> balanceDOList = balanceService.selectByNumber(backflushRequestDetailbDO.getItemCode(),inventoryStatus,workstationDO.getRawLocationCode());
backflushRecordDetailbDO.setPackingNumber(balanceDOList.get(0).getPackingNumber());
backflushRecordDetailbDO.setBatch(balanceDOList.get(0).getBatch());
backflushRecordDetailbDO.setInventoryStatus("OK");
backflushRecordDetailbDO.setFromAreaCode(balanceDOList.get(0).getAreaCode());
backflushRecordDetailbDO.setFromLocationGroupCode(balanceDOList.get(0).getLocationGroupCode());
// 消耗数量 = 成品数量 * bom数量
BigDecimal qty = productreceiptRecordDetailDO.getQty().multiply(backflushRecordDetailbDO.getQty());
backflushRecordDetailbDO.setQty(qty);
backflushRecordDetailbDOList.add(backflushRecordDetailbDO);
//查询库存余额
BalanceDO balanceDO = balanceMapper.getBalanceQty(productreceiptRecordDetailDO.getPackingNumber(), productreceiptRecordDetailDO.getItemCode(), productreceiptRecordDetailDO.getBatch(), productreceiptRecordDetailDO.getInventoryStatus(), productreceiptRecordDetailDO.getToLocationCode());
if (balanceDO == null) {
throw exception(BALANCE_NOT_EXISTS);
}
//添加库存事务list
// 出动作
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(backflushRecordDetailbDO, transactionCreateReqVO);
BusinesstypeDO businesstypeDO = businesstypeService.selectBusinesstypeExist(productreceiptRecordMainDO.getBusinessType());
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType());
transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId()));
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction());
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode());
transactionCreateReqVO.setBusinessType(businesstypeDO.getCode());
transactionCreateReqVO.setOwnerCode("");
transactionCreateReqVO.setRecordNumber(backflushRecordDetailbDO.getNumber());
transactionCreateReqVO.setId(null);
transactionCreateReqVO.setPackingNumber(backflushRecordDetailbDO.getPackingNumber());
transactionCreateReqVO.setBatch(backflushRecordDetailbDO.getBatch());
transactionCreateReqVO.setContainerNumber("");
transactionCreateReqVO.setSinglePrice(balanceDO.getSinglePrice());
transactionCreateReqVO.setAmount(balanceDO.getAmount());
transactionCreateReqVO.setArriveDate(balanceDO.getArriveDate());
transactionCreateReqVO.setProduceDate(balanceDO.getProduceDate());
transactionCreateReqVO.setExpireDate(balanceDO.getExpireDate());
transactionCreateReqVO.setWarehouseCode("");
transactionCreateReqVO.setLocationCode(backflushRecordDetailbDO.getFromLocationCode());
transactionCreateReqVO.setQty(qty);
transactionCreateReqVOList.add(transactionCreateReqVO);
// 判断 物品 是否为 下线结算物品 创建 下线结算记录
if (itembasicService.isOfflines(backflushRecordDetailbDO.getItemCode())) {
offlinesettlementRecordList.add(backflushRecordDetailbDO);
}
}
}
backflushRecordDetailbMapper.insertBatch(backflushRecordDetailbDOList);
//增加库存事务
transactionService.createTransaction(transactionCreateReqVOList);
// 创建 下线结算记录
if (offlinesettlementRecordList != null && offlinesettlementRecordList.size() > 0) {
generateOfflinesettlementRecord(productreceiptRecordMainDO, offlinesettlementRecordList);
}
}
@Override
public Long getProductreceiptJobCount() {
@ -536,45 +446,4 @@ public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainSe
queryWrapper.eq("`status`", JobStatusEnum.PENDING.getCode());
return productreceiptJobMainMapper.selectCount(queryWrapper);
}
/**
* 创建 下线结算 记录
* @param productreceiptRecordMainDO
* @param offlinesettlementRecordList
*/
private void generateOfflinesettlementRecord(ProductreceiptRecordMainDO productreceiptRecordMainDO, List<BackflushRecordDetailbDO> offlinesettlementRecordList) {
OfflinesettlementRecordMainDO offlinesettlementRecordMainDO = new OfflinesettlementRecordMainDO();
BeanUtils.copyProperties(productreceiptRecordMainDO,offlinesettlementRecordMainDO);
String number = serialNumberApi.generateCode(RuleCodeEnum.OFFLINE_SETTLEMENT_RECORD.getCode());
offlinesettlementRecordMainDO.setNumber(number);
offlinesettlementRecordMainDO.setProductReceiptRecordNumber(productreceiptRecordMainDO.getNumber());
offlinesettlementRecordMainDO.setBusinessType("");
offlinesettlementRecordMainDO.setInTransactionType("");
offlinesettlementRecordMainDO.setOutTransactionType("");
offlinesettlementRecordMainDO.setId(null);
offlinesettlementRecordMainDO.setCreator(null);
offlinesettlementRecordMainDO.setCreateTime(null);
offlinesettlementRecordMainDO.setUpdater(null);
offlinesettlementRecordMainDO.setUpdateTime(null);
offlinesettlementRecordMainMapper.insert(offlinesettlementRecordMainDO);
//上线结算记录子 集合
List<OfflinesettlementRecordDetailDO> offlinesettlementRecordDetailDOList = new ArrayList<>();
for(BackflushRecordDetailbDO backflushRecordDetailbDO : offlinesettlementRecordList ) {
OfflinesettlementRecordDetailDO offlinesettlementRecordDetailDO = new OfflinesettlementRecordDetailDO();
BeanUtils.copyProperties(backflushRecordDetailbDO,offlinesettlementRecordDetailDO);
offlinesettlementRecordDetailDO.setLocationCode(backflushRecordDetailbDO.getFromLocationCode());
offlinesettlementRecordDetailDO.setLocationGroupCode(backflushRecordDetailbDO.getFromLocationGroupCode());
offlinesettlementRecordDetailDO.setAreaCode(backflushRecordDetailbDO.getFromAreaCode());
offlinesettlementRecordDetailDO.setMasterId(offlinesettlementRecordMainDO.getId());
offlinesettlementRecordDetailDO.setId(null);
offlinesettlementRecordDetailDO.setCreator(null);
offlinesettlementRecordDetailDO.setCreateTime(null);
offlinesettlementRecordDetailDO.setUpdater(null);
offlinesettlementRecordDetailDO.setUpdateTime(null);
offlinesettlementRecordDetailDOList.add(offlinesettlementRecordDetailDO);
}
if(offlinesettlementRecordDetailDOList != null && offlinesettlementRecordDetailDOList.size() > 0) {
offlinesettlementRecordDetailMapper.insertBatch(offlinesettlementRecordDetailDOList);
}
}
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptRecord/ProductreceiptRecordMainService.java

@ -6,6 +6,7 @@ import com.win.module.wms.controller.productreceiptRecord.vo.ProductreceiptRecor
import com.win.module.wms.controller.productreceiptRecord.vo.ProductreceiptRecordMainExportReqVO;
import com.win.module.wms.controller.productreceiptRecord.vo.ProductreceiptRecordMainPageReqVO;
import com.win.module.wms.controller.productreceiptRecord.vo.ProductreceiptRecordMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.productreceiptRecord.ProductreceiptRecordDetailDO;
import com.win.module.wms.dal.dataobject.productreceiptRecord.ProductreceiptRecordMainDO;
import javax.validation.Valid;
@ -82,4 +83,7 @@ public interface ProductreceiptRecordMainService {
PageResult<ProductreceiptRecordMainDO> getProductreceiptRecordMainSenior(CustomConditions conditions);
List<ProductreceiptRecordMainDO> getProductreceiptRecordMainList(CustomConditions conditions);
void generateBackflushRecord(ProductreceiptRecordMainDO productreceiptRecordMainDO, List<ProductreceiptRecordDetailDO> productreceiptRecordDetailDOList);
}

176
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptRecord/ProductreceiptRecordMainServiceImpl.java

@ -1,5 +1,6 @@
package com.win.module.wms.service.productreceiptRecord;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.infra.api.trends.TrendsApi;
@ -17,23 +18,40 @@ import com.win.module.wms.convert.productreceiptRecord.ProductreceiptRecordDetai
import com.win.module.wms.convert.productreceiptRecord.ProductreceiptRecordMainConvert;
import com.win.module.wms.convert.repleinshRecord.RepleinshRecordDetailConvert;
import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO;
import com.win.module.wms.dal.dataobject.backflushRequest.BackflushRequestDetailbDO;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.location.LocationDO;
import com.win.module.wms.dal.dataobject.offlinesettlementRecord.OfflinesettlementRecordDetailDO;
import com.win.module.wms.dal.dataobject.offlinesettlementRecord.OfflinesettlementRecordMainDO;
import com.win.module.wms.dal.dataobject.productreceiptRecord.BackflushRecordDetailbDO;
import com.win.module.wms.dal.dataobject.productreceiptRecord.ProductreceiptRecordDetailDO;
import com.win.module.wms.dal.dataobject.productreceiptRecord.ProductreceiptRecordMainDO;
import com.win.module.wms.dal.dataobject.productreceiptRequest.ProductreceiptRequestDetailDO;
import com.win.module.wms.dal.dataobject.recordsetting.RecordsettingDO;
import com.win.module.wms.dal.dataobject.repleinshRecord.RepleinshRecordDetailDO;
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
import com.win.module.wms.dal.dataobject.workstation.WorkstationDO;
import com.win.module.wms.dal.mysql.backflushRequest.BackflushRequestDetailbMapper;
import com.win.module.wms.dal.mysql.balance.BalanceMapper;
import com.win.module.wms.dal.mysql.offlinesettlementRecord.OfflinesettlementRecordDetailMapper;
import com.win.module.wms.dal.mysql.offlinesettlementRecord.OfflinesettlementRecordMainMapper;
import com.win.module.wms.dal.mysql.productreceiptRecord.BackflushRecordDetailbMapper;
import com.win.module.wms.dal.mysql.productreceiptRecord.ProductreceiptRecordDetailMapper;
import com.win.module.wms.dal.mysql.productreceiptRecord.ProductreceiptRecordMainMapper;
import com.win.module.wms.dal.mysql.productreceiptRequest.ProductreceiptRequestDetailMapper;
import com.win.module.wms.service.balance.BalanceService;
import com.win.module.wms.service.businesstype.BusinesstypeService;
import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.service.productreceiptJob.ProductreceiptJobMainService;
import com.win.module.wms.service.productreceiptRequest.ProductreceiptRequestDetailService;
import com.win.module.wms.service.recordsetting.RecordsettingService;
import com.win.module.wms.service.supplieritem.SupplieritemService;
import com.win.module.wms.service.transaction.TransactionService;
import com.win.module.wms.service.transactiontype.TransactiontypeService;
import com.win.module.wms.service.workstation.WorkstationService;
import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -46,6 +64,7 @@ import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
@ -63,8 +82,6 @@ public class ProductreceiptRecordMainServiceImpl implements ProductreceiptRecord
@Resource
private BalanceMapper balanceMapper;
@Resource
private ProductreceiptJobMainService productreceiptJobMainService;
@Resource
private ProductreceiptRecordDetailMapper productreceiptRecordDetailMapper;
@Resource
private TransactionService transactionService;
@ -84,6 +101,26 @@ public class ProductreceiptRecordMainServiceImpl implements ProductreceiptRecord
private AdminUserApi userApi;
@Resource
private ProductreceiptRecordMainMapper productreceiptRecordMainMapper;
@Resource
private SupplieritemService supplieritemService;
@Resource
private BusinesstypeService businesstypeService;
@Resource
private TransactiontypeService transactiontypeService;
@Resource
private ProductreceiptRequestDetailMapper productreceiptRequestDetailMapper;
@Resource
private BackflushRecordDetailbMapper backflushRecordDetailbMapper;
@Resource
private BalanceService balanceService;
@Resource
private WorkstationService workstationService;
@Resource
private BackflushRequestDetailbMapper backflushRequestDetailbMapper;
@Resource
private OfflinesettlementRecordDetailMapper offlinesettlementRecordDetailMapper;
@Resource
private OfflinesettlementRecordMainMapper offlinesettlementRecordMainMapper;
@Override
@Transactional
@ -161,7 +198,7 @@ public class ProductreceiptRecordMainServiceImpl implements ProductreceiptRecord
transactionCreateReqVOList.add(transactionCreateReqVOIn);
}
// 创建第二子表回冲记录及库存事务
productreceiptJobMainService.generateBackflushRecord(mainDO,subDOList);
generateBackflushRecord(mainDO,subDOList);
//增加库存事务
transactionService.createTransaction(transactionCreateReqVOList);
//增加操作记录
@ -170,6 +207,139 @@ public class ProductreceiptRecordMainServiceImpl implements ProductreceiptRecord
return mainDO.getNumber();
}
/**
* 创建 回冲记录
* @param productreceiptRecordMainDO
* @param productreceiptRecordDetailDOList
*/
public void generateBackflushRecord(ProductreceiptRecordMainDO productreceiptRecordMainDO, List<ProductreceiptRecordDetailDO> productreceiptRecordDetailDOList) {
QueryWrapper queryWrapperProductreceipt = new QueryWrapper();
queryWrapperProductreceipt.eq("number", productreceiptRecordMainDO.getRequestNumber());
List<ProductreceiptRequestDetailDO> productreceiptRequestDetailDOList = productreceiptRequestDetailMapper.selectList(queryWrapperProductreceipt);
List<BackflushRecordDetailbDO> backflushRecordDetailbDOList = new ArrayList<>();
// 下线结算集合
List<BackflushRecordDetailbDO> offlinesettlementRecordList = new ArrayList<>();
//库存事务
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>();
for(ProductreceiptRequestDetailDO productreceiptRequestDetailDO: productreceiptRequestDetailDOList){
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("master_id",productreceiptRequestDetailDO.getId().toString());
List<BackflushRequestDetailbDO> backflushRequestDetailbDOList = backflushRequestDetailbMapper.selectList(queryWrapper);
for(BackflushRequestDetailbDO backflushRequestDetailbDO: backflushRequestDetailbDOList ) {
ProductreceiptRecordDetailDO productreceiptRecordDetailDO = productreceiptRecordDetailDOList.stream().filter(item -> item.getItemCode().equals(productreceiptRequestDetailDO.getItemCode())).collect(Collectors.toList()).get(0);
BackflushRecordDetailbDO backflushRecordDetailbDO = new BackflushRecordDetailbDO();
BeanUtils.copyProperties(backflushRequestDetailbDO,backflushRecordDetailbDO);
backflushRecordDetailbDO.setMasterId(productreceiptRecordDetailDO.getId());
backflushRecordDetailbDO.setNumber(productreceiptRecordDetailDO.getNumber());
backflushRecordDetailbDO.setId(null);
backflushRecordDetailbDO.setCreator(null);
backflushRecordDetailbDO.setCreateTime(null);
backflushRecordDetailbDO.setUpdater(null);
backflushRecordDetailbDO.setUpdateTime(null);
// from_location_code 工位表中原料库位
// 根据 生产线 工位 查询工位信息 并赋值 from_location_code
WorkstationDO workstationDO = workstationService.selectWorkstationExist(productreceiptRecordDetailDO.getWorkStationCode(),productreceiptRecordMainDO.getWorkshopCode(),productreceiptRecordDetailDO.getProductionlineCode());
backflushRecordDetailbDO.setFromLocationCode(workstationDO.getRawLocationCode());
// 根据 from_location_code 查询库存余额
// TODO: 如果按批次 查询批次获取库存余额 排序批次 如果第一条批次不够数量 需要扣除第二条余额 库存事务出的动作要存2条
List<String> inventoryStatus = new ArrayList<>();
inventoryStatus.add("OK");
List<BalanceDO> balanceDOList = balanceService.selectByNumber(backflushRequestDetailbDO.getItemCode(),inventoryStatus,workstationDO.getRawLocationCode());
backflushRecordDetailbDO.setPackingNumber(balanceDOList.get(0).getPackingNumber());
backflushRecordDetailbDO.setBatch(balanceDOList.get(0).getBatch());
backflushRecordDetailbDO.setInventoryStatus("OK");
backflushRecordDetailbDO.setFromAreaCode(balanceDOList.get(0).getAreaCode());
backflushRecordDetailbDO.setFromLocationGroupCode(balanceDOList.get(0).getLocationGroupCode());
// 消耗数量 = 成品数量 * bom数量
BigDecimal qty = productreceiptRecordDetailDO.getQty().multiply(backflushRecordDetailbDO.getQty());
backflushRecordDetailbDO.setQty(qty);
backflushRecordDetailbDOList.add(backflushRecordDetailbDO);
//查询库存余额
BalanceDO balanceDO = balanceMapper.getBalanceQty(productreceiptRecordDetailDO.getPackingNumber(), productreceiptRecordDetailDO.getItemCode(), productreceiptRecordDetailDO.getBatch(), productreceiptRecordDetailDO.getInventoryStatus(), productreceiptRecordDetailDO.getToLocationCode());
if (balanceDO == null) {
throw exception(BALANCE_NOT_EXISTS);
}
//添加库存事务list
// 出动作
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(backflushRecordDetailbDO, transactionCreateReqVO);
BusinesstypeDO businesstypeDO = businesstypeService.selectBusinesstypeExist(productreceiptRecordMainDO.getBusinessType());
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType());
transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId()));
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction());
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode());
transactionCreateReqVO.setBusinessType(businesstypeDO.getCode());
transactionCreateReqVO.setOwnerCode("");
transactionCreateReqVO.setRecordNumber(backflushRecordDetailbDO.getNumber());
transactionCreateReqVO.setId(null);
transactionCreateReqVO.setPackingNumber(backflushRecordDetailbDO.getPackingNumber());
transactionCreateReqVO.setBatch(backflushRecordDetailbDO.getBatch());
transactionCreateReqVO.setContainerNumber("");
transactionCreateReqVO.setSinglePrice(balanceDO.getSinglePrice());
transactionCreateReqVO.setAmount(balanceDO.getAmount());
transactionCreateReqVO.setArriveDate(balanceDO.getArriveDate());
transactionCreateReqVO.setProduceDate(balanceDO.getProduceDate());
transactionCreateReqVO.setExpireDate(balanceDO.getExpireDate());
transactionCreateReqVO.setWarehouseCode("");
transactionCreateReqVO.setLocationCode(backflushRecordDetailbDO.getFromLocationCode());
transactionCreateReqVO.setQty(qty);
transactionCreateReqVOList.add(transactionCreateReqVO);
// 判断 物品 是否为 下线结算物品 创建 下线结算记录
if (itembasicService.isOfflines(backflushRecordDetailbDO.getItemCode())) {
offlinesettlementRecordList.add(backflushRecordDetailbDO);
}
}
}
backflushRecordDetailbMapper.insertBatch(backflushRecordDetailbDOList);
//增加库存事务
transactionService.createTransaction(transactionCreateReqVOList);
// 创建 下线结算记录
if (offlinesettlementRecordList != null && offlinesettlementRecordList.size() > 0) {
generateOfflinesettlementRecord(productreceiptRecordMainDO, offlinesettlementRecordList);
}
}
/**
* 创建 下线结算 记录
* @param productreceiptRecordMainDO
* @param offlinesettlementRecordList
*/
private void generateOfflinesettlementRecord(ProductreceiptRecordMainDO productreceiptRecordMainDO, List<BackflushRecordDetailbDO> offlinesettlementRecordList) {
OfflinesettlementRecordMainDO offlinesettlementRecordMainDO = new OfflinesettlementRecordMainDO();
BeanUtils.copyProperties(productreceiptRecordMainDO,offlinesettlementRecordMainDO);
String number = serialNumberApi.generateCode(RuleCodeEnum.OFFLINE_SETTLEMENT_RECORD.getCode());
offlinesettlementRecordMainDO.setNumber(number);
offlinesettlementRecordMainDO.setProductReceiptRecordNumber(productreceiptRecordMainDO.getNumber());
offlinesettlementRecordMainDO.setBusinessType("");
offlinesettlementRecordMainDO.setInTransactionType("");
offlinesettlementRecordMainDO.setOutTransactionType("");
offlinesettlementRecordMainDO.setId(null);
offlinesettlementRecordMainDO.setCreator(null);
offlinesettlementRecordMainDO.setCreateTime(null);
offlinesettlementRecordMainDO.setUpdater(null);
offlinesettlementRecordMainDO.setUpdateTime(null);
offlinesettlementRecordMainMapper.insert(offlinesettlementRecordMainDO);
//上线结算记录子 集合
List<OfflinesettlementRecordDetailDO> offlinesettlementRecordDetailDOList = new ArrayList<>();
for(BackflushRecordDetailbDO backflushRecordDetailbDO : offlinesettlementRecordList ) {
OfflinesettlementRecordDetailDO offlinesettlementRecordDetailDO = new OfflinesettlementRecordDetailDO();
BeanUtils.copyProperties(backflushRecordDetailbDO,offlinesettlementRecordDetailDO);
offlinesettlementRecordDetailDO.setLocationCode(backflushRecordDetailbDO.getFromLocationCode());
offlinesettlementRecordDetailDO.setLocationGroupCode(backflushRecordDetailbDO.getFromLocationGroupCode());
offlinesettlementRecordDetailDO.setAreaCode(backflushRecordDetailbDO.getFromAreaCode());
offlinesettlementRecordDetailDO.setMasterId(offlinesettlementRecordMainDO.getId());
offlinesettlementRecordDetailDO.setId(null);
offlinesettlementRecordDetailDO.setCreator(null);
offlinesettlementRecordDetailDO.setCreateTime(null);
offlinesettlementRecordDetailDO.setUpdater(null);
offlinesettlementRecordDetailDO.setUpdateTime(null);
offlinesettlementRecordDetailDOList.add(offlinesettlementRecordDetailDO);
}
if(offlinesettlementRecordDetailDOList != null && offlinesettlementRecordDetailDOList.size() > 0) {
offlinesettlementRecordDetailMapper.insertBatch(offlinesettlementRecordDetailDOList);
}
}
@Override
public void updateProductreceiptRecordMain(ProductreceiptRecordMainUpdateReqVO updateReqVO) {
// 校验存在

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptRequest/ProductreceiptRequestDetailServiceImpl.java

@ -1,6 +1,7 @@
package com.win.module.wms.service.productreceiptRequest;
import cn.hutool.core.exceptions.UtilException;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productreceiptRequest.vo.ProductreceiptRequestDetailCreateReqVO;
@ -172,4 +173,5 @@ public class ProductreceiptRequestDetailServiceImpl implements ProductreceiptReq
updateObj.setPackingNumber(packingNumber);
productreceiptRequestDetailMapper.updateById(updateObj);
}
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptRequest/ProductreceiptRequestMainService.java

@ -84,8 +84,6 @@ public interface ProductreceiptRequestMainService {
List<ProductreceiptRequestImportErrorVO> importProductreceiptRequestList(List<ProductreceiptRequestMainCreateReqVO> createReqVOList, Integer mode, Boolean updatePart);
List<ProductreceiptRequestDetailDO> getProductreceiptRequestDetailDOByNumber(String requestNumber);
void generateBackflushRequest(ProductreceiptRequestDetailDO detailbDO);
Integer closeProductreceiptRequestMain(Long id);

55
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptRequest/ProductreceiptRequestMainServiceImpl.java

@ -3,14 +3,11 @@ package com.win.module.wms.service.productreceiptRequest;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.exceptions.UtilException;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.util.validation.ValidationUtils;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.dict.DictDataApi;
@ -18,17 +15,15 @@ import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.expectin.vo.ExpectinCreateReqVO;
import com.win.module.wms.controller.productreceiptRecord.vo.ProductreceiptRecordDetailCreateReqVO;
import com.win.module.wms.controller.productreceiptRecord.vo.ProductreceiptRecordMainCreateReqVO;
import com.win.module.wms.controller.productreceiptRequest.vo.*;
import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.convert.productreceiptRecord.ProductreceiptRecordDetailConvert;
import com.win.module.wms.convert.productreceiptRecord.ProductreceiptRecordMainConvert;
import com.win.module.wms.convert.productreceiptRequest.ProductreceiptRequestDetailConvert;
import com.win.module.wms.convert.productreceiptRequest.ProductreceiptRequestMainConvert;
import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO;
import com.win.module.wms.dal.dataobject.backflushRequest.BackflushRequestDetailbDO;
import com.win.module.wms.dal.dataobject.bom.BomDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.issueJob.IssueJobDetailDO;
import com.win.module.wms.dal.dataobject.issueJob.IssueJobMainDO;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestMainDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.itempackaging.ItempackagingDO;
import com.win.module.wms.dal.dataobject.jobsetting.JobsettingDO;
@ -37,7 +32,6 @@ import com.win.module.wms.dal.dataobject.productreceiptJob.ProductreceiptJobDeta
import com.win.module.wms.dal.dataobject.productreceiptJob.ProductreceiptJobMainDO;
import com.win.module.wms.dal.dataobject.productreceiptRequest.ProductreceiptRequestDetailDO;
import com.win.module.wms.dal.dataobject.productreceiptRequest.ProductreceiptRequestMainDO;
import com.win.module.wms.dal.dataobject.purchasereceiptJob.PurchasereceiptJobMainDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.dataobject.workstation.WorkstationDO;
import com.win.module.wms.dal.mysql.backflushRequest.BackflushRequestDetailbMapper;
@ -45,8 +39,6 @@ import com.win.module.wms.dal.mysql.productreceiptJob.ProductreceiptJobDetailMap
import com.win.module.wms.dal.mysql.productreceiptJob.ProductreceiptJobMainMapper;
import com.win.module.wms.dal.mysql.productreceiptRequest.ProductreceiptRequestDetailMapper;
import com.win.module.wms.dal.mysql.productreceiptRequest.ProductreceiptRequestMainMapper;
import com.win.module.wms.dal.mysql.purchasereceiptJob.PurchasereceiptJobMainMapper;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.enums.job.JobStatusEnum;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.enums.request.RequestStatusState;
@ -58,6 +50,7 @@ import com.win.module.wms.service.itempackaging.ItempackagingService;
import com.win.module.wms.service.jobsetting.JobsettingService;
import com.win.module.wms.service.productionline.ProductionlineService;
import com.win.module.wms.service.productionlineitem.ProductionlineitemService;
import com.win.module.wms.service.productreceiptRecord.ProductreceiptRecordMainService;
import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.service.shift.ShiftService;
import com.win.module.wms.service.team.TeamService;
@ -91,6 +84,8 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*;
@Validated
public class ProductreceiptRequestMainServiceImpl implements ProductreceiptRequestMainService {
@Resource
private ProductreceiptRecordMainService productreceiptRecordMainService;
@Resource
private ProductreceiptJobDetailMapper productreceiptJobDetailMapper;
@Resource
@ -228,7 +223,7 @@ public class ProductreceiptRequestMainServiceImpl implements ProductreceiptReque
mainDo.setAutoCommit(requestsettingDO.getAutoCommit());
mainDo.setAutoExecute(requestsettingDO.getAutoExecute());
mainDo.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
RequestStatusState requestStatusState = new RequestStatusState();
RequestStatusState requestStatusState = new RequestStatusState(mainDo.getStatus());
requestStatusState.newObject(requestsettingDO.getAutoCommit(), requestsettingDO.getAutoAgree(), requestsettingDO.getAutoExecute());
mainDo.setStatus(requestStatusState.getState().getCode());
}
@ -360,7 +355,7 @@ public class ProductreceiptRequestMainServiceImpl implements ProductreceiptReque
mainDo.setAutoCommit(requestsettingDO.getAutoCommit());
mainDo.setAutoExecute(requestsettingDO.getAutoExecute());
mainDo.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
RequestStatusState requestStatusState = new RequestStatusState();
RequestStatusState requestStatusState = new RequestStatusState(mainDo.getStatus());
requestStatusState.newObject(requestsettingDO.getAutoCommit(), requestsettingDO.getAutoAgree(), requestsettingDO.getAutoExecute());
mainDo.setStatus(requestStatusState.getState().getCode());
}
@ -504,13 +499,6 @@ public class ProductreceiptRequestMainServiceImpl implements ProductreceiptReque
return errorList;
}
@Override
public List<ProductreceiptRequestDetailDO> getProductreceiptRequestDetailDOByNumber(String requestNumber) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("number", requestNumber);
return productreceiptRequestDetailMapper.selectList(queryWrapper);
}
/**
* 创建 制品收货申请第二子表bom相关
* @param detailbDO
@ -677,23 +665,14 @@ public class ProductreceiptRequestMainServiceImpl implements ProductreceiptReque
private void generateJob(ProductreceiptRequestMainDO mainDO, List<ProductreceiptRequestDetailDO> detailDOList) {
//跳过任务直接生成记录
if("TRUE".equals(mainDO.getDirectCreateRecord())) {
// TODO: 制品收货申请 跳过任务直接生成记录 未做!!
// PurchasereceiptRecordMainCreateReqVO purchasereceiptRecordMainCreateReqVO = new PurchasereceiptRecordMainCreateReqVO();
// BeanUtils.copyProperties(mainDO, purchasereceiptRecordMainCreateReqVO);
// purchasereceiptRecordMainCreateReqVO.setRequestNumber(mainDO.getNumber());
// String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_RECORD.getCode());
// purchasereceiptRecordMainCreateReqVO.setNumber(number);
// //增加业务类型
// BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReceiptRecord");
// purchasereceiptRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode());
// purchasereceiptRecordMainMapper.insert(PurchasereceiptRecordMainConvert.INSTANCE.convert(purchasereceiptRecordMainCreateReqVO));
// for(PurchasereceiptRequestDetailDO purchasereceiptRequestDetailDO : detailDOList) {
// PurchasereceiptRecordDetailCreateReqVO purchasereceiptRecordDetailCreateReqVO = new PurchasereceiptRecordDetailCreateReqVO();
// BeanUtils.copyProperties(purchasereceiptRequestDetailDO, purchasereceiptRecordDetailCreateReqVO);
// purchasereceiptRecordDetailCreateReqVO.setNumber(number);
// purchasereceiptRecordDetailMapper.insert(PurchasereceiptRecordDetailConvert.INSTANCE.convert(purchasereceiptRecordDetailCreateReqVO));
// }
// return;
ProductreceiptRecordMainCreateReqVO createReqVO = ProductreceiptRecordMainConvert.INSTANCE.convert(mainDO);
List<ProductreceiptRecordDetailCreateReqVO> productreceiptRecordDetailCreateReqVOList = ProductreceiptRecordDetailConvert.INSTANCE.convert(detailDOList);
createReqVO.setSubList(productreceiptRecordDetailCreateReqVOList);
productreceiptRecordMainService.createProductreceiptRecordMain(createReqVO);
// 更新申请状态为已完成
mainDO.setStatus(RequestStatusEnum.COMPLETED.getCode());
productreceiptRequestMainMapper.updateById(mainDO);
return;
}
// 任务主表信息
ProductreceiptJobMainDO productreceiptJobMainDO = new ProductreceiptJobMainDO();

16
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/repleinshJob/RepleinshJobMainServiceImpl.java

@ -11,24 +11,30 @@ import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.repleinshJob.vo.*;
import com.win.module.wms.controller.repleinshRequest.vo.RepleinshRequestMainUpdateReqVO;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.convert.repleinshJob.RepleinshJobMainConvert;
import com.win.module.wms.convert.repleinshRequest.RepleinshRequestMainConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.location.LocationDO;
import com.win.module.wms.dal.dataobject.repleinshJob.RepleinshJobDetailDO;
import com.win.module.wms.dal.dataobject.repleinshJob.RepleinshJobMainDO;
import com.win.module.wms.dal.dataobject.repleinshRecord.RepleinshRecordDetailDO;
import com.win.module.wms.dal.dataobject.repleinshRecord.RepleinshRecordMainDO;
import com.win.module.wms.dal.dataobject.repleinshRequest.RepleinshRequestMainDO;
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
import com.win.module.wms.dal.mysql.repleinshJob.RepleinshJobMainMapper;
import com.win.module.wms.dal.mysql.repleinshRecord.RepleinshRecordDetailMapper;
import com.win.module.wms.dal.mysql.repleinshRecord.RepleinshRecordMainMapper;
import com.win.module.wms.dal.mysql.repleinshRequest.RepleinshRequestMainMapper;
import com.win.module.wms.enums.job.JobStatusEnum;
import com.win.module.wms.enums.job.JobStatusState;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.service.expectin.ExpectinService;
import com.win.module.wms.service.expectout.ExpectoutService;
import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.service.recordsetting.RecordsettingService;
import com.win.module.wms.service.repleinshRequest.RepleinshRequestMainService;
import com.win.module.wms.service.transaction.TransactionService;
import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils;
@ -55,6 +61,10 @@ import static com.win.module.wms.enums.ErrorCodeConstants.REPLEINSH_JOB_MAIN_STA
@Validated
public class RepleinshJobMainServiceImpl implements RepleinshJobMainService {
@Resource
private RepleinshRequestMainService repleinshRequestMainService;
@Resource
private RepleinshRequestMainMapper repleinshRequestMainMapper;
@Resource
private ExpectinService expectinService;
@Resource
@ -363,6 +373,12 @@ public class RepleinshJobMainServiceImpl implements RepleinshJobMainService {
expectinService.deleteExpectinByJobNumber(repleinshRecordMainDO.getNumber());
//移除预计出
expectoutService.deleteExpectoutByJobNumber(repleinshRecordMainDO.getNumber());
// 更新申请状态为已完成
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("number", repleinshJobMainDO.getRequestNumber());
RepleinshRequestMainDO repleinshRequestMainDO = repleinshRequestMainMapper.selectOne(queryWrapper);
repleinshRequestMainDO.setStatus(RequestStatusEnum.COMPLETED.getCode());
repleinshRequestMainMapper.updateById(repleinshRequestMainDO);
//变更记录
trendsApi.createTrends(repleinshRecordMainDO.getId(), "repleinshJob", "执行了补料任务", TrendsTypeEnum.UPDATE);
return number;

27
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/repleinshRequest/RepleinshRequestMainServiceImpl.java

@ -12,7 +12,17 @@ import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.expectin.vo.ExpectinCreateReqVO;
import com.win.module.wms.controller.expectout.vo.ExpectoutCreateReqVO;
import com.win.module.wms.controller.issueRecord.vo.IssueRecordDetailCreateReqVO;
import com.win.module.wms.controller.issueRecord.vo.IssueRecordMainCreateReqVO;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainUpdateReqVO;
import com.win.module.wms.controller.repleinshRecord.vo.RepleinshRecordDetailCreateReqVO;
import com.win.module.wms.controller.repleinshRecord.vo.RepleinshRecordMainCreateReqVO;
import com.win.module.wms.controller.repleinshRequest.vo.*;
import com.win.module.wms.convert.issueRecord.IssueRecordDetailConvert;
import com.win.module.wms.convert.issueRecord.IssueRecordMainConvert;
import com.win.module.wms.convert.issueRequest.IssueRequestMainConvert;
import com.win.module.wms.convert.repleinshRecord.RepleinshRecordDetailConvert;
import com.win.module.wms.convert.repleinshRecord.RepleinshRecordMainConvert;
import com.win.module.wms.convert.repleinshRequest.RepleinshRequestDetailConvert;
import com.win.module.wms.convert.repleinshRequest.RepleinshRequestMainConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
@ -41,6 +51,7 @@ import com.win.module.wms.service.expectout.ExpectoutService;
import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.itempackaging.ItempackagingService;
import com.win.module.wms.service.jobsetting.JobsettingService;
import com.win.module.wms.service.repleinshRecord.RepleinshRecordMainService;
import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.service.shift.ShiftService;
import com.win.module.wms.service.supplieritem.SupplieritemService;
@ -67,6 +78,9 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*;
@Service
@Validated
public class RepleinshRequestMainServiceImpl implements RepleinshRequestMainService {
@Resource
private RepleinshRecordMainService repleinshRecordMainService;
@Resource
private ExpectoutService expectoutService;
@Resource
@ -117,7 +131,7 @@ public class RepleinshRequestMainServiceImpl implements RepleinshRequestMainServ
String number = serialNumberApi.generateCode(RuleCodeEnum.REPLEINMENT_REQUEST.getCode());
mainDO.setNumber(number);
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("RepleinmentRequest");
RequestStatusState requestStatusState = new RequestStatusState();
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
requestStatusState.newObject(requestsettingDO.getAutoCommit(), requestsettingDO.getAutoAgree(), requestsettingDO.getAutoExecute());
mainDO.setStatus(requestStatusState.getState().getCode());
mainDO.setAutoCommit(requestsettingDO.getAutoCommit());
@ -239,7 +253,7 @@ public class RepleinshRequestMainServiceImpl implements RepleinshRequestMainServ
String number = serialNumberApi.generateCode(RuleCodeEnum.REPLEINMENT_REQUEST.getCode());
mainDO.setNumber(number);
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("RepleinmentRequest");
RequestStatusState requestStatusState = new RequestStatusState();
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
requestStatusState.newObject(requestsettingDO.getAutoCommit(), requestsettingDO.getAutoAgree(), requestsettingDO.getAutoExecute());
mainDO.setStatus(requestStatusState.getState().getCode());
mainDO.setAutoCommit(requestsettingDO.getAutoCommit());
@ -497,7 +511,14 @@ public class RepleinshRequestMainServiceImpl implements RepleinshRequestMainServ
private void generateJob(RepleinshRequestMainDO mainDO, List<RepleinshRequestDetailDO> detailDO) {
//跳过任务直接生成记录
if("TRUE".equals(mainDO.getDirectCreateRecord())) {
// TODO: 发料申请 跳过任务直接生成记录 未做!!
RepleinshRecordMainCreateReqVO createReqVO = RepleinshRecordMainConvert.INSTANCE.convert(mainDO);
List<RepleinshRecordDetailCreateReqVO> repleinshRecordDetailCreateReqVOList = RepleinshRecordDetailConvert.INSTANCE.convert(detailDO);
createReqVO.setSubList(repleinshRecordDetailCreateReqVOList);
repleinshRecordMainService.createRepleinshRecordMain(createReqVO);
// 更新申请状态为已完成
mainDO.setStatus(RequestStatusEnum.COMPLETED.getCode());
repleinshRequestMainMapper.updateById(mainDO);
return;
}
// 根据 子表 toLocationCode 拆分任务
Map<String, List<RepleinshRequestDetailDO>> listMap = new HashMap<>();

Loading…
Cancel
Save