Browse Source

生成收料任务修改

master
陈薪名 2 years ago
parent
commit
b67a9a3536
  1. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptJob/vo/ProductionreceiptJobDetailUpdateReqVO.java
  2. 65
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreceiptJob/ProductionreceiptJobMainServiceImpl.java

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptJob/vo/ProductionreceiptJobDetailUpdateReqVO.java

@ -30,4 +30,7 @@ public class ProductionreceiptJobDetailUpdateReqVO extends ProductionreceiptJobD
@Schema(description = "到库位")
private String toLocationCode;
@Schema(description = "供应商代码")
private String supplierCode;
}

65
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreceiptJob/ProductionreceiptJobMainServiceImpl.java

@ -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);
}
}
}

Loading…
Cancel
Save