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

物料管理 接口过滤虚拟物料
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())
.eq(!StringUtils.isEmpty(reqVO.getMaterialType()), MaterialDO::getMaterialType, reqVO.getMaterialType())
.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);
}

@ -1,10 +1,12 @@
package com.chanko.yunxi.mes.module.heli.service.plan;
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.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.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.plansub.PlanSubDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO;
@ -119,6 +121,8 @@ public class PlanServiceImpl implements PlanService {
orderByDesc(PlanDO::getId);
last("LIMIT 1");
}});
// 生成生产计划子项目信息
List<ProjectOrderSubDO> projectOrderSubDOs = projectOrderService.getProjectOrderSubListByProjectOrderId(projectId);
if(planDO != null){
// 设置项目更新次数
planDO.setChangeNum(planDO.getChangeNum()+1);
@ -127,6 +131,22 @@ public class PlanServiceImpl implements PlanService {
// 设置生产计划状态
planDO.setStatus(ProjectPlanStatusEnum.CHANGE.getCode());
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{
planDO = new PlanDO();
planDO.setProjectId(projectId);
@ -146,8 +166,6 @@ public class PlanServiceImpl implements PlanService {
// 回写序列记录
serialNumberService.updateSerialNumber(serialNumberDO);
// 生成生产计划子项目信息
List<ProjectOrderSubDO> projectOrderSubDOs = projectOrderService.getProjectOrderSubListByProjectOrderId(projectId);
for(ProjectOrderSubDO item : projectOrderSubDOs){
PlanSubDO planSubDO = new PlanSubDO();
planSubDO.setProjectPlanId(planDO.getId());

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

Loading…
Cancel
Save