diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/material/vo/MaterialPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/material/vo/MaterialPageReqVO.java index 249f8ab..566ba83 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/material/vo/MaterialPageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/material/vo/MaterialPageReqVO.java @@ -27,6 +27,7 @@ public class MaterialPageReqVO extends PageParam { @Schema(description = "物料名称", example = "李四") private String codeAndName; + private String inventoryName; @Schema(description = "品牌") private String brand; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailSaveReqVO.java index e8886c5..0ad56d3 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailSaveReqVO.java @@ -29,7 +29,7 @@ public class PurchaseOrderMakeDetailSaveReqVO { @Schema(description = "规格型号") private String boomSpec; - + private Long materialId; @Schema(description = "系统单位") private String boomUnit; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordermakedetail/PurchaseOrderMakeDetailDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordermakedetail/PurchaseOrderMakeDetailDO.java index 885e6f3..6e83205 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordermakedetail/PurchaseOrderMakeDetailDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordermakedetail/PurchaseOrderMakeDetailDO.java @@ -100,6 +100,7 @@ public class PurchaseOrderMakeDetailDO extends BaseDO { * 物料需求计划id */ private Long projectMaterialPlanId; + private Long materialId; /** * 物料需求计划子项目id */ diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/material/MaterialMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/material/MaterialMapper.java index 465087c..842a5b3 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/material/MaterialMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/material/MaterialMapper.java @@ -61,6 +61,13 @@ public interface MaterialMapper extends BaseMapperX { .eq(true,MaterialDO::getVirtualPart, YesOrNoEnum.N.name()) .apply(!StringUtils.isEmpty(reqVO.getCodeAndName()), " (t.name like {0} or t.code like {0})", "%"+reqVO.getCodeAndName()+"%"); + if (!StringUtils.isEmpty(reqVO.getInventoryName())) { + query.and(qw -> + qw.like("t.name", reqVO.getInventoryName()) + .or() + .like("t.code", reqVO.getInventoryName()) + ); + } // if(!StringUtils.isEmpty(reqVO.getCodeAndName())){ // query.like(MaterialDO::getName, reqVO.getCodeAndName()).or().like(MaterialDO::getCode, reqVO.getCodeAndName()); // diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java index 08e2f16..b10232f 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java @@ -121,13 +121,7 @@ public interface ProcessBomDetailMapper extends BaseMapperX .eq(reqVO.getBomStatus() != null, ProcessBomDO::getBomStatus, reqVO.getBomStatus()) ; - if (!StringUtils.isEmpty(reqVO.getInventoryName())) { - query.and(qw -> - qw.like("t.material_name", reqVO.getInventoryName()) - .or() - .like("t.material_code", reqVO.getInventoryName()) - ); - } + return selectPage(reqVO, query); } // default List selectListByBomIdbyid(Long bomId,Long bomId) { diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.java index af7e75a..b633147 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.java @@ -10,6 +10,7 @@ import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; import com.chanko.yunxi.mes.module.heli.controller.admin.materialplanboom.vo.MaterialPlanBoomPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageRespVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplan.MaterialPlanDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplanboom.MaterialPlanBoomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO; @@ -36,9 +37,10 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperX selectPage(PurchaseOrderMakeDetailPageReqVO reqVO) { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(PurchaseOrderMakeDetailDO.class) - .select("b.material_name as boomName","b.material_code as boomCode","b.spec as boomSpec","b.unit as boomUnit") + .select("b.material_name as boomName","m.code as boomCode","b.spec as boomSpec","b.unit as boomUnit") .select("pom.purchase_no as purchaseNo") .leftJoin(ProcessBomDetailDO.class,"b",ProcessBomDetailDO::getId,PurchaseOrderMakeDetailDO::getBoomDetailId) + .leftJoin(MaterialDO.class,"m",MaterialDO::getId,PurchaseOrderMakeDetailDO::getMaterialId) .leftJoin(ProjectOrderSubDO.class,"pos",ProjectOrderSubDO::getId,PurchaseOrderMakeDetailDO::getProjectPlanSubId) .leftJoin(ProjectOrderDO.class,"po",ProjectOrderDO::getId, ProjectOrderSubDO::getProjectOrderId) .leftJoin(PurchaseOrderMakeDO.class,"pom",PurchaseOrderMakeDO::getId,PurchaseOrderMakeDetailDO::getPurchaseOrderId) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java index ed2e678..8984471 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java @@ -195,11 +195,12 @@ public class ProcessBomServiceImpl implements ProcessBomService { materialNameList.forEach((materialName, listTemp2) -> { if (listTemp2.size() > 1) { throw new RuntimeException("非标准件物料名称:" + materialName + "重复!"); - }else{ - if(listTemp2.get(0).getSpec() == null){ - throw new RuntimeException("非标准件:" + materialName + "规格为空!"); - } } +// else{ +// if(listTemp2.get(0).getSpec() == null){ +// throw new RuntimeException("非标准件:" + materialName + "规格为空!"); +// } +// } }); }); List processBomDetailDOList = new ArrayList<>(); @@ -300,12 +301,18 @@ public class ProcessBomServiceImpl implements ProcessBomService { // processBomDetailDO.setMaterialId(materialDO.getId());//物料ID // processBomDetailDO.setMaterialCode(materialDO.getCode());//物料编码 // processBomDetailDO.setMaterialName(materialDO.getName());//物料名称 + + }else{ + processBomDetailDO.setMaterialName(o.getMaterialName()); } - processBomDetailDO.setSpec(o.getSpec());//规格 - + if (o.getSpec() == null || o.getSpec().trim().equals("")){ + processBomDetailDO.setSpec("A");//规格 + }else { + processBomDetailDO.setSpec(o.getSpec()); + } processBomDetailDO.setUnit(o.getUnit());//单位 processBomDetailDO.setBlueprintNo(o.getBlueprintNo());//图号 try { diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermakedetail/PurchaseOrderMakeDetailServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermakedetail/PurchaseOrderMakeDetailServiceImpl.java index 60d2a26..8154cf8 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermakedetail/PurchaseOrderMakeDetailServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermakedetail/PurchaseOrderMakeDetailServiceImpl.java @@ -91,7 +91,7 @@ public class PurchaseOrderMakeDetailServiceImpl implements PurchaseOrderMakeDeta pd.setPurchaseOrderId(purchaseOrderNoDO.getId()); pd.setBoomDetailId(pmd.getBoomDetailId()); pd.setBoomName(pmd.getBoomName()); - pd.setMaterialId(pmd.getBoomDetailId()); + pd.setMaterialId(pmd.getMaterialId()); pd.setBoomSpec(pmd.getBoomSpec()); pd.setBoomUnit(pmd.getBoomUnit()); pd.setComposition(pmd.getComposition()); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/purchasemake.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/purchasemake.vue index 6a5ac2b..1af676b 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/purchasemake.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/purchasemake.vue @@ -84,12 +84,12 @@ > - {{ item.materialName }} - {{ item.materialCode }} + {{ item.name }} + {{ item.code }} @@ -145,7 +145,7 @@ import { getIntDictOptions, DICT_TYPE } from '@/utils/dict' import download from '@/utils/download' import * as purchaseOrderMakeDetailApi from '@/api/heli/purchaseordermakedetail' import { useCommonStateWithOut } from '@/store/modules/common' -import * as bomApi from '@/api/heli/processbom' +import * as matApi from '@/api/heli/material' import { useUserStore } from '@/store/modules/user' import matLog from './storageLog.vue' import * as supplierApi from '@/api/heli/supplier' @@ -236,7 +236,7 @@ const remoteMethod = async (query, row) => { // 更新查询参数 queryMaterialParams.inventoryName = query; // 调用API获取物料列表 - const data = await bomApi.detailpages(queryMaterialParams); + const data = await matApi.getMaterialPage(queryMaterialParams); // 更新当前行的物料选择列表 row.materialSelectList = data.list; } else { @@ -252,7 +252,7 @@ const remoteMethod = async (query, row) => { } }; const getMateriallist = async(row) =>{ - const data = await bomApi.detailpages(queryMaterialParams) + const data = await matApi.getMaterialPage(queryMaterialParams) row.materialSelectList = data.list } @@ -287,10 +287,11 @@ const getMat = async (rowids,amount,ids) => { } const changeSupp = async(e,row) => { if(e){ - row.boomDetailId = e.id - row.boomName = e.materialName; - row.boomSpec = e.spec; - row.boomUnit = e.unit + row.materialId = e.id + row.boomCode = e.code + // row.boomName = e.materialName; + // row.boomSpec = e.spec; + // row.boomUnit = e.unit await updateRows(row) } } @@ -311,6 +312,7 @@ const handleQuery = () => { getList() } const opearteForm = async(type) =>{ + loading.value = true; if(type == 1){ router.push({ path: '/purchase/PurchaseOrder', query: { flush: 1 } }) return; @@ -324,10 +326,12 @@ const opearteForm = async(type) =>{ var row = ids.value[i]; if(row.orderStatus == 2){ message.error('已生成采购订单!') + loading.value = false return } if(!row.boomDetailId){ message.error('零件编码不能为空!') + loading.value = false return } if( !sets.has(row.supplierId) || sets == null ){ @@ -336,6 +340,7 @@ const opearteForm = async(type) =>{ } if(sets != null && sets.size > 1){ message.error('不同供应商,不能生成一个订单,请确认!'); + loading.value = false return } @@ -348,7 +353,9 @@ const opearteForm = async(type) =>{ buyType:0 } await purchaseOrderMakeDetailApi.updatePurchaseOrderDetail(form); - message.success("生成成功,请刷新") + loading.value = false + message.success("生成成功") + await getList(); } }else{ message.error("至少选择一项后进行操作!") diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/standardbuy.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/standardbuy.vue index 052c88e..c628e3e 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/standardbuy.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/standardbuy.vue @@ -265,7 +265,7 @@ const changeDate = async(e,row) => { } } const serachLog = (row) => { - matLogRef.value.open(row.id,row.matCode) + matLogRef.value.open(row.id,row.matName) } /** 搜索按钮操作 */ const handleQuery = () => { @@ -274,29 +274,36 @@ const handleQuery = () => { } const opearteForm = async(type) =>{ if(ids.value != null && ids.value.length > 0){ + loading.value = true if(type == 0){ //送审 var isError = false; var sets = new Set(); for(var i = 0 ; i{ } if(sets != null && sets.size > 1){ message.error('不通项目不能同时生成采购单'); + loading.value = false return } @@ -316,14 +324,24 @@ const opearteForm = async(type) =>{ materialPlanBoomDOList:ids.value, buyType:0 } - await materialPlanBoomApi.updateMaterialPlanBoom(form); - message.success("送审成功") + try{ + await materialPlanBoomApi.updateMaterialPlanBoom(form); + message.success("送审成功") + await getList() + }catch(e){ + loading.value = false + }finally{ + loading.value = false + } + + }else{ //去库存 for(var i = 0 ; i{ } await materialPlanBoomApi.updateMaterialPlanBoom(form); message.success("去库存成功") + await getList() + loading.value = false } }else{ message.error("至少选择一项后进行操作!") + loading.value = false return ; } } diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/storageLog.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/storageLog.vue index d4267ee..cb97002 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/storageLog.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/storageLog.vue @@ -174,7 +174,7 @@ const open = async (rowids,matCode) => { clickItem.value = null; //multipleTableRef.value!.clearSelection() dialogVisible.value = true - queryParams.matCode = matCode; + queryParams.matName = matCode; rowid.value = rowids await getList();