|
|
@ -24,6 +24,9 @@ import com.win.module.wms.dal.dataobject.issueRecord.IssueRecordDetailDO; |
|
|
|
import com.win.module.wms.dal.dataobject.issueRecord.IssueRecordMainDO; |
|
|
|
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; |
|
|
|
import com.win.module.wms.dal.dataobject.location.LocationDO; |
|
|
|
import com.win.module.wms.dal.dataobject.offlinesettlementRecord.OfflinesettlementRecordDetailDO; |
|
|
|
import com.win.module.wms.dal.dataobject.offlinesettlementRecord.OfflinesettlementRecordMainDO; |
|
|
|
import com.win.module.wms.dal.dataobject.onlinesettlementRecord.OnlinesettlementRecordDetailDO; |
|
|
|
import com.win.module.wms.dal.dataobject.production.ProductionDetailDO; |
|
|
|
import com.win.module.wms.dal.dataobject.productreceiptJob.ProductreceiptJobDetailDO; |
|
|
|
import com.win.module.wms.dal.dataobject.productreceiptJob.ProductreceiptJobMainDO; |
|
|
@ -32,9 +35,12 @@ import com.win.module.wms.dal.dataobject.productreceiptRecord.ProductreceiptReco |
|
|
|
import com.win.module.wms.dal.dataobject.productreceiptRecord.ProductreceiptRecordMainDO; |
|
|
|
import com.win.module.wms.dal.dataobject.productreceiptRequest.ProductreceiptRequestDetailDO; |
|
|
|
import com.win.module.wms.dal.dataobject.productreceiptRequest.ProductreceiptRequestMainDO; |
|
|
|
import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO; |
|
|
|
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.backflushRequest.BackflushRequestDetailbMapper; |
|
|
|
import com.win.module.wms.dal.mysql.offlinesettlementRecord.OfflinesettlementRecordDetailMapper; |
|
|
|
import com.win.module.wms.dal.mysql.offlinesettlementRecord.OfflinesettlementRecordMainMapper; |
|
|
|
import com.win.module.wms.dal.mysql.productreceiptJob.ProductreceiptJobMainMapper; |
|
|
|
import com.win.module.wms.dal.mysql.productreceiptRecord.BackflushRecordDetailbMapper; |
|
|
|
import com.win.module.wms.dal.mysql.productreceiptRecord.ProductreceiptRecordDetailMapper; |
|
|
@ -47,10 +53,12 @@ import com.win.module.wms.service.documentSwitch.SwitchService; |
|
|
|
import com.win.module.wms.service.expectin.ExpectinService; |
|
|
|
import com.win.module.wms.service.itembasic.ItembasicService; |
|
|
|
import com.win.module.wms.service.location.LocationService; |
|
|
|
import com.win.module.wms.service.offlinesettlementRecord.OfflinesettlementRecordMainService; |
|
|
|
import com.win.module.wms.service.production.ProductionMainService; |
|
|
|
import com.win.module.wms.service.productreceiptRequest.ProductreceiptRequestDetailService; |
|
|
|
import com.win.module.wms.service.productreceiptRequest.ProductreceiptRequestMainService; |
|
|
|
import com.win.module.wms.service.recordsetting.RecordsettingService; |
|
|
|
import com.win.module.wms.service.supplieritem.SupplieritemService; |
|
|
|
import com.win.module.wms.service.transaction.TransactionService; |
|
|
|
import com.win.module.wms.service.transactiontype.TransactiontypeService; |
|
|
|
import com.win.module.wms.service.workstation.WorkstationService; |
|
|
@ -79,6 +87,12 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*; |
|
|
|
@Validated |
|
|
|
public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainService { |
|
|
|
|
|
|
|
@Resource |
|
|
|
private OfflinesettlementRecordDetailMapper offlinesettlementRecordDetailMapper; |
|
|
|
@Resource |
|
|
|
private OfflinesettlementRecordMainMapper offlinesettlementRecordMainMapper; |
|
|
|
@Resource |
|
|
|
private SupplieritemService supplieritemService; |
|
|
|
@Resource |
|
|
|
private ItembasicService itembasicService; |
|
|
|
@Resource |
|
|
@ -453,18 +467,18 @@ public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainSe |
|
|
|
transactionCreateReqVO.setLocationCode(backflushRecordDetailbDO.getFromLocationCode()); |
|
|
|
transactionCreateReqVOList.add(transactionCreateReqVO); |
|
|
|
// 判断 物品 是否为 下线结算物品 创建 下线结算记录
|
|
|
|
// ItembasicDO itembasicDO = itembasicService.s
|
|
|
|
// if (backflushRecordDetailbDO.getItemCode()) {
|
|
|
|
//
|
|
|
|
// }
|
|
|
|
offlinesettlementRecordList.add(backflushRecordDetailbDO); |
|
|
|
if (itembasicService.isOfflines(backflushRecordDetailbDO.getItemCode())) { |
|
|
|
offlinesettlementRecordList.add(backflushRecordDetailbDO); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
backflushRecordDetailbMapper.insertBatch(backflushRecordDetailbDOList); |
|
|
|
//增加库存事务
|
|
|
|
transactionService.createTransaction(transactionCreateReqVOList); |
|
|
|
// TODO:判断 物品 是否为 下线结算物品 创建 下线结算记录
|
|
|
|
generateOfflinesettlementRecord(productreceiptRecordMainDO, offlinesettlementRecordList); |
|
|
|
// 创建 下线结算记录
|
|
|
|
if (offlinesettlementRecordList != null && offlinesettlementRecordList.size() > 0) { |
|
|
|
generateOfflinesettlementRecord(productreceiptRecordMainDO, offlinesettlementRecordList); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@ -473,5 +487,38 @@ public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainSe |
|
|
|
* @param offlinesettlementRecordList |
|
|
|
*/ |
|
|
|
private void generateOfflinesettlementRecord(ProductreceiptRecordMainDO productreceiptRecordMainDO, List<BackflushRecordDetailbDO> offlinesettlementRecordList) { |
|
|
|
OfflinesettlementRecordMainDO offlinesettlementRecordMainDO = new OfflinesettlementRecordMainDO(); |
|
|
|
BeanUtils.copyProperties(productreceiptRecordMainDO,offlinesettlementRecordMainDO); |
|
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.OFFLINE_SETTLEMENT_RECORD.getCode()); |
|
|
|
offlinesettlementRecordMainDO.setNumber(number); |
|
|
|
offlinesettlementRecordMainDO.setProductReceiptRecordNumber(productreceiptRecordMainDO.getNumber()); |
|
|
|
offlinesettlementRecordMainDO.setBusinessType(""); |
|
|
|
offlinesettlementRecordMainDO.setInTransactionType(""); |
|
|
|
offlinesettlementRecordMainDO.setOutTransactionType(""); |
|
|
|
offlinesettlementRecordMainDO.setId(null); |
|
|
|
offlinesettlementRecordMainDO.setCreator(null); |
|
|
|
offlinesettlementRecordMainDO.setCreateTime(null); |
|
|
|
offlinesettlementRecordMainDO.setUpdater(null); |
|
|
|
offlinesettlementRecordMainDO.setUpdateTime(null); |
|
|
|
offlinesettlementRecordMainMapper.insert(offlinesettlementRecordMainDO); |
|
|
|
//上线结算记录子 集合
|
|
|
|
List<OfflinesettlementRecordDetailDO> offlinesettlementRecordDetailDOList = new ArrayList<>(); |
|
|
|
for(BackflushRecordDetailbDO backflushRecordDetailbDO : offlinesettlementRecordList ) { |
|
|
|
OfflinesettlementRecordDetailDO offlinesettlementRecordDetailDO = new OfflinesettlementRecordDetailDO(); |
|
|
|
BeanUtils.copyProperties(backflushRecordDetailbDO,offlinesettlementRecordDetailDO); |
|
|
|
offlinesettlementRecordDetailDO.setLocationCode(backflushRecordDetailbDO.getFromLocationCode()); |
|
|
|
offlinesettlementRecordDetailDO.setLocationGroupCode(backflushRecordDetailbDO.getFromLocationGroupCode()); |
|
|
|
offlinesettlementRecordDetailDO.setAreaCode(backflushRecordDetailbDO.getFromAreaCode()); |
|
|
|
offlinesettlementRecordDetailDO.setMasterId(offlinesettlementRecordMainDO.getId()); |
|
|
|
offlinesettlementRecordDetailDO.setId(null); |
|
|
|
offlinesettlementRecordDetailDO.setCreator(null); |
|
|
|
offlinesettlementRecordDetailDO.setCreateTime(null); |
|
|
|
offlinesettlementRecordDetailDO.setUpdater(null); |
|
|
|
offlinesettlementRecordDetailDO.setUpdateTime(null); |
|
|
|
offlinesettlementRecordDetailDOList.add(offlinesettlementRecordDetailDO); |
|
|
|
} |
|
|
|
if(offlinesettlementRecordDetailDOList != null && offlinesettlementRecordDetailDOList.size() > 0) { |
|
|
|
offlinesettlementRecordDetailMapper.insertBatch(offlinesettlementRecordDetailDOList); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|