From aee7de95f755e28c6b4991bc7c4c202971bd72e9 Mon Sep 17 00:00:00 2001 From: z Date: Fri, 14 Nov 2025 17:50:26 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=87=E7=A8=8B=E6=A3=80=E6=89=AB=E7=A0=81?= =?UTF-8?q?=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/pgmaster/PgMasterController.java | 33 ++- .../pgmaster/vo/PgMasterLinePageReqVO.java | 1 - .../PurchaseOrderNoDetailController.java | 48 +++- .../dataobject/pgmaster/PgMasterLineDO.java | 3 + .../materialplan/MaterialPlanMapper.java | 13 +- .../MaterialPlanBoomMapper.java | 35 ++- .../heli/dal/mysql/matreq/MatReqMapper.java | 11 +- .../heli/dal/mysql/plan/PlanMapper.java | 12 +- .../dal/mysql/plantask/PlanTaskMapper.java | 10 +- .../processbom/ProcessBomDetailMapper.java | 14 +- .../PurchaseOrderMakeDetailMapper.java | 43 ++-- .../PurchaseOrderNoMapper.java | 11 +- .../PurchaseOrderNoDetailMapper.java | 21 +- .../dal/mysql/storagein/StorageInMapper.java | 13 +- .../TaskDispatchDetailMapper.java | 10 +- .../taskdispatch/TaskDispatchMapper.java | 10 +- .../service/pgmaster/PgMasterService.java | 3 + .../service/pgmaster/PgMasterServiceImpl.java | 42 ++++ .../processbom/ProcessBomServiceImpl.java | 2 +- .../PurchaseOrderNoDetailService.java | 3 +- .../PurchaseOrderNoDetailServiceImpl.java | 211 +++++++++++++++++- .../src/views/heli/purchaseorderno/index.vue | 3 +- .../heli/purchaseorderno/partReceived.vue | 57 +++-- .../pages/pgMaster/components/dataItem.vue | 69 ++++-- .../productionReport-detail.vue | 2 +- mes-ui/mini-app/src/services/constants.ts | 2 +- mes-ui/mini-app/src/services/pgMaster.ts | 34 ++- 27 files changed, 607 insertions(+), 109 deletions(-) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/PgMasterController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/PgMasterController.java index 45f67e76..6bee487d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/PgMasterController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/PgMasterController.java @@ -6,14 +6,17 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.chanko.yunxi.mes.module.heli.controller.admin.plansub.vo.PlanSubRespVO; import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDispatchDetailPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.zjpgmaster.vo.ZjPgMasterSaveReqVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.bgmasterline.BgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansub.PlanSubDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.mysql.bgmasterline.BgMasterLineMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchMapper; +import com.chanko.yunxi.mes.module.heli.service.bgmasterline.BgMasterLineService; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -27,6 +30,7 @@ import javax.validation.*; import javax.servlet.http.*; import java.util.*; import java.io.IOException; +import java.util.stream.Collectors; import com.chanko.yunxi.mes.framework.common.pojo.PageParam; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; @@ -62,6 +66,9 @@ public class PgMasterController { @Resource private TaskDispatchMapper taskDispatchMapper; + @Resource + private BgMasterLineMapper bgMasterLineMapper; + @GetMapping("/getBomMx") @Operation(summary = "查询BOM明细") @@ -146,7 +153,7 @@ public class PgMasterController { @GetMapping("/task-dispatch-detail/pageWx") @Operation(summary = "获得派工明细分页") @PreAuthorize("@ss.hasPermission('heli:task-dispatch:query')") - public CommonResult> getTaskDispatchPageDetailWx(@Valid PgMasterLinePageReqVO pageReqVO) { + public CommonResult getTaskDispatchPageDetailWx(@Valid PgMasterLinePageReqVO pageReqVO) { PageResult pageResult = pgMasterService.getTaskDispatchDetailPageWx(pageReqVO); if (ObjectUtil.isEmpty(pageResult.getList())){ if (ObjectUtil.isNotEmpty(pageReqVO.getSubOrDetailName())&&pageReqVO.getPageNo()==1){ @@ -183,9 +190,33 @@ public class PgMasterController { } } } + }else { + if (pageResult.getList().size()==1&&ObjectUtil.isNotEmpty(pageReqVO.getSubOrDetailName()) && pageReqVO.getPageNo() == 1&&"1".equals(pageReqVO.getType())) { + return success(pgMasterService.qualified(pageResult.getList().get(0).getId())); + } } + if (ObjectUtil.isNotEmpty(pageReqVO.getPgType())&&pageReqVO.getPgType()==1){ + for (PgMasterLineDO pgMasterLineDO : pageResult.getList()) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BgMasterLineDO::getZjMxId,pgMasterLineDO.getId()); + queryWrapper.orderByDesc(BgMasterLineDO::getCreateTime); + queryWrapper.last("limit 1"); + BgMasterLineDO bgMasterLineDO = bgMasterLineMapper.selectOne(queryWrapper); + if (ObjectUtil.isNotEmpty(bgMasterLineDO)){ + pgMasterLineDO.setIsQua(bgMasterLineDO.getIsQua()==0?"不合格":"合格"); + } + } + } + return success(pageResult); } + @GetMapping("/qualified") + @Operation(summary = "更新合格") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('heli:pg-master:query')") + public CommonResult qualified(@RequestParam("id") Integer id) { + return success(pgMasterService.qualified(id)); + } @GetMapping("/task-dispatch-detail/pages") @Operation(summary = "获得质量派工单过程检验行分页") @PreAuthorize("@ss.hasPermission('heli:pg-master-line:query')") diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/vo/PgMasterLinePageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/vo/PgMasterLinePageReqVO.java index b1f72eb0..e806479a 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/vo/PgMasterLinePageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/vo/PgMasterLinePageReqVO.java @@ -120,5 +120,4 @@ public class PgMasterLinePageReqVO extends PageParam { private String active; @Schema(description = "项目或子项目id") private String subOrDetailName; - } \ 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/controller/admin/purchaseordernodetail/PurchaseOrderNoDetailController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordernodetail/PurchaseOrderNoDetailController.java index 3297fd12..4d974667 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordernodetail/PurchaseOrderNoDetailController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordernodetail/PurchaseOrderNoDetailController.java @@ -2,6 +2,8 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordernodetail; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PurchaseOrderMakeRespVO; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseorderno.vo.PurchaseOrderNoPageReqVO; +import com.chanko.yunxi.mes.module.heli.controller.admin.storage.vo.StoragePageReqVO; +import org.apache.poi.ss.usermodel.Workbook; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -12,6 +14,8 @@ import io.swagger.v3.oas.annotations.Operation; import javax.validation.*; import javax.servlet.http.*; +import java.io.OutputStream; +import java.net.URLEncoder; import java.util.*; import java.io.IOException; @@ -193,19 +197,49 @@ public class PurchaseOrderNoDetailController { public CommonResult updateFrom(@Valid @RequestBody PurchaseOrderNoDetailDO detailDO) { return purchaseOrderNoDetailService.updateFrom(detailDO); } +// @GetMapping("/exportExcel") +// @Operation(summary = "导出采购收货") +// @OperateLog(type = EXPORT) +// public void exportExcel(@Valid PurchaseOrderNoDetailPageReqVO pageReqVO, +// HttpServletResponse response) throws IOException { +// String[] split = pageReqVO.getIds().split(","); +// List ids = new ArrayList<>(); +// for (String s : split) { +// ids.add(Long.valueOf(s)); +// } +// List list = purchaseOrderNoDetailService.exportExcel(ids); +// // 导出 Excel +// ExcelUtils.write(response, "零件采购收货.xlsx", "数据", PurchaseOrderMakeRespVO.class, +// BeanUtils.toBean(list, PurchaseOrderMakeRespVO.class)); +// } + @GetMapping("/exportExcel") - @Operation(summary = "导出采购收货") + @Operation(summary = "导出采购收货 Excel") @OperateLog(type = EXPORT) - public void exportExcel(@Valid PurchaseOrderNoDetailPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { + public void exportStorageExcelOut(PurchaseOrderNoDetailPageReqVO pageReqVO, HttpServletResponse response) throws IOException { String[] split = pageReqVO.getIds().split(","); List ids = new ArrayList<>(); for (String s : split) { ids.add(Long.valueOf(s)); } - List list = purchaseOrderNoDetailService.exportExcel(ids); - // 导出 Excel - ExcelUtils.write(response, "零件采购收货.xlsx", "数据", PurchaseOrderMakeRespVO.class, - BeanUtils.toBean(list, PurchaseOrderMakeRespVO.class)); + Workbook workbook = purchaseOrderNoDetailService.exportExcel(ids); + + // 2. 设置响应头 + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + + // 3. 处理文件名,防止中文乱码 + String fileName = URLEncoder.encode("出库单", "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); + + // 4. 将Excel写入响应输出流 + try (OutputStream outputStream = response.getOutputStream()) { + workbook.write(outputStream); + } finally { + // 5. 关闭工作簿,释放资源 + if (workbook != null) { + workbook.close(); + } + } } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/pgmaster/PgMasterLineDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/pgmaster/PgMasterLineDO.java index 934ba4aa..7b481206 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/pgmaster/PgMasterLineDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/pgmaster/PgMasterLineDO.java @@ -160,5 +160,8 @@ public class PgMasterLineDO extends BaseDO { private String nickName; private String creator; + @TableField(exist = false) + private String isQua; + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplan/MaterialPlanMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplan/MaterialPlanMapper.java index a2a8c079..1cf80934 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplan/MaterialPlanMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplan/MaterialPlanMapper.java @@ -2,6 +2,7 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.materialplan; import java.util.*; +import cn.hutool.core.util.ObjectUtil; 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; @@ -56,13 +57,14 @@ public interface MaterialPlanMapper extends BaseMapperX { .leftJoin(ProjectOrderDO.class,"pro", ProjectOrderDO::getId, MaterialPlanDO::getProjectId) .leftJoin(ProcedureDO.class,"pd",ProcedureDO::getId, MaterialPlanBoomDO::getProcedureId) .leftJoin(ProjectOrderSubDO.class,"sub",ProjectOrderSubDO::getId,MaterialPlanDO::getProjectPlanSubId) + .leftJoin(CustomerDO.class,"c",CustomerDO::getId, MaterialPlanDO::getCustomerId) .groupBy(MaterialPlanDO::getId) .orderByDesc(MaterialPlanDO::getCreateTime); query.like(!StringUtils.isEmpty(pageReqVO.getProjectMaterialPlanNo()), MaterialPlanDO::getProjectMaterialPlanNo, pageReqVO.getProjectMaterialPlanNo()) // .like(!StringUtils.isEmpty(pageReqVO.getProjectName()),MaterialPlanDO::getProjectName, pageReqVO.getProjectName()) - .like(!StringUtils.isEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName()) +// .like(!StringUtils.isEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName()) .like(!StringUtils.isEmpty(pageReqVO.getProjectCode()),ProjectOrderDO::getCode, pageReqVO.getProjectCode()) - .like(!StringUtils.isEmpty(pageReqVO.getCustomerName()),MaterialPlanDO::getBrief, pageReqVO.getCustomerName()) +// .like(!StringUtils.isEmpty(pageReqVO.getCustomerName()),MaterialPlanDO::getBrief, pageReqVO.getCustomerName()) // .like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), MaterialPlanDO::getName, pageReqVO.getProjectSubName()) .like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), ProjectOrderSubDO::getNameSim, pageReqVO.getProjectSubName()) .like(!StringUtils.isEmpty(pageReqVO.getMaterialName()), MaterialPlanBoomDO::getMatName, pageReqVO.getMaterialName()) @@ -72,7 +74,12 @@ public interface MaterialPlanMapper extends BaseMapperX { if (pageReqVO.getMatPlanDate() != null) { query.between( MaterialPlanDO::getMatPlanDate, pageReqVO.getMatPlanDate()[0], pageReqVO.getMatPlanDate()[1]); } - + if (ObjectUtil.isNotEmpty(pageReqVO.getCustomerName())){ + query.and(e->e.like(CustomerDO::getBrief,pageReqVO.getCustomerName()).or().like(CustomerDO::getName,pageReqVO.getCustomerName())); + } + if (ObjectUtil.isNotEmpty(pageReqVO.getProjectName())){ + query.and(e->e.like(ProjectOrderDO::getProjectName,pageReqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,pageReqVO.getProjectName())); + } return selectPage(pageReqVO, query); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplanboom/MaterialPlanBoomMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplanboom/MaterialPlanBoomMapper.java index 646c605a..d09c35dc 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplanboom/MaterialPlanBoomMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplanboom/MaterialPlanBoomMapper.java @@ -3,6 +3,7 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.materialplanboom; import java.util.*; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.druid.sql.visitor.functions.Left; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; @@ -98,6 +99,7 @@ public interface MaterialPlanBoomMapper extends BaseMapperX .leftJoin(MaterialDO.class,"m",MaterialDO::getId, MaterialPlanBoomDO::getMaterialId) .leftJoin(SupplierDO.class, "f", SupplierDO::getId, MaterialPlanBoomDO::getSupplierId) .leftJoin(ProjectOrderSubDO.class,"sub",ProjectOrderSubDO::getId,MaterialPlanBoomDO::getProjectPlanSubId) + .leftJoin(CustomerDO.class,"c",CustomerDO::getId, MaterialPlanDO::getCustomerId) .eq(MaterialPlanDO::getMatType,0) .in(MaterialPlanBoomDO::getIsPurYard,Arrays.asList(0,5)) .disableSubLogicDel() @@ -105,13 +107,13 @@ public interface MaterialPlanBoomMapper extends BaseMapperX .orderByDesc(MaterialPlanBoomDO::getCreateTime); // query.like(ObjectUtil.isNotEmpty(pageReqVO.getProjectName()),MaterialPlanDO::getProjectName, pageReqVO.getProjectName()); // query.like(ObjectUtil.isNotEmpty(pageReqVO.getProjectSubName()),MaterialPlanDO::getName, pageReqVO.getProjectSubName()); - query.like(ObjectUtil.isNotEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName()); +// query.like(ObjectUtil.isNotEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName()); query.like(ObjectUtil.isNotEmpty(pageReqVO.getProjectSubName()),ProjectOrderSubDO::getNameSim, pageReqVO.getProjectSubName()); query.like(ObjectUtil.isNotEmpty(pageReqVO.getMaterialName()),MaterialPlanBoomDO::getMatName, pageReqVO.getMaterialName()); query.like(ObjectUtil.isNotEmpty(pageReqVO.getProjectCode()),ProjectOrderDO::getCode, pageReqVO.getProjectCode()); query.like(ObjectUtil.isNotEmpty(pageReqVO.getOwnerName()),AdminUserDO::getNickname, pageReqVO.getOwnerName()); query.like(ObjectUtil.isNotEmpty(pageReqVO.getSupplierName()),SupplierDO::getBrief, pageReqVO.getSupplierName()); - query.like(ObjectUtil.isNotEmpty(pageReqVO.getCustomerName()),MaterialPlanDO::getBrief, pageReqVO.getCustomerName()); +// query.like(ObjectUtil.isNotEmpty(pageReqVO.getCustomerName()),MaterialPlanDO::getBrief, pageReqVO.getCustomerName()); query.like(ObjectUtil.isNotEmpty(pageReqVO.getProjectMaterialPlanNo()),MaterialPlanDO::getProjectMaterialPlanNo, pageReqVO.getProjectMaterialPlanNo()); if (pageReqVO.getMplanStatus() == 0){ query.in(MaterialPlanBoomDO::getMplanStatus,Arrays @@ -120,7 +122,12 @@ public interface MaterialPlanBoomMapper extends BaseMapperX query.eq(MaterialPlanBoomDO::getMplanStatus,pageReqVO.getMplanStatus() ); } // query.like(ObjectUtil.isNotEmpty(pageReqVO.getMplanStatus()),ProjectOrderDO::getCode, pageReqVO.getProjectCode()); - + if (ObjectUtil.isNotEmpty(pageReqVO.getCustomerName())){ + query.and(e->e.like(CustomerDO::getBrief,pageReqVO.getCustomerName()).or().like(CustomerDO::getName,pageReqVO.getCustomerName())); + } + if (ObjectUtil.isNotEmpty(pageReqVO.getProjectName())){ + query.and(e->e.like(ProjectOrderDO::getProjectName,pageReqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,pageReqVO.getProjectName())); + } return selectPage(pageReqVO, query); } default int clearSuplier(MaterialPlanBoomDO updateObj){ @@ -209,6 +216,7 @@ public interface MaterialPlanBoomMapper extends BaseMapperX .leftJoin(ProjectOrderDO.class,"b",ProjectOrderDO::getId,MaterialPlanDO::getProjectId) .leftJoin(ProjectOrderSubDO.class,"sub",ProjectOrderSubDO::getId,MaterialPlanBoomDO::getProjectPlanSubId) .leftJoin(ProcessBomDetailDO.class,"d",ProcessBomDetailDO::getId,MaterialPlanBoomDO::getBoomDetailId) + .leftJoin(CustomerDO.class,"c",CustomerDO::getId,MaterialPlanDO::getCustomerId) .leftJoin("project_mat_req_detail mat on (t.id=mat.project_material_plan_detail_id and mat.deleted=0 and mat.tenant_id = 2)") .leftJoin("base_material m ON (m.id = mat.material_id and m.tenant_id = 2) ") .leftJoin(MaterialDO.class,"mater", MaterialDO::getId,MaterialPlanBoomDO::getMaterialId) @@ -221,13 +229,19 @@ public interface MaterialPlanBoomMapper extends BaseMapperX query // .like(!StringUtils.isEmpty(pageReqVO.getProjectName()),MaterialPlanDO::getProjectName, pageReqVO.getProjectName()) // .like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), MaterialPlanDO::getName, pageReqVO.getProjectSubName()) - .like(!StringUtils.isEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName()) +// .like(!StringUtils.isEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName()) .like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), ProjectOrderSubDO::getNameSim, pageReqVO.getProjectSubName()) .like(!StringUtils.isEmpty(pageReqVO.getMaterialName()), MaterialPlanBoomDO::getMatName, pageReqVO.getMaterialName()) .like(!StringUtils.isEmpty(pageReqVO.getProjectCode()), ProjectOrderDO::getCode, pageReqVO.getProjectCode()) .eq(!StringUtils.isEmpty(pageReqVO.getMatType()), MaterialPlanDO::getMatType, pageReqVO.getMatType()) - .like(!StringUtils.isEmpty(pageReqVO.getCustomerName()), MaterialPlanDO::getBrief, pageReqVO.getCustomerName()) +// .like(!StringUtils.isEmpty(pageReqVO.getCustomerName()), MaterialPlanDO::getBrief, pageReqVO.getCustomerName()) .eq(!StringUtils.isEmpty(pageReqVO.getStatus()), MaterialPlanBoomDO::getIsPurYard, pageReqVO.getStatus()); + if (ObjectUtil.isNotEmpty(pageReqVO.getCustomerName())){ + query.and(e->e.like(CustomerDO::getBrief,pageReqVO.getCustomerName()).or().like(CustomerDO::getName,pageReqVO.getCustomerName())); + } + if (ObjectUtil.isNotEmpty(pageReqVO.getProjectName())){ + query.and(e->e.like(ProjectOrderDO::getProjectName,pageReqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,pageReqVO.getProjectName())); + } return selectPage(pageReqVO, query); } @@ -258,10 +272,11 @@ public interface MaterialPlanBoomMapper extends BaseMapperX .leftJoin(ProcedureDO.class, "c", ProcedureDO::getId, MaterialPlanBoomDO::getProcedureId) .leftJoin(CompositionDO.class, "e", CompositionDO::getId, ProcessBomDetailDO::getCompositionId) .leftJoin(SupplierDO.class, "f", SupplierDO::getId, PurchaseOrderMakeDetailDO::getSupplierId) + .leftJoin(CustomerDO.class,"cust",CustomerDO::getId,MaterialPlanDO::getCustomerId) .disableSubLogicDel(); query // .like(!StringUtils.isEmpty(pageReqVO.getProjectName()),MaterialPlanDO::getProjectName, pageReqVO.getProjectName()) - .like(!StringUtils.isEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName()) +// .like(!StringUtils.isEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName()) .like(!StringUtils.isEmpty(pageReqVO.getBlueprintNo()),ProcessBomDetailDO::getBlueprintNo, pageReqVO.getBlueprintNo()) // .like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), MaterialPlanDO::getName, pageReqVO.getProjectSubName()) .like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), ProjectOrderSubDO::getNameSim, pageReqVO.getProjectSubName()) @@ -273,7 +288,7 @@ public interface MaterialPlanBoomMapper extends BaseMapperX .eq(!StringUtils.isEmpty(pageReqVO.getMatType()), MaterialPlanDO::getMatType, pageReqVO.getMatType()) .eq(!StringUtils.isEmpty(pageReqVO.getStatus()), MaterialPlanBoomDO::getIsPurYard, pageReqVO.getStatus()) .like(ObjectUtil.isNotEmpty(pageReqVO.getSupplierName()), SupplierDO::getBrief, pageReqVO.getSupplierName()) - .like(ObjectUtil.isNotEmpty(pageReqVO.getCustomerName()), MaterialPlanDO::getBrief, pageReqVO.getCustomerName()) +// .like(ObjectUtil.isNotEmpty(pageReqVO.getCustomerName()), MaterialPlanDO::getBrief, pageReqVO.getCustomerName()) .in(Objects.nonNull(pageReqVO.getBoomDetailIds()), ProcessBomDetailDO::getId, pageReqVO.getBoomDetailIds()) .in(Objects.nonNull(pageReqVO.getProjectPlanSubIds()), ProjectOrderSubDO::getId, pageReqVO.getProjectPlanSubIds()) .in(Objects.nonNull(pageReqVO.getMplanStatus()), MaterialPlanBoomDO::getMplanStatus, pageReqVO.getMplanStatus() != null && pageReqVO.getMplanStatus() != 0 ? Arrays.asList(pageReqVO.getMplanStatus()) : Arrays.asList(0, 3)) @@ -306,6 +321,12 @@ public interface MaterialPlanBoomMapper extends BaseMapperX query.orderByAsc(ProcessBomDetailDO::getBlueprintNo); } + if (ObjectUtil.isNotEmpty(pageReqVO.getCustomerName())){ + query.and(e->e.like(CustomerDO::getBrief,pageReqVO.getCustomerName()).or().like(CustomerDO::getName,pageReqVO.getCustomerName())); + } + if (ObjectUtil.isNotEmpty(pageReqVO.getProjectName())){ + query.and(e->e.like(ProjectOrderDO::getProjectName,pageReqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,pageReqVO.getProjectName())); + } PageResult pageResult = selectPage(pageReqVO, query); return pageResult; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/matreq/MatReqMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/matreq/MatReqMapper.java index 0e8a9afe..3862d133 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/matreq/MatReqMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/matreq/MatReqMapper.java @@ -2,6 +2,7 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.matreq; import java.util.*; +import cn.hutool.core.util.ObjectUtil; 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; @@ -41,12 +42,18 @@ public interface MatReqMapper extends BaseMapperX { query.like(!StringUtils.isEmpty(reqVO.getMatReqNo()), MatReqDO::getMatReqNo, reqVO.getMatReqNo()) // .like(!StringUtils.isEmpty(reqVO.getProjectName()),MatReqDO::getProjectName, reqVO.getProjectName()) // .like(!StringUtils.isEmpty(reqVO.getProjectSubName()), MatReqDetailDO::getName,reqVO.getProjectSubName()) - .like(!StringUtils.isEmpty(reqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, reqVO.getProjectName()) +// .like(!StringUtils.isEmpty(reqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, reqVO.getProjectName()) .like(!StringUtils.isEmpty(reqVO.getProjectSubName()), ProjectOrderSubDO::getNameSim,reqVO.getProjectSubName()) .like(!StringUtils.isEmpty(reqVO.getMaterialName()), MaterialDO::getName, reqVO.getMaterialName()) .like(!StringUtils.isEmpty(reqVO.getProjectCode()), ProjectOrderDO::getCode, reqVO.getProjectCode()) - .like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getBrief, reqVO.getCustomerName()) +// .like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getBrief, reqVO.getCustomerName()) .eq(!StringUtils.isEmpty(reqVO.getGoodsType()), MatReqDO::getGoodsType, reqVO.getGoodsType()); + if (ObjectUtil.isNotEmpty(reqVO.getCustomerName())){ + query.and(e->e.like(CustomerDO::getBrief,reqVO.getCustomerName()).or().like(CustomerDO::getName,reqVO.getCustomerName())); + } + if (ObjectUtil.isNotEmpty(reqVO.getProjectName())){ + query.and(e->e.like(ProjectOrderDO::getProjectName,reqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,reqVO.getProjectName())); + } return selectPage(reqVO, query); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plan/PlanMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plan/PlanMapper.java index b355503a..05318cf8 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plan/PlanMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plan/PlanMapper.java @@ -2,6 +2,7 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.plan; import java.util.*; +import cn.hutool.core.util.ObjectUtil; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO; @@ -67,14 +68,19 @@ public interface PlanMapper extends BaseMapperX { .orderByDesc(PlanDO::getPlanNo); query.like(!StringUtils.isEmpty(reqVO.getPlanNo()), PlanDO::getPlanNo, reqVO.getPlanNo()) .like(!StringUtils.isEmpty(reqVO.getProjectCode()), "p.code", reqVO.getProjectCode()) - .like(!StringUtils.isEmpty(reqVO.getCustomerName()), "e.name", reqVO.getCustomerName()) - .like(!StringUtils.isEmpty(reqVO.getProjectName()), ProjectOrderDO::getProjectName, reqVO.getProjectName()) +// .like(!StringUtils.isEmpty(reqVO.getCustomerName()), "e.name", reqVO.getCustomerName()) +// .like(!StringUtils.isEmpty(reqVO.getProjectName()), ProjectOrderDO::getProjectName, reqVO.getProjectName()) .like(!StringUtils.isEmpty(reqVO.getBusinessManName()), "u.nickname", reqVO.getBusinessManName()) .like(!StringUtils.isEmpty(reqVO.getProjectOwner()), "f.nickname", reqVO.getProjectOwner()) .eq(reqVO.getBusinessLine() != null, ProjectOrderDO::getBusinessLine, reqVO.getBusinessLine()) .eq(reqVO.getProperty() != null, ProjectOrderDO::getProperty, reqVO.getProperty()) .eq(reqVO.getStatus() != null, PlanDO::getStatus, reqVO.getStatus()); - + if (ObjectUtil.isNotEmpty(reqVO.getCustomerName())){ + query.and(e->e.like(CustomerDO::getBrief,reqVO.getCustomerName()).or().like(CustomerDO::getName,reqVO.getCustomerName())); + } + if (ObjectUtil.isNotEmpty(reqVO.getProjectName())){ + query.and(e->e.like(ProjectOrderDO::getProjectName,reqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,reqVO.getProjectName())); + } return selectPage(reqVO, query); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plantask/PlanTaskMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plantask/PlanTaskMapper.java index 0c8f4452..dc54c90b 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plantask/PlanTaskMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plantask/PlanTaskMapper.java @@ -47,11 +47,17 @@ public interface PlanTaskMapper extends BaseMapperX { .orderByDesc(ProcessBomDO::getShenheTime); query.like(!StringUtils.isEmpty(reqVO.getTaskNo()), PlanTaskDO::getTaskNo, reqVO.getTaskNo()) .like(!StringUtils.isEmpty(reqVO.getProjectCode()), "p.code", reqVO.getProjectCode()) - .like(!StringUtils.isEmpty(reqVO.getCustomerName()), "e.name", reqVO.getCustomerName()) - .like(!StringUtils.isEmpty(reqVO.getProjectName()), "p.project_name", reqVO.getProjectName()) +// .like(!StringUtils.isEmpty(reqVO.getCustomerName()), "e.name", reqVO.getCustomerName()) +// .like(!StringUtils.isEmpty(reqVO.getProjectName()), "p.project_name", reqVO.getProjectName()) .like(!StringUtils.isEmpty(reqVO.getPlanNo()), "pl.plan_no", reqVO.getPlanNo()) .like(!StringUtils.isEmpty(reqVO.getProjectSubCode()), "ps.project_sub_code", reqVO.getProjectSubCode()) .like(!StringUtils.isEmpty(reqVO.getProjectSubName()), "po.name", reqVO.getProjectSubName()); + if (ObjectUtil.isNotEmpty(reqVO.getCustomerName())){ + query.and(e->e.like(CustomerDO::getBrief,reqVO.getCustomerName()).or().like(CustomerDO::getName,reqVO.getCustomerName())); + } + if (ObjectUtil.isNotEmpty(reqVO.getProjectName())){ + query.and(e->e.like(ProjectOrderDO::getProjectName,reqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,reqVO.getProjectName())); + } if (ObjectUtil.isNotEmpty(reqVO.getStatus())){ // if (reqVO.getStatus() == 4){ // query.eq(ProjectOrderDO::getDeliveryStatus, 3); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java index 6bb1b208..41dfff9c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java @@ -1,6 +1,7 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.processbom; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -224,13 +225,13 @@ public interface ProcessBomDetailMapper extends BaseMapperX .like(!StringUtils.isEmpty(pageReqVO.getProjectCode()), ProjectOrderDO::getCode, pageReqVO.getProjectCode()) // .like(!StringUtils.isEmpty(pageReqVO.getProjectName()), ProjectOrderDO::getProjectName, pageReqVO.getProjectName()) // .like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), ProjectOrderSubDO::getName, pageReqVO.getProjectSubName()) - .like(!StringUtils.isEmpty(pageReqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName()) +// .like(!StringUtils.isEmpty(pageReqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName()) .like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), ProjectOrderSubDO::getNameSim, pageReqVO.getProjectSubName()) .like(!StringUtils.isEmpty(pageReqVO.getMaterialName()), ProcessBomDetailDO::getMaterialName, pageReqVO.getMaterialName()) .like(!StringUtils.isEmpty(pageReqVO.getOwnerName()), AdminUserDO::getNickname, pageReqVO.getOwnerName()) .like(!StringUtils.isEmpty(pageReqVO.getProjectMaterialPlanNo()), MaterialPlanDO::getProjectMaterialPlanNo, pageReqVO.getProjectMaterialPlanNo()) - .eq(!StringUtils.isEmpty(pageReqVO.getStatus()), ProcessBomDetailDO::getMplanStatus, pageReqVO.getStatus()) - .like(!StringUtils.isEmpty(pageReqVO.getCustomerName()), CustomerDO::getBrief, pageReqVO.getCustomerName()); + .eq(!StringUtils.isEmpty(pageReqVO.getStatus()), ProcessBomDetailDO::getMplanStatus, pageReqVO.getStatus()); +// .like(!StringUtils.isEmpty(pageReqVO.getCustomerName()), CustomerDO::getBrief, pageReqVO.getCustomerName()); // .eq(MaterialPlanBoomDO::getDeleted,0) // .eq(MaterialPlanDO::getDeleted,0); if (ObjectUtils.isEmpty(pageReqVO.getProjectMaterialPlanNo())) { @@ -240,7 +241,12 @@ public interface ProcessBomDetailMapper extends BaseMapperX ; } - + if (ObjectUtil.isNotEmpty(pageReqVO.getCustomerName())){ + query.and(e->e.like(CustomerDO::getBrief,pageReqVO.getCustomerName()).or().like(CustomerDO::getName,pageReqVO.getCustomerName())); + } + if (ObjectUtil.isNotEmpty(pageReqVO.getProjectName())){ + query.and(e->e.like(ProjectOrderDO::getProjectName,pageReqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,pageReqVO.getProjectName())); + } return selectPage(pageReqVO, query); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.java index f4383cc9..573f0b73 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.java @@ -61,9 +61,9 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperXe.like(CustomerDO::getBrief,reqVO.getCustomerName()).or().like(CustomerDO::getName,reqVO.getCustomerName())); + } + if (ObjectUtil.isNotEmpty(reqVO.getProjectName())){ + query.and(e->e.like(ProjectOrderDO::getProjectName,reqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,reqVO.getProjectName())); } - - return selectPage(reqVO, query); } default int clearMaterialId(Long id){ @@ -110,6 +115,7 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperXe.like(CustomerDO::getBrief,pageReqVO.getCustomerName()).or().like(CustomerDO::getName,pageReqVO.getCustomerName())); + } + if (ObjectUtil.isNotEmpty(pageReqVO.getProjectName())){ + query.and(e->e.like(ProjectOrderDO::getProjectName,pageReqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,pageReqVO.getProjectName())); + } PageResult pageResult = selectJoinPage(pageReqVO, PartPurchaseOrderPageRespVO.class, query); return pageResult; } @@ -212,6 +223,8 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperXe.like("b.project_name_sim", pageReqVO.getProjectName()).or().like("b.project_name", pageReqVO.getProjectName())); }else if (pageReqVO.getGoodsType() == 2){ - query.like("o.project_name_sim", pageReqVO.getProjectName()); + query.and(e->e.like("o.project_name_sim", pageReqVO.getProjectName()).or().like("o.project_name", pageReqVO.getProjectName())); + } } } @@ -256,9 +270,12 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperXe.like("c1.brief", pageReqVO.getProjectName()).or().like("c1.name", pageReqVO.getProjectName())); + }else if (pageReqVO.getGoodsType() == 2){ - query.like( PurchaseOrderMakeDetailDO::getBrief, pageReqVO.getBrief()); +// query.like( PurchaseOrderMakeDetailDO::getBrief, pageReqVO.getBrief()); + query.and(e->e.like("c2.brief", pageReqVO.getProjectName()).or().like("c2.name", pageReqVO.getProjectName())); } } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseorderno/PurchaseOrderNoMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseorderno/PurchaseOrderNoMapper.java index ed2bdd78..dd7bff59 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseorderno/PurchaseOrderNoMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseorderno/PurchaseOrderNoMapper.java @@ -74,20 +74,25 @@ public interface PurchaseOrderNoMapper extends BaseMapperX { .eq(reqVO.getPurchaseType() != null, PurchaseOrderNoDO::getPurchaseType, reqVO.getPurchaseType()) .eq(reqVO.getGoodsType() != null, PurchaseOrderNoDO::getGoodsType, reqVO.getGoodsType()) // .like(!StringUtils.isEmpty(reqVO.getProjectName()), PurchaseOrderNoDetailDO::getProjectName, reqVO.getProjectName()) - .like(!StringUtils.isEmpty(reqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, reqVO.getProjectName()) +// .like(!StringUtils.isEmpty(reqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, reqVO.getProjectName()) .like(!StringUtils.isEmpty(reqVO.getProjectCode()), ProjectOrderDO::getCode, reqVO.getProjectCode()) // .like(!StringUtils.isEmpty(reqVO.getProjectSubName()), PurchaseOrderNoDetailDO::getName, reqVO.getProjectSubName()) .like(!StringUtils.isEmpty(reqVO.getProjectSubName()), ProjectOrderSubDO::getNameSim, reqVO.getProjectSubName()) .like(!StringUtils.isEmpty(reqVO.getUsername()), AdminUserDO::getNickname, reqVO.getUsername()) .like(!ObjectUtil.isEmpty(reqVO.getBoomName()), PurchaseOrderNoDetailDO::getBoomName, reqVO.getBoomName()) - .like(!ObjectUtil.isEmpty(reqVO.getCustomerName()), CustomerDO::getBrief, reqVO.getCustomerName()) +// .like(!ObjectUtil.isEmpty(reqVO.getCustomerName()), CustomerDO::getBrief, reqVO.getCustomerName()) // .like(!ObjectUtil.isEmpty(reqVO.getProcedureName()), ProcedureDO::getName, reqVO.getProcedureName()) .like(!ObjectUtil.isEmpty(reqVO.getBlueprintNo()), ProcessBomDetailDO::getBlueprintNo, reqVO.getBlueprintNo()) .having(reqVO.getReceivingStatus() != null,"receivingStatus1 = {0}", reqVO.getReceivingStatus()) .having(!ObjectUtil.isEmpty(reqVO.getProcedureName()),"COUNT(pro.id) > 0") .in(reqVO.getIds() != null && !reqVO.getIds().isEmpty(),PurchaseOrderNoDO::getId,reqVO.getIds()); - + if (ObjectUtil.isNotEmpty(reqVO.getCustomerName())){ + query.and(e->e.like(CustomerDO::getBrief,reqVO.getCustomerName()).or().like(CustomerDO::getName,reqVO.getCustomerName())); + } + if (ObjectUtil.isNotEmpty(reqVO.getProjectName())){ + query.and(e->e.like(ProjectOrderDO::getProjectName,reqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,reqVO.getProjectName())); + } return selectPage(reqVO, query); // MPJLambdaWrapper query = new MPJLambdaWrapper<>(); // diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordernodetail/PurchaseOrderNoDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordernodetail/PurchaseOrderNoDetailMapper.java index ddb86ba4..c4f6b218 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordernodetail/PurchaseOrderNoDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordernodetail/PurchaseOrderNoDetailMapper.java @@ -118,13 +118,18 @@ public interface PurchaseOrderNoDetailMapper extends BaseMapperXe.like(CustomerDO::getBrief,pageReqVO.getCustomerName()).or().like(CustomerDO::getName,pageReqVO.getCustomerName())); + } + if (ObjectUtil.isNotEmpty(pageReqVO.getProjectName())){ + query.and(e->e.like(ProjectOrderDO::getProjectName,pageReqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,pageReqVO.getProjectName())); + } return selectPage(pageReqVO, query); } @@ -285,9 +290,9 @@ public interface PurchaseOrderNoDetailMapper extends BaseMapperXe.like(CustomerDO::getBrief,pageReqVO.getCustomerName()).or().like(CustomerDO::getName,pageReqVO.getCustomerName())); + } + if (ObjectUtil.isNotEmpty(pageReqVO.getProjectName())){ + query.and(e->e.like(ProjectOrderDO::getProjectName,pageReqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,pageReqVO.getProjectName())); + } return selectPage(pageReqVO, query); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagein/StorageInMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagein/StorageInMapper.java index 90903cdf..d5ada289 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagein/StorageInMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagein/StorageInMapper.java @@ -2,9 +2,11 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.storagein; import java.util.*; +import cn.hutool.core.util.ObjectUtil; 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.customer.CustomerDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplan.MaterialPlanDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; @@ -35,19 +37,26 @@ public interface StorageInMapper extends BaseMapperX { .leftJoin(SupplierDO.class,"sup", SupplierDO::getId, StorageInDetailDO::getSupplierId) .leftJoin(ProjectOrderDO.class, "p", ProjectOrderDO::getId, StorageInDetailDO::getProjectId) .leftJoin(ProjectOrderSubDO.class,"sub",ProjectOrderSubDO::getId, StorageInDetailDO::getProjectPlanSubId) + .leftJoin(CustomerDO.class,"c", CustomerDO::getId, StorageInDetailDO::getCustomerId) .disableSubLogicDel() .groupBy(StorageInDO::getId) .orderByDesc(PurchaseOrderDO::getCreateTime); query.like(!StringUtils.isEmpty(reqVO.getStorageNo()), StorageInDO::getStorageNo, reqVO.getStorageNo()); // query.like(!StringUtils.isEmpty(reqVO.getProjectName()), StorageInDetailDO::getProjectName, reqVO.getProjectName()); // query.like(!StringUtils.isEmpty(reqVO.getProjectSubName()), StorageInDetailDO::getName, reqVO.getProjectSubName()); - query.like(!StringUtils.isEmpty(reqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, reqVO.getProjectName()); +// query.like(!StringUtils.isEmpty(reqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, reqVO.getProjectName()); query.like(!StringUtils.isEmpty(reqVO.getProjectSubName()), ProjectOrderSubDO::getNameSim, reqVO.getProjectSubName()); query.like(!StringUtils.isEmpty(reqVO.getSupplierName()), SupplierDO::getBrief, reqVO.getSupplierName()); query.like(!StringUtils.isEmpty(reqVO.getBoomName()), StorageInDetailDO::getBoomName, reqVO.getBoomName()); query.like(!StringUtils.isEmpty(reqVO.getProjectCode()), ProjectOrderDO::getCode, reqVO.getProjectCode()); - query.like(!StringUtils.isEmpty(reqVO.getCustomerName()), StorageInDetailDO::getBrief, reqVO.getCustomerName()); +// query.like(!StringUtils.isEmpty(reqVO.getCustomerName()), StorageInDetailDO::getBrief, reqVO.getCustomerName()); query.eq(reqVO.getGoodsType() != null, StorageInDO::getGoodsType, reqVO.getGoodsType()); + if (ObjectUtil.isNotEmpty(reqVO.getCustomerName())){ + query.and(e->e.like(CustomerDO::getBrief,reqVO.getCustomerName()).or().like(CustomerDO::getName,reqVO.getCustomerName())); + } + if (ObjectUtil.isNotEmpty(reqVO.getProjectName())){ + query.and(e->e.like(ProjectOrderDO::getProjectName,reqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,reqVO.getProjectName())); + } return selectPage(reqVO, query); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java index d7d8f806..de43b0b9 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java @@ -775,8 +775,8 @@ public interface TaskDispatchDetailMapper extends BaseMapperXe.like(CustomerDO::getBrief,pageReqVO.getCustomerName()).or().like(CustomerDO::getName,pageReqVO.getCustomerName())); + } + if (ObjectUtil.isNotEmpty(pageReqVO.getProjectName())){ + query.and(e->e.like(ProjectOrderDO::getProjectName,pageReqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,pageReqVO.getProjectName())); + } return selectPage(pageReqVO, query); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java index 4e4ebc4f..e158dae1 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java @@ -80,8 +80,8 @@ public interface TaskDispatchMapper extends BaseMapperX { query.like(!StringUtils.isEmpty(reqVO.getCode()), TaskDispatchDO::getCode, reqVO.getCode()) .like(!StringUtils.isEmpty(reqVO.getProjectCode()), ProjectOrderDO::getCode, reqVO.getProjectCode()) - .like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getBrief, reqVO.getCustomerName()) - .like(!StringUtils.isEmpty(reqVO.getProjectName()), ProjectOrderDO::getProjectName, reqVO.getProjectName()) +// .like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getBrief, reqVO.getCustomerName()) +// .like(!StringUtils.isEmpty(reqVO.getProjectName()), ProjectOrderDO::getProjectName, reqVO.getProjectName()) .like(!StringUtils.isEmpty(reqVO.getProjectSubName()), ProjectOrderSubDO::getName, reqVO.getProjectSubName()) .like(!StringUtils.isEmpty(reqVO.getProjectSubCode()), "b.project_sub_code", reqVO.getProjectSubCode()) .eq(reqVO.getDispatchStatus() != null, TaskDispatchDO::getDispatchStatus, reqVO.getDispatchStatus()) @@ -94,6 +94,12 @@ public interface TaskDispatchMapper extends BaseMapperX { if (ObjectUtil.isNotEmpty(reqVO.getFlag())&&"false".equals(reqVO.getFlag())){ query.ne(ProjectOrderDO::getDeliveryStatus,3); } + if (ObjectUtil.isNotEmpty(reqVO.getCustomerName())){ + query.and(e->e.like(CustomerDO::getBrief,reqVO.getCustomerName()).or().like(CustomerDO::getName,reqVO.getCustomerName())); + } + if (ObjectUtil.isNotEmpty(reqVO.getProjectName())){ + query.and(e->e.like(ProjectOrderDO::getProjectName,reqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,reqVO.getProjectName())); + } return selectPage(reqVO, query); } default List selectPageNew(TaskDispatchPageReqVO reqVO) { diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterService.java index f9b44da9..e13c5ac6 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterService.java @@ -2,6 +2,8 @@ package com.chanko.yunxi.mes.module.heli.service.pgmaster; import java.util.*; import javax.validation.*; + +import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; import com.chanko.yunxi.mes.module.heli.controller.admin.pgmaster.vo.*; import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDispatchDetailPageReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterDO; @@ -83,4 +85,5 @@ public interface PgMasterService { List searchBomMx(Long task_id,Long project_id); + CommonResult qualified(Integer id); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterServiceImpl.java index 86e1cb21..69fe144c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterServiceImpl.java @@ -2,8 +2,11 @@ package com.chanko.yunxi.mes.module.heli.service.pgmaster; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDispatchDetailPageReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.bgmasterline.BgMasterLineDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO; @@ -11,9 +14,11 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.zjbgmasterline.ZjBgMaster import com.chanko.yunxi.mes.module.heli.dal.dataobject.zjpgmaster.ZjPgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.mysql.bgmasterline.BgMasterLineMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.pgmaster.PgMasterLineMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.procedure.ProcedureMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchDetailMapper; import com.chanko.yunxi.mes.module.heli.enums.TaskDispatchTypeEnum; +import com.chanko.yunxi.mes.module.heli.service.bgmasterline.BgMasterLineService; import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -21,6 +26,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; +import java.time.LocalDateTime; import java.util.*; import com.chanko.yunxi.mes.module.heli.controller.admin.pgmaster.vo.*; import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterDO; @@ -60,6 +66,10 @@ public class PgMasterServiceImpl implements PgMasterService { private SerialNumberService serialNumberService; @Resource private TaskDispatchDetailMapper taskDispatchDetailMapper; + @Resource + private BgMasterLineService bgMasterLineService; + @Resource + private ProcedureMapper procedureMapper; @@ -164,6 +174,38 @@ public class PgMasterServiceImpl implements PgMasterService { return pgMasterLineDOList; } + @Override + public CommonResult qualified(Integer id) { + PgMasterLineDO pgMasterLineDO = pgMasterLineMapper.selectById(id); + if (ObjectUtil.isNotEmpty(pgMasterLineDO)){ + BgMasterLineDO bgMasterLineDO = new BgMasterLineDO(); + bgMasterLineDO.setZjMxId(Long.valueOf(pgMasterLineDO.getId())); + bgMasterLineDO.setBgUser(getLoginUser().getId().toString()); + bgMasterLineDO.setAmount(pgMasterLineDO.getAmount()); + bgMasterLineDO.setBgTime(LocalDateTime.now()); + bgMasterLineDO.setEntTime(LocalDateTime.now()); + bgMasterLineDO.setIsQua(1); + bgMasterLineMapper.insert(bgMasterLineDO); + pgMasterLineDO.setPgType(1); + pgMasterLineDO.setDetilUser(Long.parseLong(getLoginUser().getId().toString())); + pgMasterLineDO.setActive("END"); + pgMasterLineDO.setEntTime(LocalDateTime.now()); + pgMasterLineMapper.updateById(pgMasterLineDO); + //修改派工单明细表检验状态为Y + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(TaskDispatchDetailDO::getId,pgMasterLineDO.getDispatchDetailId()); + wrapper.set(TaskDispatchDetailDO::getTestYn,"Y"); + taskDispatchDetailMapper.update(wrapper); + ProcedureDO procedureDO = procedureMapper.selectById(pgMasterLineDO.getProcedureId()); + String procedureName=""; + if (ObjectUtil.isNotEmpty(procedureDO)){ + procedureName = procedureDO.getName(); + } + return CommonResult.success("子项目"+pgMasterLineDO.getProjectSubName()+",图号"+pgMasterLineDO.getBlueprintNo()+",工序"+procedureName+"检验完成"); + } + return null; + } + @Override public Integer zfPgMaster(Long id) { diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java index dcc563e3..ccaee271 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java @@ -777,7 +777,7 @@ public class ProcessBomServiceImpl implements ProcessBomService { //第一次提交时获取审核人, List shenheDOS = shenheMapper.serchShenHeRuser("2", updateObj.getShenheUser(), 0); if (shenheDOS.size() > 0) { - updateObj.setBomStatus(6); + updateObj.setBomStatus(ProcessBomStatusEnum.valueOf(updateReqVO.getActive()).getCode()); //审核后设置状态为默认 ShenheDO shenheDO = shenheDOS.get(0); if (ObjectUtil.isNotEmpty(shenheDO.getShenheUser())) { diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailService.java index 003d36a2..694cee52 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailService.java @@ -10,6 +10,7 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.storage.StorageControll import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import org.apache.poi.ss.usermodel.Workbook; /** * 采购订单明细 Service 接口 @@ -76,5 +77,5 @@ public interface PurchaseOrderNoDetailService { PageResult getReceiveGoodDetail(PurchaseOrderNoPageReqVO pageReqVO); - List exportExcel(List ids); + Workbook exportExcel(List ids); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailServiceImpl.java index 62aa4460..d5538647 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailServiceImpl.java @@ -13,6 +13,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplanboom.MaterialPlanBoomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplandetail.MaterialPlanDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO; @@ -51,6 +52,9 @@ import com.chanko.yunxi.mes.module.system.api.user.AdminUserApi; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import com.chanko.yunxi.mes.module.system.service.user.AdminUserService; import com.sun.scenario.effect.impl.prism.PrTexture; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -597,7 +601,210 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe } @Override - public List exportExcel(List ids) { - return purchaseOrderNoDetailMapper.exportExcel(ids); + public Workbook exportExcel(List ids) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(PurchaseOrderNoDetailDO::getId,ids); + List list = purchaseOrderNoDetailMapper.selectList(lambdaQueryWrapper); + Workbook workbook = null; + if (ObjectUtil.isNotEmpty(list)) { + try { + workbook = new XSSFWorkbook(); + Sheet sheet = workbook.createSheet(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + // 设置单元格样式(启用自动换行) + CellStyle style = workbook.createCellStyle(); + style.setWrapText(true); // 关键:启用自动换行 + // 设置水平和垂直居中 + style.setAlignment(HorizontalAlignment.CENTER); + style.setVerticalAlignment(VerticalAlignment.CENTER); + // 创建字体对象 +// Font font = workbook.createFont(); +// font.setFontName("宋体"); // 设置字体为宋体 +// font.setFontHeightInPoints((short) 11); // 设置字号为11磅 +// font.setBold(true); // 设置加粗 +// // 将字体应用到样式 +// style.setFont(font); + + CellStyle styleWarp = workbook.createCellStyle(); + styleWarp.setWrapText(true); // 关键:启用自动换行 + // 设置水平和垂直居中 + styleWarp.setAlignment(HorizontalAlignment.CENTER); + styleWarp.setVerticalAlignment(VerticalAlignment.CENTER); + // 设置边框 + styleWarp.setBorderTop(BorderStyle.THIN); + styleWarp.setBorderBottom(BorderStyle.THIN); + styleWarp.setBorderLeft(BorderStyle.THIN); + styleWarp.setBorderRight(BorderStyle.THIN); + // 合并第一行前三格 + sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 2)); + //第一行 + Row row0 = sheet.createRow(0); + Cell cellA0 = row0.createCell(0); + cellA0.setCellStyle(style); + cellA0.setCellValue("杭州合立模具有限公司 委外工单及送货单"); + Cell cellA3 = row0.createCell(3); + cellA3.setCellStyle(style); + cellA3.setCellValue("审核:"); + Cell cellA4 = row0.createCell(5); + cellA4.setCellStyle(style); + cellA4.setCellValue("委外加工经手人:"); + Cell cellA5 = row0.createCell(7); + cellA5.setCellStyle(style); + cellA5.setCellValue("收货人:"); + //第二行 + Row row1 = sheet.createRow(1); + Cell cellA1 = row1.createCell(0); + cellA1.setCellStyle(styleWarp); + cellA1.setCellValue("编号"); + Cell cellB1 = row1.createCell(1); + cellB1.setCellStyle(styleWarp); + cellB1.setCellValue("日期"); + Cell cellC1 = row1.createCell(2); + cellC1.setCellStyle(styleWarp); + cellC1.setCellValue("客户名"); + Cell cellD1 = row1.createCell(3); + cellD1.setCellStyle(styleWarp); + cellD1.setCellValue("模具名"); + Cell cellE1 = row1.createCell(4); + cellE1.setCellStyle(styleWarp); + cellE1.setCellValue("件号"); + Cell cellF1 = row1.createCell(5); + cellF1.setCellStyle(styleWarp); + cellF1.setCellValue("零件名称"); + Cell cellG1 = row1.createCell(6); + cellG1.setCellStyle(styleWarp); + cellG1.setCellValue("材料"); + Cell cellH1 = row1.createCell(7); + cellH1.setCellStyle(styleWarp); + cellH1.setCellValue("规格"); + Cell cellI1 = row1.createCell(8); + cellI1.setCellStyle(styleWarp); + cellI1.setCellValue("数量"); + Cell cellJ1 = row1.createCell(9); + cellJ1.setCellStyle(styleWarp); + cellJ1.setCellValue("单价"); + Cell cellK1 = row1.createCell(10); + cellK1.setCellStyle(styleWarp); + cellK1.setCellValue("总价格"); + Cell cellL1 = row1.createCell(11); + cellL1.setCellStyle(styleWarp); + cellL1.setCellValue("要求日期"); + int rowIndex = 2; + BigDecimal sum = BigDecimal.ZERO; + BigDecimal priceSum = BigDecimal.ZERO; + Map boomMap = new HashMap<>(); + List collect = list.stream().map(PurchaseOrderNoDetailDO::getBoomDetailId).distinct().collect(Collectors.toList()); + if (ObjectUtil.isNotEmpty(collect)) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(ProcessBomDetailDO::getId, collect); + List processBomDetailDOList = processBomDetailMapper.selectList(queryWrapper); + if (ObjectUtil.isNotEmpty(processBomDetailDOList)) { + boomMap = processBomDetailDOList.stream().collect(Collectors.toMap(ProcessBomDetailDO::getId, ProcessBomDetailDO::getBlueprintNo)); + } + } + for (int i = 0; i < list.size(); i++) { + Row newRow = sheet.createRow(rowIndex + i); + PurchaseOrderNoDetailDO purchaseOrderNoDetailDO = list.get(i); + Cell cellA = newRow.createCell(0); + cellA.setCellStyle(styleWarp); + cellA.setCellValue(i + 1); + Cell cellB = newRow.createCell(1); + cellB.setCellStyle(styleWarp); + cellB.setCellValue(purchaseOrderNoDetailDO.getCreateTime().format(formatter)); + Cell cellC = newRow.createCell(2); + cellC.setCellStyle(styleWarp); + cellC.setCellValue(purchaseOrderNoDetailDO.getBrief()); + Cell cellD = newRow.createCell(3); + cellD.setCellStyle(styleWarp); + cellD.setCellValue(purchaseOrderNoDetailDO.getProjectSubCode()); + Cell cellE = newRow.createCell(4); + cellE.setCellStyle(styleWarp); + cellE.setCellValue(ObjectUtil.isNotEmpty(boomMap.get(purchaseOrderNoDetailDO.getBoomDetailId())) ? boomMap.get(purchaseOrderNoDetailDO.getBoomDetailId()) : ""); + Cell cellF = newRow.createCell(5); + cellF.setCellStyle(styleWarp); + cellF.setCellValue(purchaseOrderNoDetailDO.getBoomName()); + Cell cellG = newRow.createCell(6); + cellG.setCellStyle(styleWarp); + cellG.setCellValue(purchaseOrderNoDetailDO.getComposition()); + Cell cellH = newRow.createCell(7); + cellH.setCellStyle(styleWarp); + cellH.setCellValue(purchaseOrderNoDetailDO.getBoomSpec()); + Cell cellI = newRow.createCell(8); + cellI.setCellStyle(styleWarp); + cellI.setCellValue(String.valueOf(purchaseOrderNoDetailDO.getPurchaseAmount())); + sum = sum.add(purchaseOrderNoDetailDO.getPurchaseAmount()); + Cell cellJ = newRow.createCell(9); + cellJ.setCellStyle(styleWarp); + BigDecimal unitPrice = Optional.of(purchaseOrderNoDetailDO) + .filter(dto -> dto.getPurchaseAmount() != null) + .filter(dto -> dto.getEstimatedPrice() != null) + .filter(dto -> dto.getPurchaseAmount().compareTo(BigDecimal.ZERO) != 0) + .map(dto -> dto.getEstimatedPrice().divide(dto.getPurchaseAmount(), 2, RoundingMode.HALF_UP)) + .orElse(BigDecimal.ZERO); // 或者 .orElse(null) + cellJ.setCellValue(String.valueOf(unitPrice)); + Cell cellK = newRow.createCell(10); + cellK.setCellStyle(styleWarp); + cellK.setCellValue(String.valueOf(purchaseOrderNoDetailDO.getEstimatedPrice().setScale(2, RoundingMode.HALF_UP))); + priceSum = priceSum.add(purchaseOrderNoDetailDO.getEstimatedPrice().setScale(2, RoundingMode.HALF_UP)); + Cell cellL = newRow.createCell(11); + cellL.setCellStyle(styleWarp); + cellL.setCellValue(purchaseOrderNoDetailDO.getRequireTime().format(formatter)); + } + // 合并第一行前三格 + sheet.addMergedRegion(new CellRangeAddress(rowIndex + list.size(), rowIndex + list.size(), 0, 7)); + Row row = sheet.createRow(rowIndex + list.size()); + Cell cell = row.createCell(0); + cell.setCellStyle(styleWarp); + cell.setCellValue("合计"); + // 为合并区域的其他单元格也设置相同的样式 + for (int i = 1; i <= 7; i++) { + Cell otherCell = row.createCell(i); + otherCell.setCellStyle(styleWarp); + } + Cell cellI = row.createCell(8); + cellI.setCellStyle(styleWarp); + cellI.setCellValue(String.valueOf(sum)); + Cell cellJ = row.createCell(9); + cellJ.setCellStyle(styleWarp); + cellJ.setCellValue(""); + Cell cellK = row.createCell(10); + cellK.setCellStyle(styleWarp); + cellK.setCellValue(String.valueOf(priceSum)); + Cell cellL = row.createCell(11); + cellL.setCellStyle(styleWarp); + cellL.setCellValue(""); + Row rowFoot = sheet.createRow(rowIndex + list.size() + 1); + Cell cell1 = rowFoot.createCell(0); + cell1.setCellStyle(style); + cell1.setCellValue("合立经手人:"); + Cell cell2 = rowFoot.createCell(1); + cell2.setCellStyle(style); + AdminUserDO user = adminUserService.getUser(getLoginUser().getId()); + if (ObjectUtil.isNotEmpty(user)) { + cell2.setCellValue(user.getNickname()); + } + Cell cell3 = rowFoot.createCell(2); + cell3.setCellStyle(style); + cell3.setCellValue("审核人:"); + Cell cell4 = rowFoot.createCell(4); + cell4.setCellStyle(style); + cell4.setCellValue("委外加工经手人:"); + for (int i = 0; i < 12; i++) { + sheet.autoSizeColumn(i); + // 确保最小宽度 + if (sheet.getColumnWidth(i) < 8 * 256) { + sheet.setColumnWidth(i, 8 * 256); + } + } + sheet.setColumnWidth(0, 12 * 256); + sheet.setColumnWidth(2, 12 * 256); + sheet.setColumnWidth(4, 15 * 256); + sheet.setColumnWidth(5, 15 * 256); + + } catch (Exception e) { + e.printStackTrace(); + } + } + return workbook; } } diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/index.vue index feca4276..c83c8abf 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/index.vue @@ -1,7 +1,7 @@ +