diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelog/StorageLogDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelog/StorageLogDO.java index 23567562..2e2f2d8c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelog/StorageLogDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelog/StorageLogDO.java @@ -1,5 +1,6 @@ package com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; import lombok.*; import java.util.*; import java.math.BigDecimal; @@ -72,9 +73,12 @@ public class StorageLogDO extends BaseDO { private BigDecimal storageAft; private BigDecimal storageBef; private String codeNo; + private BigDecimal price; + private Long supplierId; + private String auItem; @TableField(exist = false) private String matCode; - @TableField(exist = false) + private String matName; @TableField(exist = false) private String matSpec; @@ -86,6 +90,7 @@ public class StorageLogDO extends BaseDO { private String rgName; @TableField(exist = false) private String pnName; - + @TableField(exist = false) + private List materialDOList; } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java index 28294776..db89fc40 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java @@ -13,6 +13,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.equip.EquipDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO; import com.chanko.yunxi.mes.module.system.dal.dataobject.dept.DeptDO; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import com.github.yulichang.wrapper.MPJLambdaWrapper; @@ -190,4 +191,11 @@ public interface ProjectOrderMapper extends BaseMapperX { // // ); } + + default ProjectOrderDO selectByStockId(Long stockId){ + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(ProjectOrderDO.class) + .leftJoin(StorageDO.class,"s",StorageDO::getProjectNo,ProjectOrderDO::getId); + return selectOne(query.eq(StorageDO::getId,stockId)); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogMapper.java index 3cee8e32..ae56d9b5 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogMapper.java @@ -29,7 +29,7 @@ public interface StorageLogMapper extends BaseMapperX { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(StorageLogDO.class) - .select( "mat.name as matName","mat.code as matCode","mat.unit as matUnit","wh.wh_name as whName","rg.rg_name as rgName","pn.pn_name as pnName") + .select( "COALESCE(mat.name, t.mat_name) as matName","mat.code as matCode","mat.unit as matUnit","wh.wh_name as whName","rg.rg_name as rgName","pn.pn_name as pnName") .select("mat.spec as matSpec") // .leftJoin(StorageDO.class, "st", StorageDO::getId, StorageLogDO::getStockId) .leftJoin(MaterialDO.class,"mat", MaterialDO::getId,StorageLogDO::getMatId) @@ -44,7 +44,7 @@ public interface StorageLogMapper extends BaseMapperX { .like(!StringUtils.isEmpty(reqVO.getMatName()), MaterialDO::getName, reqVO.getMatName()) .like(!StringUtils.isEmpty(reqVO.getCodeNo()), StorageLogDO::getCodeNo, reqVO.getCodeNo()) .like(!StringUtils.isEmpty(reqVO.getMatSpec()), MaterialDO::getSpec, reqVO.getMatSpec()) - + .notIn(StorageLogDO::getStockMode,24,14) .eq(!ObjectUtil.isEmpty(reqVO.getWhId()), StorageLogDO::getWhId, reqVO.getWhId()); return selectPage(reqVO,query); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailServiceImpl.java index 1870761c..51b4b78e 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailServiceImpl.java @@ -17,6 +17,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorderno.PurchaseOrderNoDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO; @@ -34,6 +35,7 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplandetail.MaterialPla import com.chanko.yunxi.mes.module.heli.dal.mysql.plan.PlanMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseorderno.PurchaseOrderNoMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.storage.StorageMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.storagein.StorageInMapper; @@ -138,7 +140,8 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe private PlanMapper planMapper; @Resource private PgMasterService pgMasterService; - + @Resource + private ProjectOrderMapper projectOrderMapper; @Override public Long createPurchaseOrderNoDetail(PurchaseOrderNoDetailSaveReqVO createReqVO) { // 插入 @@ -243,7 +246,7 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe // //出库库物料集合 // ArrayList outList = new ArrayList<>(); ArrayList logList = new ArrayList<>(); - ArrayList outLogList = new ArrayList<>(); +// ArrayList outLogList = new ArrayList<>(); //生成入库单 StorageInDO storageInDO = new StorageInDO(); @@ -347,12 +350,13 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe // storageMatDOS.add(storageMatDO); // outList.add(outMat); StorageLogDO logDO = new StorageLogDO(); - StorageLogDO outLogDO = new StorageLogDO(); +// StorageLogDO outLogDO = new StorageLogDO(); StorageInDetailDO storageInDetailDO = new StorageInDetailDO(); storageInDetailDO.setStorageNoId(storageInDO.getId()); storageInDetailDO.setProjectSubCode(byId.getProjectSubCode()); storageInDetailDO.setBoomDetailId(byId.getBoomDetailId()); storageInDetailDO.setBoomName(byId.getBoomName()); + logDO.setMatName(byId.getBoomName()); storageInDetailDO.setBoomSpec(byId.getBoomSpec()); storageInDetailDO.setBoomUnit(byId.getBoomUnit()); storageInDetailDO.setComposition(byId.getComposition()); @@ -369,10 +373,10 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe } if (result.compareTo(BigDecimal.ZERO)==0){ storageInDetailDO.setEstimatedPrice(BigDecimal.ZERO); - + logDO.setPrice(BigDecimal.ZERO); }else { storageInDetailDO.setEstimatedPrice(detailDO.getPurchaseRemAmounts().multiply( result).setScale(1, RoundingMode.HALF_UP)); - + logDO.setPrice(detailDO.getPurchaseRemAmounts().multiply( result).setScale(1, RoundingMode.HALF_UP)); } storageInDetailDO.setActualPrice(byId.getActualPrice()); storageInDetailDO.setBoomAmount(byId.getBoomAmount()); @@ -393,22 +397,27 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe PurchaseOrderNoDO purchaseOrderNoDO = purchaseOrderNoMapper.selectById(byId.getPurchaseOrderId()); if (ObjectUtil.isNotEmpty(purchaseOrderNoDO)){ storageInDetailDO.setSupplierId(purchaseOrderNoDO.getSupplierId()); + logDO.setSupplierId(purchaseOrderNoDO.getSupplierId()); } storageInDetailDO.setPurchaseOrderNoId(byId.getPurchaseOrderId()); storageInDetailDO.setPurchaseOrderNoDetailId(byId.getId()); storageInDetailDO.setAcarrDate(byId.getBoomArriveDates()); storageInDetailMapper.insert(storageInDetailDO); - logDO.setStockId(storageInDetailDO.getId()); +// ProjectOrderDO projectOrderDO = projectOrderMapper.selectById(byId.getProjectId()); +// if (ObjectUtil.isNotEmpty(projectOrderDO)){ +// logDO.setAuItem(projectOrderDO.getAuItem()); +// } + logDO.setStockId(storageInDetailDO.getId()); logDO.setStorageOkQty(detailDO.getPurchaseRemAmounts()); logDO.setStockMode(11); logDO.setStockType(1); logDO.setGoodsType(2); logDO.setCodeNo(storageInDO.getStorageNo()); logList.add(logDO); - outLogDO.setStockMode(25); - outLogDO.setStockType(2); - outLogDO.setGoodsType(2); - outLogList.add(outLogDO); +// outLogDO.setStockMode(25); +// outLogDO.setStockType(2); +// outLogDO.setGoodsType(2); +// outLogList.add(outLogDO); } // } storageLogMapper.insertBatch(logList); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storage/StorageServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storage/StorageServiceImpl.java index b7a609d9..f129cc1f 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storage/StorageServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storage/StorageServiceImpl.java @@ -20,6 +20,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.outsourcestock.OutsourceS import com.chanko.yunxi.mes.module.heli.dal.dataobject.outsourcestockboom.OutsourceStockBoomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.outsourcestockmaterial.OutsourceStockMaterialDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorder.PurchaseOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; @@ -37,6 +38,7 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.outsourcestock.OutsourceStockM import com.chanko.yunxi.mes.module.heli.dal.mysql.outsourcestockboom.OutsourceStockBoomMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.outsourcestockmaterial.OutsourceStockMaterialMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.pn.PnMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseorder.PurchaseOrderMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordernodetail.PurchaseOrderNoDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.storageinventory.StorageInventoryMapper; @@ -58,6 +60,7 @@ import com.chanko.yunxi.mes.module.system.dal.mysql.dict.DictDataMapper; import com.chanko.yunxi.mes.module.system.service.user.AdminUserService; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.hibernate.validator.constraints.EAN; import org.springframework.data.redis.hash.ObjectHashMapper; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -144,6 +147,8 @@ public class StorageServiceImpl implements StorageService { @Resource private StorageLogService storageLogService; + @Resource + private ProjectOrderMapper projectOrderMapper; /* * * 委外验收取消提交,作废入库单 @@ -512,7 +517,8 @@ public class StorageServiceImpl implements StorageService { // 将物料信息转化日志信息 List logList = BeanUtils.toBean(matList,StorageLogDO.class); // 同步库存单状态到日志,便于以后统计 - + ProjectOrderDO projectOrderDO = projectOrderMapper.selectByStockId(stockId); + StorageDO storageDO = storageMapper.selectById(stockId); for (StorageLogDO log : logList){ log.setId(null); log.setStatus(status); @@ -521,11 +527,17 @@ public class StorageServiceImpl implements StorageService { log.setStockType(1); log.setGoodsType(1); log.setCodeNo(stockNo); + if (ObjectUtil.isNotEmpty(storageDO.getSupplierId())){ + log.setSupplierId(storageDO.getSupplierId()); + } }else { log.setStockMode(25); log.setStockType(2); log.setGoodsType(1); log.setCodeNo(stockNo); + if (ObjectUtil.isNotEmpty(projectOrderDO)){ + log.setAuItem(projectOrderDO.getAuItem()); + } } } // 批量保存当前库存物料日志信息 diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogServiceImpl.java index a7185ff5..ab9ff3c3 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogServiceImpl.java @@ -106,7 +106,18 @@ public class StorageLogServiceImpl implements StorageLogService { @Override public PageResult getStorageLogPage(StorageLogPageReqVO pageReqVO) { // return storageLogAllMapper.selectPage(pageReqVO); - return storageLogMapper.selectPage(pageReqVO); + PageResult pageResult = storageLogMapper.selectPage(pageReqVO); + for (StorageLogDO logDO : pageResult.getList()) { + if (logDO.getGoodsType()==2){ + if (ObjectUtil.isNotEmpty(logDO.getMatName())){ + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(MaterialDO::getName, logDO.getMatName()); + List materialDOS = materialMapper.selectList(queryWrapper); + logDO.setMaterialDOList(materialDOS); + } + } + } + return pageResult; } @Override diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/partReceived.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/partReceived.vue index a06b59b4..44daedd6 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/partReceived.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/partReceived.vue @@ -1,7 +1,7 @@