|
|
@ -16,13 +16,18 @@ import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; |
|
|
|
import com.win.module.wms.convert.productionreceiptJob.ProductionreceiptJobMainConvert; |
|
|
|
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; |
|
|
|
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.location.LocationDO; |
|
|
|
import com.win.module.wms.dal.dataobject.onlinesettlementRecord.OnlinesettlementRecordDetailDO; |
|
|
|
import com.win.module.wms.dal.dataobject.onlinesettlementRecord.OnlinesettlementRecordMainDO; |
|
|
|
import com.win.module.wms.dal.dataobject.production.ProductionDetailDO; |
|
|
|
import com.win.module.wms.dal.dataobject.productionreceiptJob.ProductionreceiptJobDetailDO; |
|
|
|
import com.win.module.wms.dal.dataobject.productionreceiptJob.ProductionreceiptJobMainDO; |
|
|
|
import com.win.module.wms.dal.dataobject.productionreceiptRecord.ProductionreceiptRecordDetailDO; |
|
|
|
import com.win.module.wms.dal.dataobject.productionreceiptRecord.ProductionreceiptRecordMainDO; |
|
|
|
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; |
|
|
|
import com.win.module.wms.dal.mysql.onlinesettlementRecord.OnlinesettlementRecordDetailMapper; |
|
|
|
import com.win.module.wms.dal.mysql.onlinesettlementRecord.OnlinesettlementRecordMainMapper; |
|
|
|
import com.win.module.wms.dal.mysql.productionreceiptJob.ProductionreceiptJobMainMapper; |
|
|
|
import com.win.module.wms.dal.mysql.productionreceiptRecord.ProductionreceiptRecordDetailMapper; |
|
|
|
import com.win.module.wms.dal.mysql.productionreceiptRecord.ProductionreceiptRecordMainMapper; |
|
|
@ -30,6 +35,7 @@ import com.win.module.wms.enums.job.JobStatusState; |
|
|
|
import com.win.module.wms.service.expectin.ExpectinService; |
|
|
|
import com.win.module.wms.service.location.LocationService; |
|
|
|
import com.win.module.wms.service.production.ProductionMainService; |
|
|
|
import com.win.module.wms.service.supplieritem.SupplieritemService; |
|
|
|
import com.win.module.wms.service.transaction.TransactionService; |
|
|
|
import com.win.module.wms.util.JobUtils; |
|
|
|
import org.springframework.beans.BeanUtils; |
|
|
@ -55,6 +61,12 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*; |
|
|
|
@Validated |
|
|
|
public class ProductionreceiptJobMainServiceImpl implements ProductionreceiptJobMainService { |
|
|
|
|
|
|
|
@Resource |
|
|
|
private OnlinesettlementRecordDetailMapper onlinesettlementRecordDetailMapper; |
|
|
|
@Resource |
|
|
|
private SupplieritemService supplieritemService; |
|
|
|
@Resource |
|
|
|
private OnlinesettlementRecordMainMapper onlinesettlementRecordMainMapper; |
|
|
|
@Resource |
|
|
|
private ExpectinService expectinService; |
|
|
|
@Resource |
|
|
@ -290,6 +302,7 @@ public class ProductionreceiptJobMainServiceImpl implements ProductionreceiptJob |
|
|
|
productionreceiptRecordDetailDO.setToContainerNumber(DetailUpdateItem.getToContainerNumber()); |
|
|
|
productionreceiptRecordDetailDO.setInventoryStatus(DetailUpdateItem.getToInventoryStatus()); |
|
|
|
productionreceiptRecordDetailDO.setQty(DetailUpdateItem.getHandleQty()); |
|
|
|
productionreceiptRecordDetailDO.setSupplierCode(DetailUpdateItem.getSupplierCode()); |
|
|
|
// 根据 to库位 查询 库位组 库区
|
|
|
|
LocationDO locationDO = locationService.selectLocation(DetailUpdateItem.getToLocationCode()); |
|
|
|
productionreceiptRecordDetailDO.setToLocationGroupCode(locationDO.getLocationGroupCode()); |
|
|
@ -327,6 +340,8 @@ public class ProductionreceiptJobMainServiceImpl implements ProductionreceiptJob |
|
|
|
if(!productionreceiptRecordDetailDOList.isEmpty()) { |
|
|
|
productionreceiptRecordDetailMapper.insertBatch(productionreceiptRecordDetailDOList); |
|
|
|
} |
|
|
|
// 创建 上线结算记录
|
|
|
|
createOnlinesettlementRecord(productionreceiptRecordMainDO,productionreceiptRecordDetailDOList); |
|
|
|
//增加库存事务
|
|
|
|
transactionService.createTransaction(transactionCreateReqVOList); |
|
|
|
//移除预计入
|
|
|
@ -335,4 +350,54 @@ public class ProductionreceiptJobMainServiceImpl implements ProductionreceiptJob |
|
|
|
trendsApi.createTrends(productionreceiptJobMainDO.getId(), "productionreceiptJob", "执行了生产收料任务", TrendsTypeEnum.UPDATE); |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 创建 上线结算记录 |
|
|
|
* @param productionreceiptRecordMainDO |
|
|
|
* @param productionreceiptRecordDetailDOList |
|
|
|
*/ |
|
|
|
private void createOnlinesettlementRecord (ProductionreceiptRecordMainDO productionreceiptRecordMainDO, List<ProductionreceiptRecordDetailDO> productionreceiptRecordDetailDOList) { |
|
|
|
OnlinesettlementRecordMainDO onlinesettlementRecordMainDO = new OnlinesettlementRecordMainDO(); |
|
|
|
BeanUtils.copyProperties(productionreceiptRecordMainDO, onlinesettlementRecordMainDO); |
|
|
|
onlinesettlementRecordMainDO.setProductionreceiptRecordNumber(productionreceiptRecordMainDO.getNumber()); |
|
|
|
onlinesettlementRecordMainDO.setWarehouseCode(productionreceiptRecordMainDO.getToWarehouseCode()); |
|
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.ONLINE_SETTLEMENT_RECORD.getCode()); |
|
|
|
onlinesettlementRecordMainDO.setId(null); |
|
|
|
onlinesettlementRecordMainDO.setNumber(number); |
|
|
|
onlinesettlementRecordMainDO.setBusinessType(""); |
|
|
|
onlinesettlementRecordMainDO.setInTransactionType(""); |
|
|
|
onlinesettlementRecordMainDO.setOutTransactionType(""); |
|
|
|
onlinesettlementRecordMainDO.setRequestNumber(""); |
|
|
|
onlinesettlementRecordMainDO.setCreator(null); |
|
|
|
onlinesettlementRecordMainDO.setCreateTime(null); |
|
|
|
onlinesettlementRecordMainDO.setUpdater(null); |
|
|
|
onlinesettlementRecordMainDO.setUpdateTime(null); |
|
|
|
onlinesettlementRecordMainMapper.insert(onlinesettlementRecordMainDO); |
|
|
|
//上线结算记录子 集合
|
|
|
|
List<OnlinesettlementRecordDetailDO> onlinesettlementRecordDetailDOList = new ArrayList<>(); |
|
|
|
productionreceiptRecordDetailDOList.forEach(item -> { |
|
|
|
OnlinesettlementRecordDetailDO onlinesettlementRecordDetailDO = new OnlinesettlementRecordDetailDO(); |
|
|
|
BeanUtils.copyProperties(item, onlinesettlementRecordDetailDO); |
|
|
|
onlinesettlementRecordDetailDO.setPackingNumber(item.getToPackingNumber()); |
|
|
|
onlinesettlementRecordDetailDO.setContainerNumber(item.getToContainerNumber()); |
|
|
|
onlinesettlementRecordDetailDO.setBatch(item.getToBatch()); |
|
|
|
onlinesettlementRecordDetailDO.setLocationCode(item.getToLocationCode()); |
|
|
|
onlinesettlementRecordDetailDO.setLocationGroupCode(item.getToLocationGroupCode()); |
|
|
|
onlinesettlementRecordDetailDO.setAreaCode(item.getToAreaCode()); |
|
|
|
onlinesettlementRecordDetailDO.setMasterId(onlinesettlementRecordMainDO.getId()); |
|
|
|
onlinesettlementRecordDetailDO.setNumber(number); |
|
|
|
onlinesettlementRecordDetailDO.setSupplierCode(item.getSupplierCode()); |
|
|
|
// 查询 供应商物品 赋值 供应商物品代码
|
|
|
|
onlinesettlementRecordDetailDO.setSupplierItemCode(supplieritemService.selectSupplierItemExist(item.getSupplierCode(),item.getItemCode()).getSupplierItemCode()); |
|
|
|
onlinesettlementRecordDetailDO.setId(null); |
|
|
|
onlinesettlementRecordDetailDO.setCreator(null); |
|
|
|
onlinesettlementRecordDetailDO.setCreateTime(null); |
|
|
|
onlinesettlementRecordDetailDO.setUpdater(null); |
|
|
|
onlinesettlementRecordDetailDO.setUpdateTime(null); |
|
|
|
onlinesettlementRecordDetailDOList.add(onlinesettlementRecordDetailDO); |
|
|
|
}); |
|
|
|
if(!onlinesettlementRecordDetailDOList.isEmpty()) { |
|
|
|
onlinesettlementRecordDetailMapper.insertBatch(onlinesettlementRecordDetailDOList); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|