|
|
@ -10,6 +10,7 @@ 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.expectin.vo.ExpectinCreateReqVO; |
|
|
|
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; |
|
|
|
import com.win.module.wms.controller.transferreceiptRecord.vo.TransferreceiptRecordDetailCreateReqVO; |
|
|
|
import com.win.module.wms.controller.transferreceiptRecord.vo.TransferreceiptRecordMainCreateReqVO; |
|
|
|
import com.win.module.wms.controller.transferreceiptRequest.vo.*; |
|
|
@ -25,12 +26,14 @@ import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; |
|
|
|
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.requestsetting.RequestsettingDO; |
|
|
|
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; |
|
|
|
import com.win.module.wms.dal.dataobject.transferreceiptJob.TransferreceiptJobDetailDO; |
|
|
|
import com.win.module.wms.dal.dataobject.transferreceiptJob.TransferreceiptJobMainDO; |
|
|
|
import com.win.module.wms.dal.dataobject.transferreceiptRecord.TransferreceiptRecordDetailDO; |
|
|
|
import com.win.module.wms.dal.dataobject.transferreceiptRecord.TransferreceiptRecordMainDO; |
|
|
|
import com.win.module.wms.dal.dataobject.transferreceiptRequest.TransferreceiptRequestDetailDO; |
|
|
|
import com.win.module.wms.dal.dataobject.transferreceiptRequest.TransferreceiptRequestMainDO; |
|
|
|
import com.win.module.wms.dal.mysql.balance.BalanceMapper; |
|
|
|
import com.win.module.wms.dal.mysql.transferreceiptJob.TransferreceiptJobDetailMapper; |
|
|
|
import com.win.module.wms.dal.mysql.transferreceiptJob.TransferreceiptJobMainMapper; |
|
|
|
import com.win.module.wms.dal.mysql.transferreceiptRecord.TransferreceiptRecordDetailMapper; |
|
|
@ -46,6 +49,7 @@ import com.win.module.wms.service.jobsetting.JobsettingService; |
|
|
|
import com.win.module.wms.service.location.LocationService; |
|
|
|
import com.win.module.wms.service.recordsetting.RecordsettingService; |
|
|
|
import com.win.module.wms.service.requestsetting.RequestsettingService; |
|
|
|
import com.win.module.wms.service.transaction.TransactionService; |
|
|
|
import com.win.module.wms.util.JobUtils; |
|
|
|
import org.springframework.beans.BeanUtils; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
@ -101,6 +105,12 @@ public class TransferreceiptRequestMainServiceImpl implements TransferreceiptReq |
|
|
|
private ExpectinService expectinService; |
|
|
|
@Resource |
|
|
|
private TransferreceiptRequestDetailService transferreceiptRequestDetailService; |
|
|
|
@Resource |
|
|
|
private TransactionService transactionService; |
|
|
|
@Resource |
|
|
|
private BalanceMapper balanceMapper; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Transactional |
|
|
|
@Override |
|
|
@ -141,6 +151,8 @@ public class TransferreceiptRequestMainServiceImpl implements TransferreceiptReq |
|
|
|
transferreceiptRecordMainCreateReqVO.setCreateTime(null); |
|
|
|
TransferreceiptRecordMainDO transferreceiptRecordMainDO = TransferreceiptRecordMainConvert.INSTANCE.convert(transferreceiptRecordMainCreateReqVO); |
|
|
|
transferreceiptRecordMainMapper.insert(transferreceiptRecordMainDO); |
|
|
|
//库存事务
|
|
|
|
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>(); |
|
|
|
for(TransferreceiptRequestDetailDO transferreceiptRequestDetailDO : detailDOList) { |
|
|
|
TransferreceiptRecordDetailCreateReqVO transferreceiptRecordDetailCreateReqVO = new TransferreceiptRecordDetailCreateReqVO(); |
|
|
|
BeanUtils.copyProperties(transferreceiptRequestDetailDO, transferreceiptRecordDetailCreateReqVO); |
|
|
@ -157,7 +169,57 @@ public class TransferreceiptRequestMainServiceImpl implements TransferreceiptReq |
|
|
|
transferreceiptRecordDetailCreateReqVO.setFromAreaCode(transferreceiptRequestDetailDO.getFromLocationCode()); |
|
|
|
TransferreceiptRecordDetailDO transferreceiptRecordDetailDO = TransferreceiptRecordDetailConvert.INSTANCE.convert(transferreceiptRecordDetailCreateReqVO); |
|
|
|
transferreceiptRecordDetailMapper.insert(transferreceiptRecordDetailDO); |
|
|
|
|
|
|
|
//添加库存事务list
|
|
|
|
BalanceDO balanceDO = balanceMapper.getBalanceQty(transferreceiptRequestDetailDO.getPackingNumber(), transferreceiptRequestDetailDO.getItemCode(), transferreceiptRequestDetailDO.getBatch(), transferreceiptRequestDetailDO.getInventoryStatus(), transferreceiptRequestDetailDO.getFromLocationCode()); |
|
|
|
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); |
|
|
|
BeanUtils.copyProperties(transferreceiptRequestDetailDO, transactionCreateReqVO); |
|
|
|
//增加业务类型
|
|
|
|
transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); |
|
|
|
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType()); |
|
|
|
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); |
|
|
|
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); |
|
|
|
transactionCreateReqVO.setBusinessType(transferreceiptRecordMainDO.getBusinessType()); |
|
|
|
transactionCreateReqVO.setLocationCode(transferreceiptRequestDetailDO.getToLocationCode()); |
|
|
|
transactionCreateReqVO.setOwnerCode(transferreceiptRequestDetailDO.getFromOwnerCode()); |
|
|
|
transactionCreateReqVO.setPackingNumber(transferreceiptRequestDetailDO.getPackingNumber()); |
|
|
|
transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); |
|
|
|
transactionCreateReqVO.setBatch(transferreceiptRequestDetailDO.getBatch()); |
|
|
|
transactionCreateReqVO.setWarehouseCode(transferreceiptRecordMainDO.getToWarehouseCode()); |
|
|
|
transactionCreateReqVO.setRecordNumber(number); |
|
|
|
transactionCreateReqVO.setAmount(balanceDO.getAmount()); |
|
|
|
transactionCreateReqVO.setArriveDate(balanceDO.getArriveDate()); |
|
|
|
transactionCreateReqVO.setProduceDate(balanceDO.getProduceDate()); |
|
|
|
transactionCreateReqVO.setExpireDate(balanceDO.getExpireDate()); |
|
|
|
transactionCreateReqVO.setId(null); |
|
|
|
transactionCreateReqVOList.add(transactionCreateReqVO); |
|
|
|
if(businesstypeDO.getInTransactionType() != null && !businesstypeDO.getInTransactionType().isEmpty()) { |
|
|
|
TransactionCreateReqVO transactionCreateReqVOIn = new TransactionCreateReqVO(); |
|
|
|
BeanUtils.copyProperties(transferreceiptRequestDetailDO, transactionCreateReqVOIn); |
|
|
|
//增加业务入类型
|
|
|
|
transactionCreateReqVOIn.setBusinessType(businesstypeDO.getCode()); |
|
|
|
TransactiontypeDO transactiontypeDOIn = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); |
|
|
|
transactionCreateReqVOIn.setInventoryAction(transactiontypeDOIn.getInventoryAction()); |
|
|
|
transactionCreateReqVOIn.setTransactionType(transactiontypeDOIn.getCode()); |
|
|
|
transactionCreateReqVOIn.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); |
|
|
|
transactionCreateReqVOIn.setBatch(transferreceiptRequestDetailDO.getBatch()); |
|
|
|
transactionCreateReqVOIn.setPackingNumber(transferreceiptRequestDetailDO.getPackingNumber()); |
|
|
|
transactionCreateReqVOIn.setInventoryStatus(transferreceiptRequestDetailDO.getInventoryStatus()); |
|
|
|
transactionCreateReqVOIn.setLocationCode(transferreceiptRequestDetailDO.getToLocationCode()); |
|
|
|
transactionCreateReqVOIn.setSinglePrice(balanceDO.getSinglePrice()); |
|
|
|
transactionCreateReqVOIn.setAmount(balanceDO.getAmount()); |
|
|
|
transactionCreateReqVOIn.setArriveDate(balanceDO.getArriveDate()); |
|
|
|
transactionCreateReqVOIn.setProduceDate(balanceDO.getProduceDate()); |
|
|
|
transactionCreateReqVOIn.setExpireDate(balanceDO.getExpireDate()); |
|
|
|
transactionCreateReqVOIn.setWarehouseCode(transferreceiptRecordMainDO.getFromWarehouseCode()); |
|
|
|
transactionCreateReqVOIn.setRecordNumber(number); |
|
|
|
transactionCreateReqVOIn.setId(null); |
|
|
|
//待确定库存事务信息
|
|
|
|
transactionCreateReqVOList.add(transactionCreateReqVOIn); |
|
|
|
} |
|
|
|
} |
|
|
|
//增加库存事务
|
|
|
|
transactionService.createTransaction(transactionCreateReqVOList); |
|
|
|
return; |
|
|
|
} |
|
|
|
// 任务 主表数据创建
|
|
|
|