物料管理 接口过滤虚拟物料

物料管理 接口过滤虚拟物料
pull/4/head
siontion 8 months ago
parent 63668f31c5
commit 8a481e6adc

@ -35,11 +35,14 @@ public interface MaterialMapper extends BaseMapperX<MaterialDO> {
.like(!StringUtils.isEmpty(reqVO.getCode()), MaterialDO::getCode, reqVO.getCode()) .like(!StringUtils.isEmpty(reqVO.getCode()), MaterialDO::getCode, reqVO.getCode())
.eq(!StringUtils.isEmpty(reqVO.getMaterialType()), MaterialDO::getMaterialType, reqVO.getMaterialType()) .eq(!StringUtils.isEmpty(reqVO.getMaterialType()), MaterialDO::getMaterialType, reqVO.getMaterialType())
.eq(reqVO.getStatus() != null, MaterialDO::getStatus, reqVO.getStatus()) .eq(reqVO.getStatus() != null, MaterialDO::getStatus, reqVO.getStatus())
.eq(true,MaterialDO::getVirtualPart, YesOrNoEnum.N.name()); .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.getCodeAndName())){
// query.like(MaterialDO::getName, reqVO.getCodeAndName()).or().like(MaterialDO::getCode, reqVO.getCodeAndName());
//
// }
if(!StringUtils.isEmpty(reqVO.getCodeAndName())){
query.like(MaterialDO::getName, reqVO.getCodeAndName()).or().like(MaterialDO::getCode, reqVO.getCodeAndName());
}
return selectPage(reqVO, query); return selectPage(reqVO, query);
} }

@ -1,10 +1,12 @@
package com.chanko.yunxi.mes.module.heli.service.plan; package com.chanko.yunxi.mes.module.heli.service.plan;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
import com.chanko.yunxi.mes.module.heli.controller.admin.plan.vo.PlanPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.plan.vo.PlanPageReqVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.plan.vo.PlanSaveReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.plan.vo.PlanSaveReqVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.plansub.vo.PlanSubPageReqVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansub.PlanSubDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansub.PlanSubDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO;
@ -119,6 +121,8 @@ public class PlanServiceImpl implements PlanService {
orderByDesc(PlanDO::getId); orderByDesc(PlanDO::getId);
last("LIMIT 1"); last("LIMIT 1");
}}); }});
// 生成生产计划子项目信息
List<ProjectOrderSubDO> projectOrderSubDOs = projectOrderService.getProjectOrderSubListByProjectOrderId(projectId);
if(planDO != null){ if(planDO != null){
// 设置项目更新次数 // 设置项目更新次数
planDO.setChangeNum(planDO.getChangeNum()+1); planDO.setChangeNum(planDO.getChangeNum()+1);
@ -127,6 +131,22 @@ public class PlanServiceImpl implements PlanService {
// 设置生产计划状态 // 设置生产计划状态
planDO.setStatus(ProjectPlanStatusEnum.CHANGE.getCode()); planDO.setStatus(ProjectPlanStatusEnum.CHANGE.getCode());
planMapper.updateById(planDO); planMapper.updateById(planDO);
PlanSubPageReqVO pageReqVO = new PlanSubPageReqVO();
pageReqVO.setPageNo(1);
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<PlanSubDO> list = planSubMapper.selectPage(pageReqVO).getList();
for(ProjectOrderSubDO item : projectOrderSubDOs){
if(!list.stream().anyMatch(a ->a.getProjectSubId().equals(item.getId()))) {
PlanSubDO planSubDO = new PlanSubDO();
planSubDO.setProjectPlanId(planDO.getId());
planSubDO.setProjectId(projectId);
planSubDO.setProjectSubId(item.getId());
planSubMapper.insert(planSubDO);
}
}
}else{ }else{
planDO = new PlanDO(); planDO = new PlanDO();
planDO.setProjectId(projectId); planDO.setProjectId(projectId);
@ -146,8 +166,6 @@ public class PlanServiceImpl implements PlanService {
// 回写序列记录 // 回写序列记录
serialNumberService.updateSerialNumber(serialNumberDO); serialNumberService.updateSerialNumber(serialNumberDO);
// 生成生产计划子项目信息
List<ProjectOrderSubDO> projectOrderSubDOs = projectOrderService.getProjectOrderSubListByProjectOrderId(projectId);
for(ProjectOrderSubDO item : projectOrderSubDOs){ for(ProjectOrderSubDO item : projectOrderSubDOs){
PlanSubDO planSubDO = new PlanSubDO(); PlanSubDO planSubDO = new PlanSubDO();
planSubDO.setProjectPlanId(planDO.getId()); planSubDO.setProjectPlanId(planDO.getId());

@ -106,7 +106,7 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="工艺负责人" prop="craftOwner"> <el-form-item label="工艺负责人" prop="craftOwner">
<el-select class="!w-265px" v-model="formData.craftOwner" filterable > <el-select class="!w-265px" v-model="formData.craftOwner" filterable :disabled="!formData.hasCraft " >
<el-option v-for="dict in userInit" :key="dict.id" <el-option v-for="dict in userInit" :key="dict.id"
:label="dict.username+' '+dict.nickname" :value="dict.id" /> :label="dict.username+' '+dict.nickname" :value="dict.id" />
</el-select> </el-select>
@ -166,7 +166,7 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item label="工艺开始日期" prop="craftStartTime"> <el-form-item label="工艺开始日期" prop="craftStartTime">
<el-date-picker class="!w-265px" v-model="formData.craftStartDate" type="date" value-format="x" <el-date-picker class="!w-265px" v-model="formData.craftStartDate" type="date" value-format="x"
placeholder="工艺开始日期" /> placeholder="工艺开始日期" :disabled="!formData.hasCraft "/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -238,7 +238,7 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item label="工艺结束日期" prop="craftEndTime"> <el-form-item label="工艺结束日期" prop="craftEndTime">
<el-date-picker class="!w-265px" v-model="formData.craftEndDate" type="date" value-format="x" <el-date-picker class="!w-265px" v-model="formData.craftEndDate" type="date" value-format="x"
placeholder="工艺结束日期" /> placeholder="工艺结束日期" :disabled="!formData.hasCraft " />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -280,9 +280,9 @@
<el-row> <el-row>
<el-col> <el-col>
<el-card class="hl-incard"> <el-card class="hl-incard">
<el-form ref="subFormRef" :model="formData.projectOrderSubs" :rules="subFormRules" <el-form ref="subFormRef" :model="formData.projectPlanSubs" :rules="subFormRules"
v-loading="subFormLoading" label-width="0"> v-loading="subFormLoading" label-width="0">
<el-table :data="formData.projectOrderSubs" class="hl-table"> <el-table :data="formData.projectPlanSubs" class="hl-table">
<el-table-column label="序号" type="index" width="80" fixed /> <el-table-column label="序号" type="index" width="80" fixed />
<el-table-column prop="name" label="子项目名称" min-width="120" align="center" fixed /> <el-table-column prop="name" label="子项目名称" min-width="120" align="center" fixed />
<el-table-column prop="projectSubShortName" min-width="150" align="center"> <el-table-column prop="projectSubShortName" min-width="150" align="center">
@ -573,21 +573,21 @@ const submitForm = async () => {
data.craftContent = JSON.stringify(data.craftInfos) data.craftContent = JSON.stringify(data.craftInfos)
await PlanApi.updatePlan(data) await PlanApi.updatePlan(data)
formData.value.projectOrderSubs.forEach(item => { formData.value.projectPlanSubs.forEach(item => {
var subData = item as unknown as PlanSubApid.PlanSubVo var subData = item as unknown as PlanSubApid.PlanSubVo
subData.projectId = item.projectOrderId // subData.projectId = item.projectOrderId
subData.projectPlanId = formData.value.id // subData.projectPlanId = formData.value.id
subData.projectSubShortName = item.projectSubShortName // subData.projectSubShortName = item.projectSubShortName
subData.projectSubCode = item.projectSubCode // subData.projectSubCode = item.projectSubCode
subData.projectSubId = item.id // subData.projectSubId = item.projectSubId
if (item.planSubId == undefined) { if (subData.id == undefined) {
subData.id = 0 subData.id = 0
PlanSubApi.createPlanSub(subData) subData.id = PlanSubApi.createPlanSub(subData)
} else { } else {
subData.id = item.planSubId //subData.id = item.planSubId
PlanSubApi.updatePlanSub(subData) PlanSubApi.updatePlanSub(subData)
} }
subData.id = subData.projectSubId //subData.id = subData.projectSubId
}) })
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
// //
@ -612,23 +612,26 @@ const handleInitPlanSub = async () => {
formData.value.projectPlanSubs = formData.value.projectPlanSubs =
(await PlanSubApi.getPlanSubPage(queryParams)).list (await PlanSubApi.getPlanSubPage(queryParams)).list
formData.value.projectOrderSubs.forEach(item => { formData.value.projectPlanSubs.forEach(item => {
if (formData.value.projectPlanSubs.filter(sub => sub.projectSubId == item.id).length > 0) { if (formData.value.projectOrderSubs.filter(sub => item.projectSubId == sub.id).length > 0) {
var subTemp = formData.value.projectPlanSubs.find(sub => sub.projectSubId == item.id) var subTemp = formData.value.projectOrderSubs.find(sub => item.projectSubId == sub.id)
item.planSubId = subTemp.id item.planSubId = item.id
item.projectPlanId = subTemp.projectPlanId item.projectPlanId = subTemp.projectPlanId
item.projectId = subTemp.projectId item.projectId = subTemp.projectOrderId
item.projectSubId = subTemp.projectSubId item.projectSubId = subTemp.id
item.projectSubShortName = subTemp.projectSubShortName item.name = subTemp.name
item.projectSubCode = subTemp.projectSubCode item.compositionName = subTemp.compositionName
item.mouldId = subTemp.mouldId item.unit= subTemp.unit
item.equipId = subTemp.equipId item.amount = subTemp.amount
item.blankDate = subTemp.blankDate // item.projectSubCode = subTemp.projectSubCode
item.blankOwner = subTemp.blankOwner // item.mouldId = subTemp.mouldId
item.twoDimDate = subTemp.twoDimDate // item.equipId = subTemp.equipId
item.twoDimOwner = subTemp.twoDimOwner // item.blankDate = subTemp.blankDate
item.threeDimDate = subTemp.threeDimDate // item.blankOwner = subTemp.blankOwner
item.threeDimOwner = subTemp.threeDimOwner // item.twoDimDate = subTemp.twoDimDate
// item.twoDimOwner = subTemp.twoDimOwner
// item.threeDimDate = subTemp.threeDimDate
// item.threeDimOwner = subTemp.threeDimOwner
item.equipList = equipInit.value.filter(rg => rg.mould_type_id == subTemp.mouldId) item.equipList = equipInit.value.filter(rg => rg.mould_type_id == subTemp.mouldId)
} }
@ -649,6 +652,7 @@ onMounted(async () => {
equipInit.value = await EquipApi.getSimpList() equipInit.value = await EquipApi.getSimpList()
// //
formData.value = await PlanApi.getPlan(query.id) formData.value = await PlanApi.getPlan(query.id)
formData.value.hasCraft = 1
await handleInitPlanSub() await handleInitPlanSub()

Loading…
Cancel
Save