diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermake/PurchaseOrderMakeMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermake/PurchaseOrderMakeMapper.java index 730d424..c51fc36 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermake/PurchaseOrderMakeMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermake/PurchaseOrderMakeMapper.java @@ -2,10 +2,14 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermake; import java.util.*; +import cn.smallbun.screw.core.util.ArrayUtils; 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.dal.dataobject.purchaseordermake.PurchaseOrderMakeDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermakedetail.PurchaseOrderMakeDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.supplier.SupplierDO; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.*; @@ -43,4 +47,50 @@ public interface PurchaseOrderMakeMapper extends BaseMapperX selectJoinPage(PurchaseOrderMakePageReqVO reqVO) { + // 引入 MPJLambdaWrapper(MyBatis-Plus-Join 提供) + MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>(); + +// 构建查询条件 + wrapper + .selectAll(PurchaseOrderMakeDO.class) // 查询主表所有字段 + + .leftJoin(PurchaseOrderMakeDetailDO.class, "a", PurchaseOrderMakeDetailDO::getPurchaseOrderId, PurchaseOrderMakeDO::getId) + .like(Objects.nonNull(reqVO.getProjectSubName()), PurchaseOrderMakeDetailDO::getName, reqVO.getProjectSubName()) + + .leftJoin(SupplierDO.class, "b", SupplierDO::getId, PurchaseOrderMakeDetailDO::getSupplierId) + .like(Objects.nonNull(reqVO.getSupplierName()), SupplierDO::getName, reqVO.getSupplierName()) + + // eqIfPresent 替换为 eq 方法,并结合 Objects.nonNull 判断 + .eq(Objects.nonNull(reqVO.getPurchaseNo()), PurchaseOrderMakeDO::getPurchaseNo, reqVO.getPurchaseNo()) + .eq(Objects.nonNull(reqVO.getContractNo()), PurchaseOrderMakeDO::getContractNo, reqVO.getContractNo()) + .eq(Objects.nonNull(reqVO.getPurchaseType()), PurchaseOrderMakeDO::getPurchaseType, reqVO.getPurchaseType()) + .eq(Objects.nonNull(reqVO.getGoodsType()), PurchaseOrderMakeDO::getGoodsType, reqVO.getGoodsType()) + .eq(Objects.nonNull(reqVO.getCurrencyType()), PurchaseOrderMakeDO::getCurrencyType, reqVO.getCurrencyType()) + .eq(Objects.nonNull(reqVO.getTaxRatio()), PurchaseOrderMakeDO::getTaxRatio, reqVO.getTaxRatio()) + .eq(Objects.nonNull(reqVO.getEstimatedPrice()), PurchaseOrderMakeDO::getEstimatedPrice, reqVO.getEstimatedPrice()) + .eq(Objects.nonNull(reqVO.getActualPrice()), PurchaseOrderMakeDO::getActualPrice, reqVO.getActualPrice()) + .eq(Objects.nonNull(reqVO.getStatus()), PurchaseOrderMakeDO::getStatus, reqVO.getStatus()) + .eq(Objects.nonNull(reqVO.getSubmitUserId()), PurchaseOrderMakeDO::getSubmitUserId, reqVO.getSubmitUserId()) + + .eq(Objects.nonNull(reqVO.getAuditor()), PurchaseOrderMakeDO::getAuditor, reqVO.getAuditor()) + + .eq(Objects.nonNull(reqVO.getDescription()), PurchaseOrderMakeDO::getDescription, reqVO.getDescription()) + + .eq(Objects.nonNull(reqVO.getProjectId()), PurchaseOrderMakeDO::getProjectId, reqVO.getProjectId()) + .eq(Objects.nonNull(reqVO.getProjectPlanId()), PurchaseOrderMakeDO::getProjectPlanId, reqVO.getProjectPlanId()) + .eq(Objects.nonNull(reqVO.getCustomerId()), PurchaseOrderMakeDO::getCustomerId, reqVO.getCustomerId()) + .eq(Objects.nonNull(reqVO.getBrief()), PurchaseOrderMakeDO::getBrief, reqVO.getBrief()) + + // likeIfPresent 替换为 like + .like(Objects.nonNull(reqVO.getProjectName()), PurchaseOrderMakeDO::getProjectName, reqVO.getProjectName()) + + .eq(Objects.nonNull(reqVO.getProjectNameSim()), PurchaseOrderMakeDO::getProjectNameSim, reqVO.getProjectNameSim()) + .orderByDesc(PurchaseOrderMakeDO::getId); + +// 使用 selectJoinPage 进行分页查询 + return selectJoinPage(reqVO, PurchaseOrderMakeDO.class, wrapper); + + } + } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderServiceImpl.java index a4e1998..5251bdf 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderServiceImpl.java @@ -133,7 +133,7 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{ List list= purchaseOrderMakeDetailMapper.selectList("purchase_order_id", updateReqVO.getId()); list.forEach(detailDO -> { - purchaseOrderNoDetailMapper.deleteById(detailDO.getId()); + purchaseOrderNoDetailMapper.deleteById(detailDO); }); List materialPlanBoomDOs= materialPlanBoomMapper.selectList("project_purchase_order_make_id", updateReqVO.getId()); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermake/PurchaseOrderMakeServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermake/PurchaseOrderMakeServiceImpl.java index e89822d..2cfe569 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermake/PurchaseOrderMakeServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermake/PurchaseOrderMakeServiceImpl.java @@ -1,74 +1,74 @@ -package com.chanko.yunxi.mes.module.heli.service.purchaseordermake; - -import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.*; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermake.PurchaseOrderMakeDO; -import com.chanko.yunxi.mes.framework.common.pojo.PageResult; -import com.chanko.yunxi.mes.framework.common.pojo.PageParam; -import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; - -import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermake.PurchaseOrderMakeMapper; - -import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; - -/** - * 采购单主 Service 实现类 - * - * @author 管理员 - */ -@Service -@Validated -public class PurchaseOrderMakeServiceImpl implements PurchaseOrderMakeService { - - @Resource - private PurchaseOrderMakeMapper purchaseOrderMakeMapper; - - @Override - public Long createPurchaseOrderMake(PurchaseOrderMakeSaveReqVO createReqVO) { - // 插入 - PurchaseOrderMakeDO purchaseOrderMake = BeanUtils.toBean(createReqVO, PurchaseOrderMakeDO.class); - purchaseOrderMakeMapper.insert(purchaseOrderMake); - // 返回 - return purchaseOrderMake.getId(); - } - - @Override - public void updatePurchaseOrderMake(PurchaseOrderMakeSaveReqVO updateReqVO) { - // 校验存在 - validatePurchaseOrderMakeExists(updateReqVO.getId()); - // 更新 - PurchaseOrderMakeDO updateObj = BeanUtils.toBean(updateReqVO, PurchaseOrderMakeDO.class); - purchaseOrderMakeMapper.updateById(updateObj); - } - - @Override - public void deletePurchaseOrderMake(Long id) { - // 校验存在 - validatePurchaseOrderMakeExists(id); - // 删除 - purchaseOrderMakeMapper.deleteById(id); - } - - private void validatePurchaseOrderMakeExists(Long id) { - if (purchaseOrderMakeMapper.selectById(id) == null) { - throw exception(PURCHASE_ORDER_MAKE_NOT_EXISTS); - } - } - - @Override - public PurchaseOrderMakeDO getPurchaseOrderMake(Long id) { - return purchaseOrderMakeMapper.selectById(id); - } - - @Override - public PageResult getPurchaseOrderMakePage(PurchaseOrderMakePageReqVO pageReqVO) { - return purchaseOrderMakeMapper.selectPage(pageReqVO); - } - -} \ No newline at end of file +package com.chanko.yunxi.mes.module.heli.service.purchaseordermake; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermake.PurchaseOrderMakeDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; + +import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermake.PurchaseOrderMakeMapper; + +import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; + +/** + * 采购单主 Service 实现类 + * + * @author 管理员 + */ +@Service +@Validated +public class PurchaseOrderMakeServiceImpl implements PurchaseOrderMakeService { + + @Resource + private PurchaseOrderMakeMapper purchaseOrderMakeMapper; + + @Override + public Long createPurchaseOrderMake(PurchaseOrderMakeSaveReqVO createReqVO) { + // 插入 + PurchaseOrderMakeDO purchaseOrderMake = BeanUtils.toBean(createReqVO, PurchaseOrderMakeDO.class); + purchaseOrderMakeMapper.insert(purchaseOrderMake); + // 返回 + return purchaseOrderMake.getId(); + } + + @Override + public void updatePurchaseOrderMake(PurchaseOrderMakeSaveReqVO updateReqVO) { + // 校验存在 + validatePurchaseOrderMakeExists(updateReqVO.getId()); + // 更新 + PurchaseOrderMakeDO updateObj = BeanUtils.toBean(updateReqVO, PurchaseOrderMakeDO.class); + purchaseOrderMakeMapper.updateById(updateObj); + } + + @Override + public void deletePurchaseOrderMake(Long id) { + // 校验存在 + validatePurchaseOrderMakeExists(id); + // 删除 + purchaseOrderMakeMapper.deleteById(id); + } + + private void validatePurchaseOrderMakeExists(Long id) { + if (purchaseOrderMakeMapper.selectById(id) == null) { + throw exception(PURCHASE_ORDER_MAKE_NOT_EXISTS); + } + } + + @Override + public PurchaseOrderMakeDO getPurchaseOrderMake(Long id) { + return purchaseOrderMakeMapper.selectById(id); + } + + @Override + public PageResult getPurchaseOrderMakePage(PurchaseOrderMakePageReqVO pageReqVO) { + return purchaseOrderMakeMapper.selectJoinPage(pageReqVO); + } + +} diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchasecheck/detail.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchasecheck/detail.vue index 0a47eff..f344a57 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchasecheck/detail.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchasecheck/detail.vue @@ -60,8 +60,10 @@ @@ -115,7 +117,7 @@ const formData = ref({ matBoomDOList: [], matItemRemoveList: [], attachments: [], - type: query.type + type: undefined, }) const formRef = ref() // 表单 Ref @@ -131,7 +133,8 @@ const updateParams = reactive({ const approve = async () => { await PartPurchaseOrderApi.updatePurchaseOrderMake(formData.value.id) - console.log("批准成功") + message.success("提交成功"); + getList(); } const handleReject = async () => { @@ -158,7 +161,8 @@ const reject = async(reason) => { updateParams.reason = reason // 这里可以执行提交驳回逻辑 await PartPurchaseOrderApi.updatePurchaseOrderMakeNo(updateParams) - console.log("驳回成功") + message.success("已驳回"); + getList(); } @@ -177,6 +181,7 @@ const queryParams = reactive({ onMounted(async () => { // 获取物料需求计划信息 formData.value = await PartPurchaseOrderApi.getPurchaseOrderMake(query.id) + formData.value.type = query.type getList(); }) const getList = async () => { diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchasecheck/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchasecheck/index.vue index 4332e49..7d198e1 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchasecheck/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchasecheck/index.vue @@ -80,7 +80,7 @@ v-if="scope.row.status === 1" link type="primary" - @click="openForm('detail', scope.row.id)" + @click="openForm('check', scope.row.id)" > 去审核