零件采购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 String isFoam;
}

View File

@ -162,4 +162,9 @@ public class PurchaseOrderMakeDetailDO extends BaseDO {
@TableField(exist = false)
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("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("t.mat_weight as theWeight")
.select(MaterialPlanDO::getBrief, MaterialPlanDO::getCustomerId, MaterialPlanDO::getProjectId, MaterialPlanDO::getProjectNameSim)
.leftJoin(MaterialPlanDO.class, "p", MaterialPlanDO::getId,MaterialPlanBoomDO::getProjectMaterialPlanId)
.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))
.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);
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.context.annotation.Bean;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
@ -238,8 +239,42 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
@Override
public Boolean createPurchaseOrderMakeAndDetailBatch(List<PurchaseOrderMakeSaveReqVO> updateReqVOs) {
updateReqVOs.forEach(updateReqVO -> {
createPurchaseOrderMakeAndDetail(updateReqVO);
if (CollectionUtils.isEmpty(updateReqVOs)) {
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;
@ -277,32 +312,7 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
return CommonResult.success(orderMakeDO);
}
public Boolean createPurchaseOrderMakeAndDetail(PurchaseOrderMakeSaveReqVO updateReqVO) {
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();
public Boolean createPurchaseOrderMakeAndDetail(PurchaseOrderMakeSaveReqVO updateReqVO, long purchaseOrderMakeId, String purchaseOrderMakeDOPurchaseNo) {
PurchaseOrderMakeDetailDO purchaseOrderMakeDetailDO = new PurchaseOrderMakeDetailDO();
purchaseOrderMakeDetailDO.setPurchaseOrderId(purchaseOrderMakeId);
purchaseOrderMakeDetailDO.setBoomDetailId(updateReqVO.getBoomDetailId());
@ -328,6 +338,7 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
purchaseOrderMakeDetailDO.setDescription(updateReqVO.getDescription());
purchaseOrderMakeDetailDO.setTheWeight(updateReqVO.getTheWeight());
purchaseOrderMakeDetailDO.setDuEmpId(updateReqVO.getDuEmpId());
purchaseOrderMakeDetailDO.setIsFoam(updateReqVO.getIsFoam());
purchaseOrderMakeDetailMapper.insert(purchaseOrderMakeDetailDO);
long purchaseOrderMakeDetailId = purchaseOrderMakeDetailDO.getId();
@ -336,8 +347,15 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
materialPlanBoomDO.setId(updateReqVO.getId());
materialPlanBoomDO.setMplanStatus(1);
materialPlanBoomDO.setProjectPurchaseOrderMakeId(purchaseOrderMakeId);
materialPlanBoomDO.setPurchaseNo(purchaseOrderMakeDO.getPurchaseNo());
materialPlanBoomDO.setPurchaseNo(purchaseOrderMakeDOPurchaseNo);
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);
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">
<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>
</el-table-column>