零件采购fix

This commit is contained in:
wb_zhanghaoyuan 2025-06-30 13:46:51 +08:00
parent 56e120c9d3
commit 4b7d0a2c08
5 changed files with 68 additions and 30 deletions

View File

@ -130,4 +130,9 @@ public class PurchaseOrderMakeSaveReqVO {
*/ */
private Long duEmpId; private Long duEmpId;
/**
* 泡沫
*/
private String isFoam;
} }

View File

@ -162,4 +162,9 @@ public class PurchaseOrderMakeDetailDO extends BaseDO {
@TableField(exist = false) @TableField(exist = false)
private Long procedureName; private Long procedureName;
/**
* 泡沫
*/
private String isFoam;
} }

View File

@ -209,6 +209,7 @@ public interface MaterialPlanBoomMapper extends BaseMapperX<MaterialPlanBoomDO>
.select("p.project_name as projectName","p.name as projectSubName","p.name_sim as projectSubNameSim") .select("p.project_name as projectName","p.name as projectSubName","p.name_sim as projectSubNameSim")
.select("d.spec as boomSpec","d.blueprint_no as blueprintNo","d.unit as unit","f.name as supplierName") .select("d.spec as boomSpec","d.blueprint_no as blueprintNo","d.unit as unit","f.name as supplierName")
.select("a.nickname as duEmpName","c.name as procedureName","e.name as compositionName") .select("a.nickname as duEmpName","c.name as procedureName","e.name as compositionName")
.select("t.mat_weight as theWeight")
.select(MaterialPlanDO::getBrief, MaterialPlanDO::getCustomerId, MaterialPlanDO::getProjectId, MaterialPlanDO::getProjectNameSim) .select(MaterialPlanDO::getBrief, MaterialPlanDO::getCustomerId, MaterialPlanDO::getProjectId, MaterialPlanDO::getProjectNameSim)
.leftJoin(MaterialPlanDO.class, "p", MaterialPlanDO::getId,MaterialPlanBoomDO::getProjectMaterialPlanId) .leftJoin(MaterialPlanDO.class, "p", MaterialPlanDO::getId,MaterialPlanBoomDO::getProjectMaterialPlanId)
.leftJoin(ProcessBomDetailDO.class,"d",ProcessBomDetailDO::getId,MaterialPlanBoomDO::getBoomDetailId) .leftJoin(ProcessBomDetailDO.class,"d",ProcessBomDetailDO::getId,MaterialPlanBoomDO::getBoomDetailId)
@ -229,6 +230,15 @@ public interface MaterialPlanBoomMapper extends BaseMapperX<MaterialPlanBoomDO>
.in(Objects.nonNull(pageReqVO.getMplanStatus()), MaterialPlanBoomDO::getMplanStatus, pageReqVO.getMplanStatus() != null && pageReqVO.getMplanStatus() != 0 ? Arrays.asList(pageReqVO.getMplanStatus()) : Arrays.asList(0, 3)) .in(Objects.nonNull(pageReqVO.getMplanStatus()), MaterialPlanBoomDO::getMplanStatus, pageReqVO.getMplanStatus() != null && pageReqVO.getMplanStatus() != 0 ? Arrays.asList(pageReqVO.getMplanStatus()) : Arrays.asList(0, 3))
.eq(Objects.nonNull(pageReqVO.getProjectMaterialPlanNo()), MaterialPlanDO::getProjectMaterialPlanNo, pageReqVO.getProjectMaterialPlanNo()); .eq(Objects.nonNull(pageReqVO.getProjectMaterialPlanNo()), MaterialPlanDO::getProjectMaterialPlanNo, pageReqVO.getProjectMaterialPlanNo());
if (Objects.nonNull(pageReqVO.getMplanStatus())) {
// 根据 mplanStatus 的值动态设置排序字段
if (pageReqVO.getMplanStatus() == 0) {
query.orderByAsc(MaterialPlanBoomDO::getCreateTime);
} else {
query.orderByDesc(MaterialPlanBoomDO::getPurchaseNo);
}
}
PageResult<MaterialPlanBoomDO> pageResult = selectPage(pageReqVO, query); PageResult<MaterialPlanBoomDO> pageResult = selectPage(pageReqVO, query);
return pageResult; return pageResult;
} }

View File

@ -36,6 +36,7 @@ import com.chanko.yunxi.mes.module.system.service.user.AdminUserService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -238,8 +239,42 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
@Override @Override
public Boolean createPurchaseOrderMakeAndDetailBatch(List<PurchaseOrderMakeSaveReqVO> updateReqVOs) { public Boolean createPurchaseOrderMakeAndDetailBatch(List<PurchaseOrderMakeSaveReqVO> updateReqVOs) {
updateReqVOs.forEach(updateReqVO -> { if (CollectionUtils.isEmpty(updateReqVOs)) {
createPurchaseOrderMakeAndDetail(updateReqVO); return false;
}
PurchaseOrderMakeSaveReqVO updateReqVO = updateReqVOs.get(0);
PurchaseOrderMakeDO purchaseOrderMakeDO = new PurchaseOrderMakeDO();
// 返回
// 月度流水号
SerialNumberDO serialNumberDO = new SerialNumberDO();
serialNumberDO = serialNumberService.getSerialNumber(PURCHASE_ORDER.name(), new SimpleDateFormat("yyyyMMdd").format(new Date()));
serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1);
// 回写序列记录
serialNumberService.updateSerialNumber(serialNumberDO);
purchaseOrderMakeDO.setPurchaseNo(PURCHASE_ORDER.getCode(serialNumberDO.getSerialNumber().toString()));
purchaseOrderMakeDO.setGoodsType(2);
purchaseOrderMakeDO.setStatus(1);
purchaseOrderMakeDO.setSubmitUserId(getLoginUser().getId());
purchaseOrderMakeDO.setSubmitTime(LocalDateTime.now());
purchaseOrderMakeDO.setProjectId(updateReqVO.getProjectId());
PlanDO planDO = planMapper.selectOne("plan_no", updateReqVO.getProjectId());
purchaseOrderMakeDO.setProjectPlanId(Objects.nonNull(planDO)?planDO.getId(): null);
purchaseOrderMakeDO.setCustomerId(updateReqVO.getCustomerId());
purchaseOrderMakeDO.setBrief(updateReqVO.getBrief());
purchaseOrderMakeDO.setProjectName(updateReqVO.getProjectName());
purchaseOrderMakeDO.setProjectNameSim(updateReqVO.getProjectNameSim());
purchaseOrderMakeMapper.insert(purchaseOrderMakeDO);
long purchaseOrderMakeId = purchaseOrderMakeDO.getId();
String purchaseOrderMakeDOPurchaseNo = purchaseOrderMakeDO.getPurchaseNo();
updateReqVOs.forEach(updateReq -> {
createPurchaseOrderMakeAndDetail(updateReq,purchaseOrderMakeId, purchaseOrderMakeDOPurchaseNo);
}); });
return true; return true;
@ -277,32 +312,7 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
return CommonResult.success(orderMakeDO); return CommonResult.success(orderMakeDO);
} }
public Boolean createPurchaseOrderMakeAndDetail(PurchaseOrderMakeSaveReqVO updateReqVO) { public Boolean createPurchaseOrderMakeAndDetail(PurchaseOrderMakeSaveReqVO updateReqVO, long purchaseOrderMakeId, String purchaseOrderMakeDOPurchaseNo) {
PurchaseOrderMakeDO purchaseOrderMakeDO = new PurchaseOrderMakeDO();
// 返回
// 月度流水号
SerialNumberDO serialNumberDO = new SerialNumberDO();
serialNumberDO = serialNumberService.getSerialNumber(PURCHASE_ORDER.name(), new SimpleDateFormat("yyyyMMdd").format(new Date()));
serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1);
// 回写序列记录
serialNumberService.updateSerialNumber(serialNumberDO);
purchaseOrderMakeDO.setPurchaseNo(PURCHASE_ORDER.getCode(serialNumberDO.getSerialNumber().toString()));
purchaseOrderMakeDO.setGoodsType(2);
purchaseOrderMakeDO.setStatus(1);
purchaseOrderMakeDO.setSubmitUserId(getLoginUser().getId());
purchaseOrderMakeDO.setSubmitTime(LocalDateTime.now());
purchaseOrderMakeDO.setProjectId(updateReqVO.getProjectId());
PlanDO planDO = planMapper.selectOne("plan_no", updateReqVO.getProjectId());
purchaseOrderMakeDO.setProjectPlanId(Objects.nonNull(planDO)?planDO.getId(): null);
purchaseOrderMakeDO.setCustomerId(updateReqVO.getCustomerId());
purchaseOrderMakeDO.setBrief(updateReqVO.getBrief());
purchaseOrderMakeDO.setProjectName(updateReqVO.getProjectName());
purchaseOrderMakeDO.setProjectNameSim(updateReqVO.getProjectNameSim());
purchaseOrderMakeMapper.insert(purchaseOrderMakeDO);
long purchaseOrderMakeId = purchaseOrderMakeDO.getId();
PurchaseOrderMakeDetailDO purchaseOrderMakeDetailDO = new PurchaseOrderMakeDetailDO(); PurchaseOrderMakeDetailDO purchaseOrderMakeDetailDO = new PurchaseOrderMakeDetailDO();
purchaseOrderMakeDetailDO.setPurchaseOrderId(purchaseOrderMakeId); purchaseOrderMakeDetailDO.setPurchaseOrderId(purchaseOrderMakeId);
purchaseOrderMakeDetailDO.setBoomDetailId(updateReqVO.getBoomDetailId()); purchaseOrderMakeDetailDO.setBoomDetailId(updateReqVO.getBoomDetailId());
@ -328,6 +338,7 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
purchaseOrderMakeDetailDO.setDescription(updateReqVO.getDescription()); purchaseOrderMakeDetailDO.setDescription(updateReqVO.getDescription());
purchaseOrderMakeDetailDO.setTheWeight(updateReqVO.getTheWeight()); purchaseOrderMakeDetailDO.setTheWeight(updateReqVO.getTheWeight());
purchaseOrderMakeDetailDO.setDuEmpId(updateReqVO.getDuEmpId()); purchaseOrderMakeDetailDO.setDuEmpId(updateReqVO.getDuEmpId());
purchaseOrderMakeDetailDO.setIsFoam(updateReqVO.getIsFoam());
purchaseOrderMakeDetailMapper.insert(purchaseOrderMakeDetailDO); purchaseOrderMakeDetailMapper.insert(purchaseOrderMakeDetailDO);
long purchaseOrderMakeDetailId = purchaseOrderMakeDetailDO.getId(); long purchaseOrderMakeDetailId = purchaseOrderMakeDetailDO.getId();
@ -336,8 +347,15 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
materialPlanBoomDO.setId(updateReqVO.getId()); materialPlanBoomDO.setId(updateReqVO.getId());
materialPlanBoomDO.setMplanStatus(1); materialPlanBoomDO.setMplanStatus(1);
materialPlanBoomDO.setProjectPurchaseOrderMakeId(purchaseOrderMakeId); materialPlanBoomDO.setProjectPurchaseOrderMakeId(purchaseOrderMakeId);
materialPlanBoomDO.setPurchaseNo(purchaseOrderMakeDO.getPurchaseNo()); materialPlanBoomDO.setPurchaseNo(purchaseOrderMakeDOPurchaseNo);
materialPlanBoomDO.setProjectPurchaseOrderMakeDetailId(purchaseOrderMakeDetailId); materialPlanBoomDO.setProjectPurchaseOrderMakeDetailId(purchaseOrderMakeDetailId);
materialPlanBoomDO.setPurchaseAmount(updateReqVO.getPurchaseAmount());
materialPlanBoomDO.setSupplierId(updateReqVO.getSupplierId());
materialPlanBoomDO.setEstimatedPrice(updateReqVO.getEstimatedPrice());
materialPlanBoomDO.setArriveTime(updateReqVO.getArriveTime());
materialPlanBoomDO.setDescription(updateReqVO.getDescription());
materialPlanBoomDO.setMatWeight(updateReqVO.getTheWeight());
materialPlanBoomDO.setIsFoam(updateReqVO.getIsFoam());
materialPlanBoomMapper.updateById(materialPlanBoomDO); materialPlanBoomMapper.updateById(materialPlanBoomDO);
return true; return true;

View File

@ -74,7 +74,7 @@
<el-table-column label="子项目名称" align="center" prop="projectSubName" min-width="180" /> <el-table-column label="子项目名称" align="center" prop="projectSubName" min-width="180" />
<el-table-column label="泡沫" align="center"> <el-table-column label="泡沫" align="center">
<template #default="row"> <template #default="row">
<el-checkbox v-model="row.isFoam" :true-label="true" :false-label="false" /> <el-checkbox v-model="row.isFoam" :true-label="'Y'" :false-label="'N'" />
</template> </template>
</el-table-column> </el-table-column>