零件采购订单计划

This commit is contained in:
zhy 2025-06-21 00:55:00 +08:00
parent da94a7b417
commit 2ec805965f
5 changed files with 59 additions and 27 deletions

View File

@ -2,6 +2,7 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake;
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageReqVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail.vo.PurchaseOrderMakeDetailRespVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermakedetail.PurchaseOrderMakeDetailDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO;
import com.chanko.yunxi.mes.module.heli.service.partpurchaseorder.PartPurchaseOrderService;
import org.springframework.web.bind.annotation.*;
@ -101,12 +102,12 @@ public class PurchaseOrderMakeController {
@GetMapping("/getPartPurchaseOrderPage")
@Operation(summary = "获得零件采购订单生成分页")
// @PreAuthorize("@ss.hasPermission('heli:material-plan:query')")
public CommonResult<PageResult<PurchaseOrderMakeDetailRespVO>> getPartPurchaseOrderPage(@Valid PartPurchaseOrderPageReqVO partPurchaseOrderPageReqVO) {
public CommonResult<PageResult<PurchaseOrderMakeDetailDO>> getPartPurchaseOrderPage(@Valid PartPurchaseOrderPageReqVO partPurchaseOrderPageReqVO) {
// PageResult<TaskDispatchDetailDO> pageResult = materialPlanService.getPartPage(pageReqVO);
// return success(pageResult);
return null;
PageResult<PurchaseOrderMakeDetailDO> pageResult = partPurchaseOrderService.getPartPurchaseOrderPage(partPurchaseOrderPageReqVO);
return success(pageResult);
}
}

View File

@ -2,10 +2,16 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermakedetail;
import java.util.*;
import com.alibaba.excel.util.StringUtils;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageReqVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermake.PurchaseOrderMakeDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermakedetail.PurchaseOrderMakeDetailDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.ibatis.annotations.Mapper;
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail.vo.*;
@ -51,4 +57,18 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperX<PurchaseOrder
.orderByDesc(PurchaseOrderMakeDetailDO::getId));
}
default PageResult<PurchaseOrderMakeDetailDO> selectPartPurchaseOrderPage(PartPurchaseOrderPageReqVO pageReqVO) {
MPJLambdaWrapper<PurchaseOrderMakeDetailDO> query = new MPJLambdaWrapper<>();
query.selectAll(PurchaseOrderMakeDetailDO.class)
.leftJoin(PurchaseOrderMakeDO.class,"a",PurchaseOrderMakeDO::getId,PurchaseOrderMakeDetailDO::getPurchaseOrderId)
.disableLogicDel()
.disableSubLogicDel()
.eq(PurchaseOrderMakeDO::getGoodsType, 2)
.eq(StringUtils.isNotBlank(pageReqVO.getProjectName()), PurchaseOrderMakeDO::getProjectName, pageReqVO.getProjectName())
.eq(StringUtils.isNotBlank(pageReqVO.getProjectSubName()), PurchaseOrderMakeDetailDO::getName, pageReqVO.getProjectSubName())
.eq(StringUtils.isNotBlank(pageReqVO.getMaterialName()), PurchaseOrderMakeDetailDO::getBoomName, pageReqVO.getMaterialName())
.eq(Objects.nonNull(pageReqVO.getStatus()), PurchaseOrderMakeDetailDO::getOrderStatus, pageReqVO.getStatus());
return selectPage(pageReqVO, query);
}
}

View File

@ -5,6 +5,7 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.Pa
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PurchaseOrderMakePageReqVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail.vo.PurchaseOrderMakeDetailRespVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermake.PurchaseOrderMakeDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermakedetail.PurchaseOrderMakeDetailDO;
/**
* 零件采购订单 Service 接口
@ -18,6 +19,6 @@ public interface PartPurchaseOrderService {
* @param pageReqVO 分页查询
* @return 零件采购订单生成分页
*/
PageResult<PurchaseOrderMakeDetailRespVO> getPartPurchaseOrderPage(PartPurchaseOrderPageReqVO pageReqVO);
PageResult<PurchaseOrderMakeDetailDO> getPartPurchaseOrderPage(PartPurchaseOrderPageReqVO pageReqVO);
}

View File

@ -3,16 +3,26 @@ package com.chanko.yunxi.mes.module.heli.service.partpurchaseorder;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageReqVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail.vo.PurchaseOrderMakeDetailRespVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermakedetail.PurchaseOrderMakeDetailDO;
import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermake.PurchaseOrderMakeMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermakedetail.PurchaseOrderMakeDetailMapper;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
@Service
@Validated
public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{
@Resource
private PurchaseOrderMakeMapper purchaseOrderMakeMapper;
@Resource
private PurchaseOrderMakeDetailMapper purchaseOrderMakeDetailMapper;
@Override
public PageResult<PurchaseOrderMakeDetailRespVO> getPartPurchaseOrderPage(PartPurchaseOrderPageReqVO pageReqVO) {
return null;
public PageResult<PurchaseOrderMakeDetailDO> getPartPurchaseOrderPage(PartPurchaseOrderPageReqVO pageReqVO) {
return purchaseOrderMakeDetailMapper.selectPartPurchaseOrderPage(pageReqVO);
}
}

View File

@ -1,7 +1,7 @@
<template>
<el-card class="hl-card">
<template #header>
<span>零件采购订单计划</span>
<span>零件采购订单生成</span>
</template>
<ContentWrap class="borderxx">
<!-- 搜索工作栏 -->
@ -192,28 +192,28 @@ const submitForm = async () => {
return;
}
// 2.
const firstProjectSubId = list[0].projectSubId;
if (list.some(item => item.projectSubId !== firstProjectSubId)) {
message.error("零件明细不属于同一个子项目,请确认");
// 2.
const firstSupplierId = list[0].supplierId;
if (list.some(item => item.supplierId !== firstSupplierId)) {
message.error("零件采购订单不属于同一个供应商,请确认");
return;
}
// 3.
for (const item of list) {
if (item.projectMaterialPlanNo) {
message.error(`工序${item.procedureName}中零件 ${item.materialName} 已生成物料需求计划,请确认`);
return;
}
if (!item.boomArriveDate) { // boomArriveDate
message.error(`工序${item.procedureName}中零件 ${item.materialName} 要求完成日期为空,请确认`);
return;
}
if (!item.duEmpId) {
message.error(`工序${item.procedureName}中零件 ${item.materialName} 责任人为空,请确认`);
return;
}
}
// // 3.
// for (const item of list) {
// if (item.projectMaterialPlanNo) {
// message.error(`${item.procedureName} ${item.materialName} ,`);
// return;
// }
// if (!item.boomArriveDate) { // boomArriveDate
// message.error(`${item.procedureName} ${item.materialName} ,`);
// return;
// }
// if (!item.duEmpId) {
// message.error(`${item.procedureName} ${item.materialName} ,`);
// return;
// }
// }
// 4. Element Plus
formLoading.value = true;