|
|
@ -17,6 +17,7 @@ import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; |
|
|
|
import com.win.module.wms.convert.productdismantleRecord.ProductdismantleRecordDetailaConvert; |
|
|
|
import com.win.module.wms.convert.productdismantleRecord.ProductdismantleRecordMainConvert; |
|
|
|
import com.win.module.wms.convert.repleinshRecord.RepleinshRecordDetailConvert; |
|
|
|
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; |
|
|
@ -29,6 +30,7 @@ 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.balance.BalanceMapper; |
|
|
|
import com.win.module.wms.dal.mysql.productdismantleRecord.ProductdismantleRecordDetailaMapper; |
|
|
|
import com.win.module.wms.dal.mysql.productdismantleRecord.ProductdismantleRecordDetailbMapper; |
|
|
|
import com.win.module.wms.dal.mysql.productdismantleRecord.ProductdismantleRecordMainMapper; |
|
|
@ -64,6 +66,8 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*; |
|
|
|
@Validated |
|
|
|
public class ProductdismantleRecordMainServiceImpl implements ProductdismantleRecordMainService { |
|
|
|
|
|
|
|
@Resource |
|
|
|
private BalanceMapper balanceMapper; |
|
|
|
@Resource |
|
|
|
private ProductdismantleRecordDetailbMapper productdismantleRecordDetailbMapper; |
|
|
|
@Resource |
|
|
@ -104,6 +108,7 @@ public class ProductdismantleRecordMainServiceImpl implements ProductdismantleRe |
|
|
|
mainDO.setExecuteTime(LocalDateTime.now()); |
|
|
|
mainDO.setActiveDate(LocalDateTime.now()); |
|
|
|
mainDO.setAvailable("TRUE"); |
|
|
|
mainDO.setId(null); |
|
|
|
// 业务类型
|
|
|
|
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ProductDisassemble"); |
|
|
|
mainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); |
|
|
@ -125,6 +130,11 @@ public class ProductdismantleRecordMainServiceImpl implements ProductdismantleRe |
|
|
|
productdismantleRecordDetailaDO.setFromLocationGroupCode(locationDO.getLocationGroupCode()); |
|
|
|
productdismantleRecordDetailaDO.setMasterId(mainDO.getId()); |
|
|
|
productdismantleRecordDetailaMapper.insert(productdismantleRecordDetailaDO); |
|
|
|
//查询库存余额
|
|
|
|
BalanceDO balanceDO = balanceMapper.getBalanceQty(productdismantleRecordDetailaDO.getPackingNumber(), productdismantleRecordDetailaDO.getItemCode(), productdismantleRecordDetailaDO.getBatch(), productdismantleRecordDetailaDO.getInventoryStatus(), productdismantleRecordDetailaDO.getFromLocationCode()); |
|
|
|
if (balanceDO == null) { |
|
|
|
throw exception(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); |
|
|
|
} |
|
|
|
//添加库存事务list
|
|
|
|
// 出动作
|
|
|
|
TransactionCreateReqVO transactionCreateReqVOOut = new TransactionCreateReqVO(); |
|
|
@ -140,7 +150,11 @@ public class ProductdismantleRecordMainServiceImpl implements ProductdismantleRe |
|
|
|
transactionCreateReqVOOut.setPackingNumber(productdismantleRecordDetailaDO.getPackingNumber()); |
|
|
|
transactionCreateReqVOOut.setBatch(productdismantleRecordDetailaDO.getBatch()); |
|
|
|
transactionCreateReqVOOut.setContainerNumber(productdismantleRecordDetailaDO.getContainerNumber()); |
|
|
|
transactionCreateReqVOOut.setAmount(BigDecimal.ZERO); |
|
|
|
transactionCreateReqVOOut.setSinglePrice(balanceDO.getSinglePrice()); |
|
|
|
transactionCreateReqVOOut.setAmount(balanceDO.getAmount()); |
|
|
|
transactionCreateReqVOOut.setArriveDate(balanceDO.getArriveDate()); |
|
|
|
transactionCreateReqVOOut.setProduceDate(balanceDO.getProduceDate()); |
|
|
|
transactionCreateReqVOOut.setExpireDate(balanceDO.getExpireDate()); |
|
|
|
transactionCreateReqVOOut.setWarehouseCode(mainDO.getFromWarehouseCode()); |
|
|
|
transactionCreateReqVOOut.setLocationCode(productdismantleRecordDetailaDO.getFromLocationCode()); |
|
|
|
transactionCreateReqVOList.add(transactionCreateReqVOOut); |
|
|
@ -183,7 +197,11 @@ public class ProductdismantleRecordMainServiceImpl implements ProductdismantleRe |
|
|
|
transactionCreateReqVO.setPackingNumber(productdismantleRecordDetailbDO.getPackingNumber()); |
|
|
|
transactionCreateReqVO.setBatch(productdismantleRecordDetailbDO.getBatch()); |
|
|
|
transactionCreateReqVO.setContainerNumber(""); |
|
|
|
transactionCreateReqVO.setAmount(BigDecimal.ZERO); |
|
|
|
transactionCreateReqVO.setSinglePrice(balanceDO.getSinglePrice()); |
|
|
|
transactionCreateReqVO.setAmount(balanceDO.getAmount()); |
|
|
|
transactionCreateReqVO.setArriveDate(balanceDO.getArriveDate()); |
|
|
|
transactionCreateReqVO.setProduceDate(balanceDO.getProduceDate()); |
|
|
|
transactionCreateReqVO.setExpireDate(balanceDO.getExpireDate()); |
|
|
|
transactionCreateReqVO.setWarehouseCode(mainDO.getFromWarehouseCode()); |
|
|
|
transactionCreateReqVO.setLocationCode(productdismantleRecordDetailbDO.getToLocationCode()); |
|
|
|
transactionCreateReqVOList.add(transactionCreateReqVO); |
|
|
|