Browse Source

完善采购收货任务执行。

master
刘忱 2 years ago
parent
commit
664e13d719
  1. 40
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptJob/PurchasereceiptJobMainController.java
  2. 13
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusState.java
  3. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java
  4. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainService.java
  5. 166
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java
  6. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java

40
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptJob/PurchasereceiptJobMainController.java

@ -58,7 +58,7 @@ public class PurchasereceiptJobMainController {
public CommonResult<PageResult<PurchasereceiptJobMainRespVO>> getPurchasereceiptJobMainPage(@Valid PurchasereceiptJobMainPageReqVO pageVO) { public CommonResult<PageResult<PurchasereceiptJobMainRespVO>> getPurchasereceiptJobMainPage(@Valid PurchasereceiptJobMainPageReqVO pageVO) {
PageResult<PurchasereceiptJobMainDO> pageResult = purchasereceiptJobMainService.getPurchasereceiptJobMainPage(pageVO); PageResult<PurchasereceiptJobMainDO> pageResult = purchasereceiptJobMainService.getPurchasereceiptJobMainPage(pageVO);
PageResult<PurchasereceiptJobMainRespVO> pageResult1 = PurchasereceiptJobMainConvert.INSTANCE.convertPage(pageResult); PageResult<PurchasereceiptJobMainRespVO> pageResult1 = PurchasereceiptJobMainConvert.INSTANCE.convertPage(pageResult);
for(PurchasereceiptJobMainRespVO vo : pageResult1.getList()) { for (PurchasereceiptJobMainRespVO vo : pageResult1.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段 //后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname()); vo.setCreator(user.getNickname());
@ -72,7 +72,7 @@ public class PurchasereceiptJobMainController {
public CommonResult<PageResult<PurchasereceiptJobMainRespVO>> getPurchasereceiptJobMainSenior(@Valid @RequestBody CustomConditions conditions) { public CommonResult<PageResult<PurchasereceiptJobMainRespVO>> getPurchasereceiptJobMainSenior(@Valid @RequestBody CustomConditions conditions) {
PageResult<PurchasereceiptJobMainDO> pageResult = purchasereceiptJobMainService.getPurchasereceiptJobMainSenior(conditions); PageResult<PurchasereceiptJobMainDO> pageResult = purchasereceiptJobMainService.getPurchasereceiptJobMainSenior(conditions);
PageResult<PurchasereceiptJobMainRespVO> result = PurchasereceiptJobMainConvert.INSTANCE.convertPage(pageResult); PageResult<PurchasereceiptJobMainRespVO> result = PurchasereceiptJobMainConvert.INSTANCE.convertPage(pageResult);
for(PurchasereceiptJobMainRespVO vo : result.getList()) { for (PurchasereceiptJobMainRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段 //后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname()); vo.setCreator(user.getNickname());
@ -130,9 +130,9 @@ public class PurchasereceiptJobMainController {
mapDropDown.put(62, uom); mapDropDown.put(62, uom);
List<PurchasereceiptJobMainExcelVO> resultList = new ArrayList<>(); List<PurchasereceiptJobMainExcelVO> resultList = new ArrayList<>();
// 导出 // 导出
for(PurchasereceiptJobMainDO mainDO : list) { for (PurchasereceiptJobMainDO mainDO : list) {
List<PurchasereceiptJobDetailDO> subList = purchasereceiptJobDetailService.selectList(mainDO.getId()); List<PurchasereceiptJobDetailDO> subList = purchasereceiptJobDetailService.selectList(mainDO.getId());
for(PurchasereceiptJobDetailDO detailDO : subList) { for (PurchasereceiptJobDetailDO detailDO : subList) {
PurchasereceiptJobMainExcelVO vo = PurchasereceiptJobMainConvert.INSTANCE.convert(mainDO, detailDO); PurchasereceiptJobMainExcelVO vo = PurchasereceiptJobMainConvert.INSTANCE.convert(mainDO, detailDO);
resultList.add(vo); resultList.add(vo);
} }
@ -147,9 +147,9 @@ public class PurchasereceiptJobMainController {
public CommonResult<PurchasereceiptJobMainRespVO> getPurchasereceiptJobyId(@RequestParam("id") Long id) { public CommonResult<PurchasereceiptJobMainRespVO> getPurchasereceiptJobyId(@RequestParam("id") Long id) {
PurchasereceiptJobMainDO purchasereceiptJobMain = purchasereceiptJobMainService.getPurchasereceiptJobMain(id); PurchasereceiptJobMainDO purchasereceiptJobMain = purchasereceiptJobMainService.getPurchasereceiptJobMain(id);
PurchasereceiptJobMainRespVO result = PurchasereceiptJobMainConvert.INSTANCE.convert(purchasereceiptJobMain); PurchasereceiptJobMainRespVO result = PurchasereceiptJobMainConvert.INSTANCE.convert(purchasereceiptJobMain);
if(result==null) { if (result == null) {
return success(result); return success(result);
}; }
List<PurchasereceiptJobDetailDO> purchasereceiptJobDetailList = purchasereceiptJobDetailService.selectList(result.getId()); List<PurchasereceiptJobDetailDO> purchasereceiptJobDetailList = purchasereceiptJobDetailService.selectList(result.getId());
List<PurchasereceiptJobDetailExcelVO> purchasereceiptJobDetailExcelVOS = PurchasereceiptJobDetailConvert.INSTANCE.convertList02(purchasereceiptJobDetailList); List<PurchasereceiptJobDetailExcelVO> purchasereceiptJobDetailExcelVOS = PurchasereceiptJobDetailConvert.INSTANCE.convertList02(purchasereceiptJobDetailList);
result.setSubList(purchasereceiptJobDetailExcelVOS); result.setSubList(purchasereceiptJobDetailExcelVOS);
@ -160,30 +160,38 @@ public class PurchasereceiptJobMainController {
@Operation(summary = "APP获得采购收货任务数量根据任务状态") @Operation(summary = "APP获得采购收货任务数量根据任务状态")
@Parameter(name = "types", description = "类型数组", required = false, example = "\"types\":[\"1\",\"2\"]") @Parameter(name = "types", description = "类型数组", required = false, example = "\"types\":[\"1\",\"2\"]")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-job-main:query')") @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-job-main:query')")
public CommonResult<Map<String,Integer>> getCountByStatus(@RequestBody Map<String, List<String>> map) { public CommonResult<Map<String, Integer>> getCountByStatus(@RequestBody Map<String, List<String>> map) {
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
if(map==null||map.get("types")==null|| StringUtil.isEmpty(map.get("types").toString())){ if (map == null || map.get("types") == null || StringUtil.isEmpty(map.get("types").toString())) {
list.add("1");//默认不传为执行中的 list.add("1");//默认不传为执行中的
}else{ } else {
list = map.get("types"); list = map.get("types");
} }
Map<String, Integer> countByStatus = purchasereceiptJobMainService.getCountByStatus(list); Map<String, Integer> countByStatus = purchasereceiptJobMainService.getCountByStatus(list);
return success(countByStatus); return success(countByStatus);
} }
@GetMapping(value = "/accept")
@Operation(summary = "承接任务") @Operation(summary = "承接任务")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-job-main:accept')") @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-job-main:accept')")
@PostMapping(value = "/accept/{id}") public CommonResult<Boolean> acceptPurchasereceiptJobMain(@RequestParam("id") Long id) {
public CommonResult<Boolean> acceptPurchasereceiptJobMain(@PathVariable("id") Long id) {
int result = purchasereceiptJobMainService.acceptPurchasereceiptJobMain(id); int result = purchasereceiptJobMainService.acceptPurchasereceiptJobMain(id);
return success(result > 0); return success(result > 0);
} }
@Operation(summary = "取消承接任务") @GetMapping(value = "/abandon")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-job-main:cancel-accept')") @Operation(summary = "放弃任务")
@PostMapping(value = "/cancelAccept/{id}") @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-job-main:abandon')")
public CommonResult<Boolean> cancelAcceptPurchasereceiptJobMain(@PathVariable("id") Long id) { public CommonResult<Boolean> abandonPurchasereceiptJobMain(@RequestParam("id") Long id) {
int result = purchasereceiptJobMainService.cancelAcceptPurchasereceiptJobMain(id); int result = purchasereceiptJobMainService.abandonPurchasereceiptJobMain(id);
return success(result > 0);
}
@GetMapping(value = "/close")
@Operation(summary = "关闭任务")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-job-main:close')")
public CommonResult<Boolean> closePurchasereceiptJobMain(@RequestParam("id") Long id) {
int result = purchasereceiptJobMainService.closePurchasereceiptJobMain(id);
return success(result > 0); return success(result > 0);
} }

13
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusState.java

@ -59,6 +59,19 @@ public class JobStatusState {
} }
} }
/**
* 关闭
* @return
*/
public boolean close() {
if(this.jobStatusEnum.getCode().equals(JobStatusEnum.PENDING.getCode())) {
this.jobStatusEnum = JobStatusEnum.CLOSED;
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
}
/** /**
* 执行 * 执行
* @return * @return

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java

@ -384,6 +384,9 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
ExpectoutCreateReqVO expectoutCreateReqVO = new ExpectoutCreateReqVO(); ExpectoutCreateReqVO expectoutCreateReqVO = new ExpectoutCreateReqVO();
BeanUtils.copyProperties(inspectJobDetailDO, expectoutCreateReqVO); BeanUtils.copyProperties(inspectJobDetailDO, expectoutCreateReqVO);
expectoutCreateReqVO.setJobNumber(number); expectoutCreateReqVO.setJobNumber(number);
expectoutCreateReqVO.setBusinessType(inspectJobMainDO.getBusinessType());
expectoutCreateReqVO.setLocationCode(inspectJobDetailDO.getFromLocationCode());
expectoutCreateReqVO.setOwnerCode(mainDO.getOwnerCode());
expectoutCreateReqVOList.add(expectoutCreateReqVO); expectoutCreateReqVOList.add(expectoutCreateReqVO);
} }
inspectJobDetailMapper.insertBatch(inspectJobDetailDOList); inspectJobDetailMapper.insertBatch(inspectJobDetailDOList);

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainService.java

@ -99,7 +99,14 @@ public interface PurchasereceiptJobMainService {
* @param id * @param id
* @return * @return
*/ */
Integer cancelAcceptPurchasereceiptJobMain(Long id); Integer abandonPurchasereceiptJobMain(Long id);
/**
* 关闭任务
* @param id
* @return
*/
Integer closePurchasereceiptJobMain(Long id);
/** /**
* 执行任务 * 执行任务

166
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java

@ -41,6 +41,7 @@ import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.service.documentSwitch.SwitchService; import com.win.module.wms.service.documentSwitch.SwitchService;
import com.win.module.wms.service.expectin.ExpectinService; import com.win.module.wms.service.expectin.ExpectinService;
import com.win.module.wms.service.inspectRequest.InspectRequestMainService; import com.win.module.wms.service.inspectRequest.InspectRequestMainService;
import com.win.module.wms.service.purchase.PurchaseMainService;
import com.win.module.wms.service.rule.RuleService; import com.win.module.wms.service.rule.RuleService;
import com.win.module.wms.service.supplierdeliverRecord.SupplierdeliverRecordMainService; import com.win.module.wms.service.supplierdeliverRecord.SupplierdeliverRecordMainService;
import com.win.module.wms.service.transaction.TransactionService; import com.win.module.wms.service.transaction.TransactionService;
@ -99,6 +100,8 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
private RuleService ruleService; private RuleService ruleService;
@Resource @Resource
private ExpectinService expectinService; private ExpectinService expectinService;
@Resource
private PurchaseMainService purchaseMainService;
@Override @Override
public PageResult<PurchasereceiptJobMainDO> getPurchasereceiptJobMainSenior(CustomConditions conditions) { public PageResult<PurchasereceiptJobMainDO> getPurchasereceiptJobMainSenior(CustomConditions conditions) {
@ -185,7 +188,7 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
@Override @Override
@Transactional @Transactional
public Integer cancelAcceptPurchasereceiptJobMain(Long id) { public Integer abandonPurchasereceiptJobMain(Long id) {
PurchasereceiptJobMainDO purchasereceiptJobMainDO = this.validatePurchasereceiptJobMainExists(id); PurchasereceiptJobMainDO purchasereceiptJobMainDO = this.validatePurchasereceiptJobMainExists(id);
JobStatusState jobStatusState = new JobStatusState(purchasereceiptJobMainDO.getStatus()); JobStatusState jobStatusState = new JobStatusState(purchasereceiptJobMainDO.getStatus());
if(!jobStatusState.cancelAccept()) { if(!jobStatusState.cancelAccept()) {
@ -199,6 +202,19 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
return purchasereceiptJobMainMapper.updateById(purchasereceiptJobMainDO); return purchasereceiptJobMainMapper.updateById(purchasereceiptJobMainDO);
} }
@Override
@Transactional
public Integer closePurchasereceiptJobMain(Long id) {
PurchasereceiptJobMainDO purchasereceiptJobMainDO = this.validatePurchasereceiptJobMainExists(id);
JobStatusState jobStatusState = new JobStatusState(purchasereceiptJobMainDO.getStatus());
if(!jobStatusState.close()) {
throw exception(PURCHASERECEIPT_JOB_MAIN_STATUS_ERROR);
}
purchasereceiptJobMainDO.setStatus(jobStatusState.getState().getCode());
trendsApi.createTrends(id, "purchasereceiptJob", "关闭了采购收货任务", TrendsTypeEnum.UPDATE);
return purchasereceiptJobMainMapper.updateById(purchasereceiptJobMainDO);
}
@Override @Override
@Transactional @Transactional
public Integer executePurchasereceiptJobMain(PurchasereceiptJobMainUpdateReqVO purchasereceiptJobMainUpdateReqVO) { public Integer executePurchasereceiptJobMain(PurchasereceiptJobMainUpdateReqVO purchasereceiptJobMainUpdateReqVO) {
@ -226,16 +242,14 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
purchasereceiptRecordMainDO.setNumber(number); purchasereceiptRecordMainDO.setNumber(number);
purchasereceiptRecordMainDO.setJobNumber(purchasereceiptJobMainDO.getNumber()); purchasereceiptRecordMainDO.setJobNumber(purchasereceiptJobMainDO.getNumber());
purchasereceiptRecordMainDO.setId(null); purchasereceiptRecordMainDO.setId(null);
purchasereceiptRecordMainDO.setCreator(null);
purchasereceiptRecordMainDO.setCreateTime(null);
purchasereceiptRecordMainDO.setUpdater(null);
purchasereceiptRecordMainDO.setUpdateTime(null);
purchasereceiptRecordMainMapper.insert(purchasereceiptRecordMainDO); purchasereceiptRecordMainMapper.insert(purchasereceiptRecordMainDO);
//库存事务
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>();
List<PurchasereceiptJobDetailUpdateReqVO> purchasereceiptJobDetailUpdateReqVOList = purchasereceiptJobMainUpdateReqVO.getSubList(); List<PurchasereceiptJobDetailUpdateReqVO> purchasereceiptJobDetailUpdateReqVOList = purchasereceiptJobMainUpdateReqVO.getSubList();
//收货记录子
List<PurchasereceiptRecordDetailDO> purchasereceiptRecordDetailDOList = new ArrayList<>(); List<PurchasereceiptRecordDetailDO> purchasereceiptRecordDetailDOList = new ArrayList<>();
//缺货记录
List<PurchaseshortageDetailDO> purchaseshortageDetailDOList = new ArrayList<>(); List<PurchaseshortageDetailDO> purchaseshortageDetailDOList = new ArrayList<>();
//库存事务
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>();
for(PurchasereceiptJobDetailDO purchasereceiptJobDetailDO : subList) { for(PurchasereceiptJobDetailDO purchasereceiptJobDetailDO : subList) {
boolean isExists = false; boolean isExists = false;
PurchasereceiptJobDetailUpdateReqVO purchasereceiptJobDetailUpdateReqVOTemp = null; PurchasereceiptJobDetailUpdateReqVO purchasereceiptJobDetailUpdateReqVOTemp = null;
@ -258,11 +272,9 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
purchasereceiptRecordDetailDO.setToPackingNumber(purchasereceiptJobDetailUpdateReqVOTemp.getToPackingNumber()); purchasereceiptRecordDetailDO.setToPackingNumber(purchasereceiptJobDetailUpdateReqVOTemp.getToPackingNumber());
purchasereceiptRecordDetailDO.setQty(purchasereceiptJobDetailUpdateReqVOTemp.getHandleQty()); purchasereceiptRecordDetailDO.setQty(purchasereceiptJobDetailUpdateReqVOTemp.getHandleQty());
purchasereceiptRecordDetailDO.setId(null); purchasereceiptRecordDetailDO.setId(null);
purchasereceiptRecordDetailDO.setCreator(null);
purchasereceiptRecordDetailDO.setCreateTime(null);
purchasereceiptRecordDetailDO.setUpdater(null);
purchasereceiptRecordDetailDO.setUpdateTime(null);
purchasereceiptRecordDetailDOList.add(purchasereceiptRecordDetailDO); purchasereceiptRecordDetailDOList.add(purchasereceiptRecordDetailDO);
//更新采购订单明细的收货数量
purchaseMainService.updateOrderPurchaseReceivedQty(purchasereceiptRecordDetailDO.getPoNumber(), purchasereceiptRecordDetailDO.getPoLine(), purchasereceiptRecordDetailDO.getItemCode(), purchasereceiptRecordDetailDO.getQty());
//添加库存事务list //添加库存事务list
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(purchasereceiptRecordDetailDO, transactionCreateReqVO); BeanUtils.copyProperties(purchasereceiptRecordDetailDO, transactionCreateReqVO);
@ -272,9 +284,11 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType());
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction());
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode());
transactionCreateReqVO.setBusinessType(purchasereceiptRecordMainDO.getBusinessType());
transactionCreateReqVO.setLocationCode(purchasereceiptJobDetailDO.getFromLocationCode());
transactionCreateReqVO.setOwnerCode(purchasereceiptRecordDetailDO.getFromOwnerCode());
transactionCreateReqVO.setRecordNumber(number); transactionCreateReqVO.setRecordNumber(number);
transactionCreateReqVO.setId(null); transactionCreateReqVO.setId(null);
//待确定库存事务信息
transactionCreateReqVOList.add(transactionCreateReqVO); transactionCreateReqVOList.add(transactionCreateReqVO);
} else {//生成缺货记录 } else {//生成缺货记录
PurchaseshortageDetailDO purchaseshortageDetailDO = new PurchaseshortageDetailDO(); PurchaseshortageDetailDO purchaseshortageDetailDO = new PurchaseshortageDetailDO();
@ -283,10 +297,6 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
purchaseshortageDetailDO.setNumber(number); purchaseshortageDetailDO.setNumber(number);
purchaseshortageDetailDO.setJobDetailId(String.valueOf(purchasereceiptJobDetailDO.getId())); purchaseshortageDetailDO.setJobDetailId(String.valueOf(purchasereceiptJobDetailDO.getId()));
purchaseshortageDetailDO.setId(null); purchaseshortageDetailDO.setId(null);
purchaseshortageDetailDO.setCreator(null);
purchaseshortageDetailDO.setCreateTime(null);
purchaseshortageDetailDO.setUpdater(null);
purchaseshortageDetailDO.setUpdateTime(null);
purchaseshortageDetailDOList.add(purchaseshortageDetailDO); purchaseshortageDetailDOList.add(purchaseshortageDetailDO);
} }
} }
@ -309,66 +319,78 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
purchasereceiptRequestMainDO.setStatus(RequestStatusEnum.PARTIAL.getCode()); purchasereceiptRequestMainDO.setStatus(RequestStatusEnum.PARTIAL.getCode());
purchasereceiptRequestMainMapper.updateById(purchasereceiptRequestMainDO); purchasereceiptRequestMainMapper.updateById(purchasereceiptRequestMainDO);
} }
SwitchDO switchDO = switchService.selectSwitchExist("CreateInspectRequestAfterPurchaseReceiptRecordCreated"); RuleRespVO ruleRespVO = ruleService.inspect(purchasereceiptRecordMainDO.getSupplierCode(), null);
//需要增加到货检验申请 //上架申请子
if(switchDO.getEffectiveSetValue().equals("TRUE")) { List<InspectRequestDetailCreateReqVO> inspectRequestDetailCreateReqVOList = new ArrayList<>();
RuleRespVO ruleRespVO = ruleService.inspect(purchasereceiptRecordMainDO.getSupplierCode(), null); JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration());
JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration()); SwitchDO switchDO1 = switchService.selectSwitchExist("CreateInspectRequestAfterPurchaseReceiptRecordCreated");
//生成到货检验申请 SwitchDO switchDO2 = switchService.selectSwitchExist("ExemptItemCreatePutawayRequestAfterPurchaseReceiptRecordCreated");
if(!"EXAMPT".equals(String.valueOf(jsonObject.get("InspectType")))) { //采购收货记录 生成后 创建 到货检验申请
//按零件号和批次分组 if(switchDO1.getEffectiveSetValue().equals("TRUE") && !"EXAMPT".equals(String.valueOf(jsonObject.get("InspectType")))) {
Map<String, List<PurchasereceiptRecordDetailDO>> listMap = new HashMap<>(); //按零件号和批次分组
for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : purchasereceiptRecordDetailDOList) { Map<String, List<PurchasereceiptRecordDetailDO>> listMap = new HashMap<>();
String key = purchasereceiptRecordDetailDO.getItemCode() + "_" + purchasereceiptRecordDetailDO.getFromBatch(); for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : purchasereceiptRecordDetailDOList) {
List<PurchasereceiptRecordDetailDO> list = listMap.get(key); //采购收货记录 生成后免检物品 创建 上架申请
if(list == null) { if(switchDO2.getEffectiveSetValue().equals("TRUE")) {
list = new ArrayList<>(); InspectRequestDetailCreateReqVO inspectRequestDetailCreateReqVO = new InspectRequestDetailCreateReqVO();
} BeanUtils.copyProperties(purchasereceiptRecordDetailDO, inspectRequestDetailCreateReqVO);
list.add(purchasereceiptRecordDetailDO); inspectRequestDetailCreateReqVO.setId(null);
listMap.put(key, list); inspectRequestDetailCreateReqVOList.add(inspectRequestDetailCreateReqVO);
} }
//组装到货检验数据 String key = purchasereceiptRecordDetailDO.getItemCode() + "_" + purchasereceiptRecordDetailDO.getFromBatch();
for(String mapKey : listMap.keySet()) { List<PurchasereceiptRecordDetailDO> list = listMap.get(key);
List<PurchasereceiptRecordDetailDO> purchasereceiptRecordDetailDOList1 = listMap.get(mapKey); if(list == null) {
//创建主表信息 list = new ArrayList<>();
PurchasereceiptRecordDetailDO recordDetailDO = purchasereceiptRecordDetailDOList1.get(0);
InspectRequestMainCreateReqVO inspectRequestMainCreateReqVO = new InspectRequestMainCreateReqVO();
String inspectRecordNumber = serialNumberApi.generateCode(RuleCodeEnum.INSPECT_RECORD.getCode());
inspectRequestMainCreateReqVO.setNumber(inspectRecordNumber);
inspectRequestMainCreateReqVO.setPurchaseReceiptRecordNumber(number);
inspectRequestMainCreateReqVO.setSupplierCode(purchasereceiptRecordMainDO.getSupplierCode());
inspectRequestMainCreateReqVO.setItemCode(recordDetailDO.getItemCode());
inspectRequestMainCreateReqVO.setBatch(recordDetailDO.getFromBatch());
inspectRequestMainCreateReqVO.setPoNumber(recordDetailDO.getPoNumber());
inspectRequestMainCreateReqVO.setPoLine(recordDetailDO.getPoLine());
inspectRequestMainCreateReqVO.setUom(recordDetailDO.getUom());
inspectRequestMainCreateReqVO.setReceiveQty(recordDetailDO.getQty());
List<InspectRequestDetailCreateReqVO> inspectRequestDetailCreateReqVOList = new ArrayList<>();
//创建子表信息
for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : purchasereceiptRecordDetailDOList1) {
InspectRequestDetailCreateReqVO inspectRequestDetailCreateReqVO = new InspectRequestDetailCreateReqVO();
inspectRequestDetailCreateReqVO.setPackingNumber(purchasereceiptRecordDetailDO.getFromPackingNumber());
inspectRequestDetailCreateReqVO.setContainerNumber(purchasereceiptRecordDetailDO.getFromContainerNumber());
inspectRequestDetailCreateReqVO.setInventoryStatus(purchasereceiptRecordDetailDO.getInventoryStatus());
inspectRequestDetailCreateReqVO.setFromLocationCode(purchasereceiptRecordDetailDO.getFromLocationCode());
inspectRequestDetailCreateReqVO.setItemCode(purchasereceiptRecordDetailDO.getItemCode());
inspectRequestDetailCreateReqVO.setItemName(purchasereceiptRecordDetailDO.getItemName());
inspectRequestDetailCreateReqVO.setItemDesc1(purchasereceiptRecordDetailDO.getItemDesc1());
inspectRequestDetailCreateReqVO.setItemDesc2(purchasereceiptRecordDetailDO.getItemDesc2());
inspectRequestDetailCreateReqVO.setProjectCode(purchasereceiptRecordDetailDO.getProjectCode());
inspectRequestDetailCreateReqVO.setQty(purchasereceiptRecordDetailDO.getQty());
inspectRequestDetailCreateReqVO.setUom(purchasereceiptRecordDetailDO.getUom());
//合计数量
inspectRequestMainCreateReqVO.setReceiveQty(inspectRequestMainCreateReqVO.getReceiveQty().add(inspectRequestDetailCreateReqVO.getQty()));
inspectRequestDetailCreateReqVOList.add(inspectRequestDetailCreateReqVO);
}
inspectRequestMainCreateReqVO.setSubList(inspectRequestDetailCreateReqVOList);
inspectRequestMainService.createInspectRequestMain(inspectRequestMainCreateReqVO);
} }
} else {//免检,生成上架申请 list.add(purchasereceiptRecordDetailDO);
listMap.put(key, list);
}
//组装到货检验数据
for(String mapKey : listMap.keySet()) {
List<PurchasereceiptRecordDetailDO> purchasereceiptRecordDetailDOList1 = listMap.get(mapKey);
//创建主表信息
PurchasereceiptRecordDetailDO recordDetailDO = purchasereceiptRecordDetailDOList1.get(0);
InspectRequestMainCreateReqVO inspectRequestMainCreateReqVO = new InspectRequestMainCreateReqVO();
String inspectRecordNumber = serialNumberApi.generateCode(RuleCodeEnum.INSPECT_RECORD.getCode());
inspectRequestMainCreateReqVO.setNumber(inspectRecordNumber);
inspectRequestMainCreateReqVO.setPurchaseReceiptRecordNumber(number);
inspectRequestMainCreateReqVO.setSupplierCode(purchasereceiptRecordMainDO.getSupplierCode());
inspectRequestMainCreateReqVO.setItemCode(recordDetailDO.getItemCode());
inspectRequestMainCreateReqVO.setBatch(recordDetailDO.getFromBatch());
inspectRequestMainCreateReqVO.setPoNumber(recordDetailDO.getPoNumber());
inspectRequestMainCreateReqVO.setPoLine(recordDetailDO.getPoLine());
inspectRequestMainCreateReqVO.setUom(recordDetailDO.getUom());
inspectRequestMainCreateReqVO.setReceiveQty(recordDetailDO.getQty());
//创建子表信息
for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : purchasereceiptRecordDetailDOList1) {
InspectRequestDetailCreateReqVO inspectRequestDetailCreateReqVO = new InspectRequestDetailCreateReqVO();
inspectRequestDetailCreateReqVO.setPackingNumber(purchasereceiptRecordDetailDO.getFromPackingNumber());
inspectRequestDetailCreateReqVO.setContainerNumber(purchasereceiptRecordDetailDO.getFromContainerNumber());
inspectRequestDetailCreateReqVO.setInventoryStatus(purchasereceiptRecordDetailDO.getInventoryStatus());
inspectRequestDetailCreateReqVO.setFromLocationCode(purchasereceiptRecordDetailDO.getFromLocationCode());
inspectRequestDetailCreateReqVO.setItemCode(purchasereceiptRecordDetailDO.getItemCode());
inspectRequestDetailCreateReqVO.setItemName(purchasereceiptRecordDetailDO.getItemName());
inspectRequestDetailCreateReqVO.setItemDesc1(purchasereceiptRecordDetailDO.getItemDesc1());
inspectRequestDetailCreateReqVO.setItemDesc2(purchasereceiptRecordDetailDO.getItemDesc2());
inspectRequestDetailCreateReqVO.setProjectCode(purchasereceiptRecordDetailDO.getProjectCode());
inspectRequestDetailCreateReqVO.setQty(purchasereceiptRecordDetailDO.getQty());
inspectRequestDetailCreateReqVO.setUom(purchasereceiptRecordDetailDO.getUom());
//合计数量
inspectRequestMainCreateReqVO.setReceiveQty(inspectRequestMainCreateReqVO.getReceiveQty().add(inspectRequestDetailCreateReqVO.getQty()));
inspectRequestDetailCreateReqVOList.add(inspectRequestDetailCreateReqVO);
}
inspectRequestMainCreateReqVO.setSubList(inspectRequestDetailCreateReqVOList);
inspectRequestMainService.createInspectRequestMain(inspectRequestMainCreateReqVO);
} }
} }
//采购收货记录 生成后免检物品 创建 上架申请
if(switchDO2.getEffectiveSetValue().equals("TRUE") && "EXAMPT".equals(String.valueOf(jsonObject.get("InspectType")))) {
InspectRequestMainCreateReqVO inspectRequestMainCreateReqVO = new InspectRequestMainCreateReqVO();
BeanUtils.copyProperties(purchasereceiptRecordMainDO, inspectRequestMainCreateReqVO);
inspectRequestMainCreateReqVO.setId(null);
inspectRequestMainCreateReqVO.setSubList(inspectRequestDetailCreateReqVOList);
inspectRequestMainService.createInspectRequestMain(inspectRequestMainCreateReqVO);
}
//增加库存事务 //增加库存事务
transactionService.createTransaction(transactionCreateReqVOList); transactionService.createTransaction(transactionCreateReqVOList);
//移除预计入 //移除预计入

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java

@ -526,6 +526,7 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
purchasereceiptJobMainDO.setStatus(JobStatusEnum.PENDING.getCode()); purchasereceiptJobMainDO.setStatus(JobStatusEnum.PENDING.getCode());
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_JOB.getCode()); String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_JOB.getCode());
purchasereceiptJobMainDO.setNumber(number); purchasereceiptJobMainDO.setNumber(number);
purchasereceiptJobMainDO.setId(null);
//增加业务类型 //增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReceiptJob"); BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReceiptJob");
purchasereceiptJobMainDO.setBusinessType(businesstypeDO.getCode()); purchasereceiptJobMainDO.setBusinessType(businesstypeDO.getCode());
@ -535,11 +536,15 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
PurchasereceiptJobDetailDO purchasereceiptJobDetailDO = PurchasereceiptJobDetailConvert.INSTANCE.convert(purchasereceiptJobDetailCreateReqVO); PurchasereceiptJobDetailDO purchasereceiptJobDetailDO = PurchasereceiptJobDetailConvert.INSTANCE.convert(purchasereceiptJobDetailCreateReqVO);
purchasereceiptJobDetailDO.setNumber(number); purchasereceiptJobDetailDO.setNumber(number);
purchasereceiptJobDetailDO.setMasterId(purchasereceiptJobMainDO.getId()); purchasereceiptJobDetailDO.setMasterId(purchasereceiptJobMainDO.getId());
purchasereceiptJobDetailDO.setId(null);
purchasereceiptJobDetailDOList.add(purchasereceiptJobDetailDO); purchasereceiptJobDetailDOList.add(purchasereceiptJobDetailDO);
//预计入 //预计入
ExpectinCreateReqVO expectinCreateReqVO = new ExpectinCreateReqVO(); ExpectinCreateReqVO expectinCreateReqVO = new ExpectinCreateReqVO();
BeanUtils.copyProperties(purchasereceiptJobDetailDO, expectinCreateReqVO); BeanUtils.copyProperties(purchasereceiptJobDetailDO, expectinCreateReqVO);
expectinCreateReqVO.setJobNumber(number); expectinCreateReqVO.setJobNumber(number);
expectinCreateReqVO.setBusinessType(purchasereceiptJobMainDO.getBusinessType());
expectinCreateReqVO.setLocationCode(purchasereceiptJobDetailDO.getFromLocationCode());
expectinCreateReqVO.setOwnerCode(purchasereceiptJobDetailDO.getFromOwnerCode());
expectinCreateReqVOList.add(expectinCreateReqVO); expectinCreateReqVOList.add(expectinCreateReqVO);
} }
purchasereceiptJobDetailMapper.insertBatch(purchasereceiptJobDetailDOList); purchasereceiptJobDetailMapper.insertBatch(purchasereceiptJobDetailDOList);

Loading…
Cancel
Save