|
|
@ -81,41 +81,43 @@ public class InventorymoveRecordMainServiceImpl implements InventorymoveRecordMa |
|
|
|
// 插入
|
|
|
|
InventorymoveRecordMainDO mainDO = InventorymoveRecordMainConvert.INSTANCE.convert(createReqVO); |
|
|
|
List<InventorymoveRecordDetailDO> subDOList = InventorymoveRecordMainConvert.INSTANCE.convertList03(createReqVO.getSubList()); |
|
|
|
if("HoldToOkRecord".equals(mainDO.getBusinessType())){ |
|
|
|
if("HoldToOk".equals(mainDO.getBusinessType())){ |
|
|
|
number = serialNumberApi.generateCode(RuleCodeEnum.HOLD_TO_OK_RECORD.getCode()); |
|
|
|
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("HoldToOkRecord"); |
|
|
|
recordsettingDO = recordsettingService.selectRecordsettingExist("HoldToOkRecord"); |
|
|
|
} else if("OkToHoldRecord".equals(mainDO.getBusinessType())){ |
|
|
|
} else if("OkToHold".equals(mainDO.getBusinessType())){ |
|
|
|
number = serialNumberApi.generateCode(RuleCodeEnum.OK_TO_HOLD_RECORD.getCode()); |
|
|
|
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("OkToHoldRecord"); |
|
|
|
recordsettingDO = recordsettingService.selectRecordsettingExist("OkToHoldRecord"); |
|
|
|
} else if("HoldToScrapRecord".equals(mainDO.getBusinessType())){ |
|
|
|
} else if("HoldToScrap".equals(mainDO.getBusinessType())){ |
|
|
|
number = serialNumberApi.generateCode(RuleCodeEnum.HOLD_TO_SCRAP_RECORD.getCode()); |
|
|
|
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("HoldToScrapRecord"); |
|
|
|
recordsettingDO = recordsettingService.selectRecordsettingExist("HoldToScrapRecord"); |
|
|
|
} else if("ScrapToHoldRecord".equals(mainDO.getBusinessType())){ |
|
|
|
} else if("ScrapToHold".equals(mainDO.getBusinessType())){ |
|
|
|
number = serialNumberApi.generateCode(RuleCodeEnum.SCRAP_TO_HOLD_RECORD.getCode()); |
|
|
|
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ScrapToHoldRecord"); |
|
|
|
recordsettingDO = recordsettingService.selectRecordsettingExist("ScrapToHoldRecord"); |
|
|
|
} else if("OkToScrapRecord".equals(mainDO.getBusinessType())){ |
|
|
|
} else if("OkToScrap".equals(mainDO.getBusinessType())){ |
|
|
|
number = serialNumberApi.generateCode(RuleCodeEnum.OK_TO_SCRAP_RECORD.getCode()); |
|
|
|
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("OkToScrapRecord"); |
|
|
|
recordsettingDO = recordsettingService.selectRecordsettingExist("OkToScrapRecord"); |
|
|
|
}else if("InventoryMoveRecord".equals(mainDO.getBusinessType())){ |
|
|
|
}else if("Move".equals(mainDO.getBusinessType())){ |
|
|
|
number = serialNumberApi.generateCode(RuleCodeEnum.INVENTORY_MOVE_RECORD.getCode()); |
|
|
|
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("InventoryMoveRecord"); |
|
|
|
recordsettingDO = recordsettingService.selectRecordsettingExist("InventoryMoveRecord"); |
|
|
|
recordsettingDO = recordsettingService.selectRecordsettingExist("MoveRecord"); |
|
|
|
} |
|
|
|
mainDO.setNumber(number); |
|
|
|
mainDO.setBusinessType(businesstypeDO.getCode()); |
|
|
|
if(businesstypeDO != null){ |
|
|
|
mainDO.setBusinessType(businesstypeDO.getCode()); |
|
|
|
mainDO.setOutTransactionType(businesstypeDO.getOutTransactionType()); |
|
|
|
mainDO.setInTransactionType(businesstypeDO.getInTransactionType()); |
|
|
|
mainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); |
|
|
|
mainDO.setToLocationTypes(businesstypeDO.getInLocationTypes()); |
|
|
|
mainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); |
|
|
|
mainDO.setToAreaCodes(businesstypeDO.getInAreaCodes()); |
|
|
|
} |
|
|
|
mainDO.setInterfaceType(recordsettingDO.getInterfaceType()); |
|
|
|
mainDO.setCreator(createReqVO.getCreator()); |
|
|
|
mainDO.setOutTransactionType(businesstypeDO.getOutTransactionType()); |
|
|
|
mainDO.setInTransactionType(businesstypeDO.getInTransactionType()); |
|
|
|
mainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); |
|
|
|
mainDO.setToLocationTypes(businesstypeDO.getInLocationTypes()); |
|
|
|
mainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); |
|
|
|
mainDO.setToAreaCodes(businesstypeDO.getInAreaCodes()); |
|
|
|
AdminUserRespDTO user = userApi.getUser(Long.valueOf(createReqVO.getCreator())); |
|
|
|
mainDO.setDepartmentCode(user.getDeptId().toString()); |
|
|
|
mainDO.setExecuteTime(LocalDateTime.now()); |
|
|
@ -145,10 +147,12 @@ public class InventorymoveRecordMainServiceImpl implements InventorymoveRecordMa |
|
|
|
TransactionCreateReqVO transactionCreateReqVOOut = new TransactionCreateReqVO(); |
|
|
|
BeanUtils.copyProperties(detailDO, transactionCreateReqVOOut); |
|
|
|
//增加业务出类型
|
|
|
|
transactionCreateReqVOOut.setBusinessType(businesstypeDO.getCode()); |
|
|
|
TransactiontypeDO transactiontypeDOOut = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType()); |
|
|
|
transactionCreateReqVOOut.setInventoryAction(transactiontypeDOOut.getInventoryAction()); |
|
|
|
transactionCreateReqVOOut.setTransactionType(transactiontypeDOOut.getCode()); |
|
|
|
if(businesstypeDO != null){ |
|
|
|
transactionCreateReqVOOut.setBusinessType(businesstypeDO.getCode()); |
|
|
|
TransactiontypeDO transactiontypeDOOut = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType()); |
|
|
|
transactionCreateReqVOOut.setInventoryAction(transactiontypeDOOut.getInventoryAction()); |
|
|
|
transactionCreateReqVOOut.setTransactionType(transactiontypeDOOut.getCode()); |
|
|
|
} |
|
|
|
transactionCreateReqVOOut.setRecordNumber(number); |
|
|
|
transactionCreateReqVOOut.setInventoryStatus(detailDO.getFromInventoryStatus()); |
|
|
|
transactionCreateReqVOOut.setWorker(String.valueOf(userRespDTO.getId())); |
|
|
@ -159,24 +163,26 @@ public class InventorymoveRecordMainServiceImpl implements InventorymoveRecordMa |
|
|
|
transactionCreateReqVOOut.setAmount(BigDecimal.ZERO); |
|
|
|
transactionCreateReqVOOut.setId(null); |
|
|
|
transactionCreateReqVOList.add(transactionCreateReqVOOut); |
|
|
|
//判断businesstypeDO.getInTransactionType()是否为空,不为空时增加入库存事务
|
|
|
|
if(businesstypeDO.getInTransactionType() != null && !businesstypeDO.getInTransactionType().isEmpty()) { |
|
|
|
//增加业务入类型
|
|
|
|
transactionCreateReqVOIn.setBusinessType(businesstypeDO.getCode()); |
|
|
|
TransactiontypeDO transactiontypeDOIn = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); |
|
|
|
transactionCreateReqVOIn.setInventoryAction(transactiontypeDOIn.getInventoryAction()); |
|
|
|
transactionCreateReqVOIn.setTransactionType(transactiontypeDOIn.getCode()); |
|
|
|
transactionCreateReqVOIn.setWorker(String.valueOf(userRespDTO.getId())); |
|
|
|
transactionCreateReqVOIn.setBatch(detailDO.getToBatch()); |
|
|
|
transactionCreateReqVOIn.setPackingNumber(detailDO.getToPackingNumber()); |
|
|
|
transactionCreateReqVOIn.setInventoryStatus(detailDO.getToInventoryStatus()); |
|
|
|
transactionCreateReqVOIn.setLocationCode(detailDO.getToLocationCode()); |
|
|
|
transactionCreateReqVOIn.setWarehouseCode(mainDO.getToWarehouseCode()); |
|
|
|
transactionCreateReqVOIn.setAmount(BigDecimal.ZERO); |
|
|
|
transactionCreateReqVOIn.setRecordNumber(number); |
|
|
|
transactionCreateReqVOIn.setId(null); |
|
|
|
//待确定库存事务信息
|
|
|
|
transactionCreateReqVOList.add(transactionCreateReqVOIn); |
|
|
|
if(businesstypeDO != null){ |
|
|
|
//判断businesstypeDO.getInTransactionType()是否为空,不为空时增加入库存事务
|
|
|
|
if(businesstypeDO.getInTransactionType() != null && !businesstypeDO.getInTransactionType().isEmpty()) { |
|
|
|
//增加业务入类型
|
|
|
|
transactionCreateReqVOIn.setBusinessType(businesstypeDO.getCode()); |
|
|
|
TransactiontypeDO transactiontypeDOIn = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); |
|
|
|
transactionCreateReqVOIn.setInventoryAction(transactiontypeDOIn.getInventoryAction()); |
|
|
|
transactionCreateReqVOIn.setTransactionType(transactiontypeDOIn.getCode()); |
|
|
|
transactionCreateReqVOIn.setWorker(String.valueOf(userRespDTO.getId())); |
|
|
|
transactionCreateReqVOIn.setBatch(detailDO.getToBatch()); |
|
|
|
transactionCreateReqVOIn.setPackingNumber(detailDO.getToPackingNumber()); |
|
|
|
transactionCreateReqVOIn.setInventoryStatus(detailDO.getToInventoryStatus()); |
|
|
|
transactionCreateReqVOIn.setLocationCode(detailDO.getToLocationCode()); |
|
|
|
transactionCreateReqVOIn.setWarehouseCode(mainDO.getToWarehouseCode()); |
|
|
|
transactionCreateReqVOIn.setAmount(BigDecimal.ZERO); |
|
|
|
transactionCreateReqVOIn.setRecordNumber(number); |
|
|
|
transactionCreateReqVOIn.setId(null); |
|
|
|
//待确定库存事务信息
|
|
|
|
transactionCreateReqVOList.add(transactionCreateReqVOIn); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
inventorymoveRecordDetailMapper.insertBatch(subDOList); |
|
|
|