|
@ -9,13 +9,19 @@ import com.win.module.system.api.serialnumber.SerialNumberApi; |
|
|
import com.win.module.system.api.user.AdminUserApi; |
|
|
import com.win.module.system.api.user.AdminUserApi; |
|
|
import com.win.module.system.api.user.dto.AdminUserRespDTO; |
|
|
import com.win.module.system.api.user.dto.AdminUserRespDTO; |
|
|
import com.win.module.system.enums.serialNumber.RuleCodeEnum; |
|
|
import com.win.module.system.enums.serialNumber.RuleCodeEnum; |
|
|
|
|
|
import com.win.module.wms.controller.customerreceiptRequest.vo.CustomerreceiptRequestDetailCreateReqVO; |
|
|
|
|
|
import com.win.module.wms.controller.customerreceiptRequest.vo.CustomerreceiptRequestDetailRespVO; |
|
|
|
|
|
import com.win.module.wms.controller.customerreceiptRequest.vo.CustomerreceiptRequestMainCreateReqVO; |
|
|
import com.win.module.wms.controller.deliverJob.vo.DeliverJobDetailUpdateReqVO; |
|
|
import com.win.module.wms.controller.deliverJob.vo.DeliverJobDetailUpdateReqVO; |
|
|
import com.win.module.wms.controller.deliverJob.vo.DeliverJobMainUpdateReqVO; |
|
|
import com.win.module.wms.controller.deliverJob.vo.DeliverJobMainUpdateReqVO; |
|
|
import com.win.module.wms.controller.deliverJob.vo.DeliverJobMainCreateReqVO; |
|
|
import com.win.module.wms.controller.deliverJob.vo.DeliverJobMainCreateReqVO; |
|
|
import com.win.module.wms.controller.deliverJob.vo.DeliverJobMainExportReqVO; |
|
|
import com.win.module.wms.controller.deliverJob.vo.DeliverJobMainExportReqVO; |
|
|
import com.win.module.wms.controller.deliverJob.vo.DeliverJobMainPageReqVO; |
|
|
import com.win.module.wms.controller.deliverJob.vo.DeliverJobMainPageReqVO; |
|
|
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; |
|
|
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; |
|
|
|
|
|
import com.win.module.wms.convert.customerreceiptRequest.CustomerreceiptRequestDetailConvert; |
|
|
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; |
|
|
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; |
|
|
|
|
|
import com.win.module.wms.dal.dataobject.customerreceiptRequest.CustomerreceiptRequestDetailDO; |
|
|
|
|
|
import com.win.module.wms.dal.dataobject.customerreceiptRequest.CustomerreceiptRequestMainDO; |
|
|
import com.win.module.wms.dal.dataobject.deliverJob.DeliverJobDetailDO; |
|
|
import com.win.module.wms.dal.dataobject.deliverJob.DeliverJobDetailDO; |
|
|
import com.win.module.wms.dal.dataobject.deliverJob.DeliverJobMainDO; |
|
|
import com.win.module.wms.dal.dataobject.deliverJob.DeliverJobMainDO; |
|
|
import com.win.module.wms.dal.dataobject.deliverRecord.DeliverRecordDetailDO; |
|
|
import com.win.module.wms.dal.dataobject.deliverRecord.DeliverRecordDetailDO; |
|
@ -23,18 +29,22 @@ import com.win.module.wms.dal.dataobject.deliverRecord.DeliverRecordMainDO; |
|
|
import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestMainDO; |
|
|
import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestMainDO; |
|
|
import com.win.module.wms.dal.dataobject.location.LocationDO; |
|
|
import com.win.module.wms.dal.dataobject.location.LocationDO; |
|
|
import com.win.module.wms.dal.dataobject.purchase.PurchaseDetailDO; |
|
|
import com.win.module.wms.dal.dataobject.purchase.PurchaseDetailDO; |
|
|
|
|
|
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; |
|
|
import com.win.module.wms.dal.dataobject.sale.SaleDetailDO; |
|
|
import com.win.module.wms.dal.dataobject.sale.SaleDetailDO; |
|
|
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; |
|
|
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; |
|
|
|
|
|
import com.win.module.wms.dal.mysql.customerreceiptRequest.CustomerreceiptRequestDetailMapper; |
|
|
|
|
|
import com.win.module.wms.dal.mysql.customerreceiptRequest.CustomerreceiptRequestMainMapper; |
|
|
import com.win.module.wms.dal.mysql.deliverRecord.DeliverRecordDetailMapper; |
|
|
import com.win.module.wms.dal.mysql.deliverRecord.DeliverRecordDetailMapper; |
|
|
import com.win.module.wms.dal.mysql.deliverRecord.DeliverRecordMainMapper; |
|
|
import com.win.module.wms.dal.mysql.deliverRecord.DeliverRecordMainMapper; |
|
|
import com.win.module.wms.dal.mysql.deliverRequest.DeliverRequestMainMapper; |
|
|
import com.win.module.wms.dal.mysql.deliverRequest.DeliverRequestMainMapper; |
|
|
import com.win.module.wms.enums.job.JobStatusEnum; |
|
|
import com.win.module.wms.enums.job.JobStatusEnum; |
|
|
import com.win.module.wms.enums.job.JobStatusState; |
|
|
import com.win.module.wms.enums.job.JobStatusState; |
|
|
import com.win.module.wms.enums.request.RequestStatusEnum; |
|
|
import com.win.module.wms.enums.request.RequestStatusEnum; |
|
|
import com.win.module.wms.service.deliverJob.DeliverJobDetailService; |
|
|
import com.win.module.wms.service.customerreceiptRequest.CustomerreceiptRequestMainService; |
|
|
import com.win.module.wms.service.expectout.ExpectoutService; |
|
|
import com.win.module.wms.service.expectout.ExpectoutService; |
|
|
import com.win.module.wms.service.location.LocationService; |
|
|
import com.win.module.wms.service.location.LocationService; |
|
|
import com.win.module.wms.service.purchase.PurchaseMainService; |
|
|
import com.win.module.wms.service.purchase.PurchaseMainService; |
|
|
|
|
|
import com.win.module.wms.service.requestsetting.RequestsettingService; |
|
|
import com.win.module.wms.service.sale.SaleMainService; |
|
|
import com.win.module.wms.service.sale.SaleMainService; |
|
|
import com.win.module.wms.service.transaction.TransactionService; |
|
|
import com.win.module.wms.service.transaction.TransactionService; |
|
|
import com.win.module.wms.util.JobUtils; |
|
|
import com.win.module.wms.util.JobUtils; |
|
@ -74,7 +84,8 @@ public class DeliverJobMainServiceImpl implements DeliverJobMainService { |
|
|
private PurchaseMainService purchaseMainService; |
|
|
private PurchaseMainService purchaseMainService; |
|
|
@Resource |
|
|
@Resource |
|
|
private SaleMainService saleMainService; |
|
|
private SaleMainService saleMainService; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private RequestsettingService requestsettingService; |
|
|
@Resource |
|
|
@Resource |
|
|
private AdminUserApi userApi; |
|
|
private AdminUserApi userApi; |
|
|
@Resource |
|
|
@Resource |
|
@ -97,6 +108,10 @@ public class DeliverJobMainServiceImpl implements DeliverJobMainService { |
|
|
private TransactionService transactionService; |
|
|
private TransactionService transactionService; |
|
|
@Resource |
|
|
@Resource |
|
|
private LocationService locationService; |
|
|
private LocationService locationService; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private CustomerreceiptRequestMainService customerreceiptRequestMainService; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private CustomerreceiptRequestDetailMapper customerreceiptRequestDetailMapper; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public Long createDeliverJobMain(DeliverJobMainCreateReqVO createReqVO) { |
|
|
public Long createDeliverJobMain(DeliverJobMainCreateReqVO createReqVO) { |
|
@ -161,6 +176,8 @@ public class DeliverJobMainServiceImpl implements DeliverJobMainService { |
|
|
PurchaseDetailDO purchaseDetailDO = purchaseMainService.selectPurchaseDetailDoExist(pnumber, psupplierCode, pitemCode,poLine); |
|
|
PurchaseDetailDO purchaseDetailDO = purchaseMainService.selectPurchaseDetailDoExist(pnumber, psupplierCode, pitemCode,poLine); |
|
|
return purchaseDetailDO; |
|
|
return purchaseDetailDO; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//校验销售订单
|
|
|
@Override |
|
|
@Override |
|
|
public SaleDetailDO saleDetailExist(String psoNumber, String psoLine, String pitemCode) { |
|
|
public SaleDetailDO saleDetailExist(String psoNumber, String psoLine, String pitemCode) { |
|
|
SaleDetailDO saleDetailDO = saleMainService.selectSaleDetailDoExist(psoNumber, psoLine, pitemCode); |
|
|
SaleDetailDO saleDetailDO = saleMainService.selectSaleDetailDoExist(psoNumber, psoLine, pitemCode); |
|
@ -237,7 +254,7 @@ public class DeliverJobMainServiceImpl implements DeliverJobMainService { |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
@Transactional |
|
|
@Transactional |
|
|
public Integer executeDeliverJobMain(DeliverJobMainUpdateReqVO deliverJobMainUpdateReqVO) { |
|
|
public String executeDeliverJobMain(DeliverJobMainUpdateReqVO deliverJobMainUpdateReqVO) { |
|
|
//查询数据
|
|
|
//查询数据
|
|
|
DeliverJobMainDO deliverJobMainDO = this.validateDeliverJobMainExists(deliverJobMainUpdateReqVO.getId()); |
|
|
DeliverJobMainDO deliverJobMainDO = this.validateDeliverJobMainExists(deliverJobMainUpdateReqVO.getId()); |
|
|
List<DeliverJobDetailDO> subList = deliverJobDetailService.selectList(deliverJobMainDO.getId()); |
|
|
List<DeliverJobDetailDO> subList = deliverJobDetailService.selectList(deliverJobMainDO.getId()); |
|
@ -266,8 +283,8 @@ public class DeliverJobMainServiceImpl implements DeliverJobMainService { |
|
|
deliverRecordMainDO.setBusinessType(businesstypeDO.getCode()); |
|
|
deliverRecordMainDO.setBusinessType(businesstypeDO.getCode()); |
|
|
deliverRecordMainMapper.insert(deliverRecordMainDO); |
|
|
deliverRecordMainMapper.insert(deliverRecordMainDO); |
|
|
List<DeliverJobDetailUpdateReqVO> deliverJobDetailUpdateReqVOList = deliverJobMainUpdateReqVO.getSubList(); |
|
|
List<DeliverJobDetailUpdateReqVO> deliverJobDetailUpdateReqVOList = deliverJobMainUpdateReqVO.getSubList(); |
|
|
//退货记录子
|
|
|
|
|
|
List<DeliverRecordDetailDO> deliverRecordDetailDOList = new ArrayList<>(); |
|
|
List<DeliverRecordDetailDO> deliverRecordDetailDOList = new ArrayList<>(); |
|
|
|
|
|
ArrayList<CustomerreceiptRequestDetailCreateReqVO> customerreceiptRequestDetailCreateReqVOS = new ArrayList<>(); |
|
|
//库存事务
|
|
|
//库存事务
|
|
|
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>(); |
|
|
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>(); |
|
|
subList.forEach(subListItem -> { |
|
|
subList.forEach(subListItem -> { |
|
@ -281,9 +298,10 @@ public class DeliverJobMainServiceImpl implements DeliverJobMainService { |
|
|
deliverJobDetailUpdateReqVOList.forEach(DetailUpdateItem -> { |
|
|
deliverJobDetailUpdateReqVOList.forEach(DetailUpdateItem -> { |
|
|
// 匹配任务子表与参数中子表
|
|
|
// 匹配任务子表与参数中子表
|
|
|
if (DetailUpdateItem.getId().equals(subListItem.getId())) { |
|
|
if (DetailUpdateItem.getId().equals(subListItem.getId())) { |
|
|
List<Map<String,Object>> recordLst = DetailUpdateItem.getRecordLst(); |
|
|
List<Map<String,String>> recordList = DetailUpdateItem.getRecordList(); |
|
|
recordLst.forEach(recordLstItem -> { |
|
|
recordList.forEach(recordListItem -> { |
|
|
DeliverRecordDetailDO deliverRecordDetailDO = new DeliverRecordDetailDO(); |
|
|
DeliverRecordDetailDO deliverRecordDetailDO = new DeliverRecordDetailDO(); |
|
|
|
|
|
CustomerreceiptRequestDetailDO customerreceiptRequestDetailDO = new CustomerreceiptRequestDetailDO(); |
|
|
BeanUtils.copyProperties(DetailUpdateItem, deliverRecordDetailDO); |
|
|
BeanUtils.copyProperties(DetailUpdateItem, deliverRecordDetailDO); |
|
|
deliverRecordDetailDO.setJobDetailId(DetailUpdateItem.getId().toString()); |
|
|
deliverRecordDetailDO.setJobDetailId(DetailUpdateItem.getId().toString()); |
|
|
deliverRecordDetailDO.setId(null); |
|
|
deliverRecordDetailDO.setId(null); |
|
@ -293,16 +311,16 @@ public class DeliverJobMainServiceImpl implements DeliverJobMainService { |
|
|
deliverRecordDetailDO.setUpdateTime(null); |
|
|
deliverRecordDetailDO.setUpdateTime(null); |
|
|
deliverRecordDetailDO.setNumber(number); |
|
|
deliverRecordDetailDO.setNumber(number); |
|
|
deliverRecordDetailDO.setMasterId(deliverRecordMainDO.getId().toString()); |
|
|
deliverRecordDetailDO.setMasterId(deliverRecordMainDO.getId().toString()); |
|
|
// 根据recordLst 进行赋值子表部分数据
|
|
|
// 根据recordList 进行赋值子表部分数据
|
|
|
deliverRecordDetailDO.setQty(new BigDecimal(recordLstItem.get("handleQty").toString())); |
|
|
deliverRecordDetailDO.setQty(new BigDecimal(recordListItem.get("handleQty").toString())); |
|
|
deliverRecordDetailDO.setPackingNumber(recordLstItem.get("toPackingNumber").toString()); |
|
|
deliverRecordDetailDO.setPackingNumber(recordListItem.get("toPackingNumber")==null?"":recordListItem.get("toPackingNumber")); |
|
|
deliverRecordDetailDO.setToContainerNumber(recordLstItem.get("toContainerNumber").toString()); |
|
|
deliverRecordDetailDO.setToContainerNumber(recordListItem.get("toContainerNumber")==null?"":recordListItem.get("toContainerNumber")); |
|
|
deliverRecordDetailDO.setBatch(recordLstItem.get("toBatch").toString()); |
|
|
deliverRecordDetailDO.setBatch(recordListItem.get("toBatch")==null?"":recordListItem.get("toBatch")); |
|
|
deliverRecordDetailDO.setToLocationCode(recordLstItem.get("toLocationCode").toString()); |
|
|
deliverRecordDetailDO.setToLocationCode(recordListItem.get("toLocationCode").toString()); |
|
|
deliverRecordDetailDO.setInventoryStatus(recordLstItem.get("toInventoryStatus").toString()); |
|
|
deliverRecordDetailDO.setInventoryStatus(recordListItem.get("toInventoryStatus").toString()); |
|
|
deliverRecordDetailDO.setToContainerNumber(DetailUpdateItem.getToContainerNumber()); |
|
|
deliverRecordDetailDO.setToContainerNumber(DetailUpdateItem.getToContainerNumber()); |
|
|
// 根据 to库位 查询 库位组 库区
|
|
|
// 根据 to库位 查询 库位组 库区
|
|
|
LocationDO locationDO = locationService.selectLocation(recordLstItem.get("toLocationCode").toString()); |
|
|
LocationDO locationDO = locationService.selectLocation(recordListItem.get("toLocationCode").toString()); |
|
|
deliverRecordDetailDO.setToLocationGroupCode(locationDO.getLocationGroupCode()); |
|
|
deliverRecordDetailDO.setToLocationGroupCode(locationDO.getLocationGroupCode()); |
|
|
deliverRecordDetailDO.setToAreaCode(locationDO.getAreaCode()); |
|
|
deliverRecordDetailDO.setToAreaCode(locationDO.getAreaCode()); |
|
|
// 根据 from库位 查询 库位组 库区
|
|
|
// 根据 from库位 查询 库位组 库区
|
|
@ -310,12 +328,20 @@ public class DeliverJobMainServiceImpl implements DeliverJobMainService { |
|
|
deliverRecordDetailDO.setFromLocationGroupCode(locationDOFrom.getLocationGroupCode()); |
|
|
deliverRecordDetailDO.setFromLocationGroupCode(locationDOFrom.getLocationGroupCode()); |
|
|
deliverRecordDetailDO.setFromAreaCode(locationDOFrom.getAreaCode()); |
|
|
deliverRecordDetailDO.setFromAreaCode(locationDOFrom.getAreaCode()); |
|
|
deliverRecordDetailDOList.add(deliverRecordDetailDO); |
|
|
deliverRecordDetailDOList.add(deliverRecordDetailDO); |
|
|
|
|
|
BeanUtils.copyProperties(deliverRecordDetailDO, customerreceiptRequestDetailDO); |
|
|
|
|
|
customerreceiptRequestDetailDO.setId(null); |
|
|
|
|
|
customerreceiptRequestDetailDO.setCreator(null); |
|
|
|
|
|
customerreceiptRequestDetailDO.setCreateTime(null); |
|
|
|
|
|
customerreceiptRequestDetailDO.setUpdater(null); |
|
|
|
|
|
customerreceiptRequestDetailDO.setUpdateTime(null); |
|
|
|
|
|
CustomerreceiptRequestDetailCreateReqVO customerreceiptRequestDetailCreateReqVO = CustomerreceiptRequestDetailConvert.INSTANCE.convertDoToVo(customerreceiptRequestDetailDO); |
|
|
|
|
|
customerreceiptRequestDetailCreateReqVOS.add(customerreceiptRequestDetailCreateReqVO); |
|
|
//添加库存事务list
|
|
|
//添加库存事务list
|
|
|
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); |
|
|
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); |
|
|
BeanUtils.copyProperties(deliverRecordDetailDO, transactionCreateReqVO); |
|
|
BeanUtils.copyProperties(deliverRecordDetailDO, transactionCreateReqVO); |
|
|
//增加业务类型
|
|
|
//增加业务类型
|
|
|
transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); |
|
|
transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); |
|
|
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); |
|
|
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType()); |
|
|
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); |
|
|
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); |
|
|
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); |
|
|
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); |
|
|
transactionCreateReqVO.setBusinessType(deliverRecordMainDO.getBusinessType()); |
|
|
transactionCreateReqVO.setBusinessType(deliverRecordMainDO.getBusinessType()); |
|
@ -333,6 +359,17 @@ public class DeliverJobMainServiceImpl implements DeliverJobMainService { |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
deliverRecordDetailMapper.insertBatch(deliverRecordDetailDOList); |
|
|
deliverRecordDetailMapper.insertBatch(deliverRecordDetailDOList); |
|
|
|
|
|
//添加客户收货申请主表
|
|
|
|
|
|
CustomerreceiptRequestMainCreateReqVO customerreceiptRequestMainCreateReqVO = new CustomerreceiptRequestMainCreateReqVO(); |
|
|
|
|
|
BeanUtils.copyProperties(deliverJobMainDO, customerreceiptRequestMainCreateReqVO); |
|
|
|
|
|
customerreceiptRequestMainCreateReqVO.setId(null); |
|
|
|
|
|
customerreceiptRequestMainCreateReqVO.setCreator(null); |
|
|
|
|
|
customerreceiptRequestMainCreateReqVO.setCreateTime(null); |
|
|
|
|
|
customerreceiptRequestMainCreateReqVO.setUpdater(null); |
|
|
|
|
|
customerreceiptRequestMainCreateReqVO.setUpdateTime(null); |
|
|
|
|
|
customerreceiptRequestMainCreateReqVO.setDeliverRequestNumber(deliverJobMainDO.getRequestNumber()); |
|
|
|
|
|
customerreceiptRequestMainCreateReqVO.setSubList(customerreceiptRequestDetailCreateReqVOS); |
|
|
|
|
|
customerreceiptRequestMainService.createCustomerreceiptRequestMain(customerreceiptRequestMainCreateReqVO); |
|
|
List<String> typeList = new ArrayList<>(); |
|
|
List<String> typeList = new ArrayList<>(); |
|
|
typeList.add(JobStatusEnum.PENDING.getCode()); |
|
|
typeList.add(JobStatusEnum.PENDING.getCode()); |
|
|
typeList.add(JobStatusEnum.PROCESSING.getCode()); |
|
|
typeList.add(JobStatusEnum.PROCESSING.getCode()); |
|
@ -352,6 +389,6 @@ public class DeliverJobMainServiceImpl implements DeliverJobMainService { |
|
|
expectoutService.deleteExpectoutByJobNumber(deliverJobMainDO.getNumber()); |
|
|
expectoutService.deleteExpectoutByJobNumber(deliverJobMainDO.getNumber()); |
|
|
//变更记录
|
|
|
//变更记录
|
|
|
trendsApi.createTrends(deliverJobMainDO.getId(), "deliverJob", "执行了发货任务", TrendsTypeEnum.UPDATE); |
|
|
trendsApi.createTrends(deliverJobMainDO.getId(), "deliverJob", "执行了发货任务", TrendsTypeEnum.UPDATE); |
|
|
return result; |
|
|
return number; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|