From 0d2ae5c1cb2988361d540829deab2e3414f48b27 Mon Sep 17 00:00:00 2001 From: pangyang <475446853@qq.com> Date: Sat, 21 Mar 2026 17:13:35 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=8F=90=E9=86=92?= =?UTF-8?q?=E5=AD=90=E4=BB=B6=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DsPartRelationController.java | 24 ++++++++++++++++++ .../resources/Excel/QA/实验项目管理.xls | Bin 0 -> 7168 bytes 2 files changed, 24 insertions(+) create mode 100644 blade-service/blade-desk/src/main/resources/Excel/QA/实验项目管理.xls diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsPartRelationController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsPartRelationController.java index a26e6583..8ca1e3fa 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsPartRelationController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsPartRelationController.java @@ -38,6 +38,8 @@ import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; +import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; +import org.springblade.desk.dashboard.service.IDsPartService; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -50,6 +52,8 @@ import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.tool.constant.BladeConstant; + +import java.util.ArrayList; import java.util.Map; import java.util.List; import jakarta.servlet.http.HttpServletResponse; @@ -68,6 +72,8 @@ public class DsPartRelationController extends BladeController { private final IDsPartRelationService dsPartRelationService; + private final IDsPartService dsPartService; + /** * 部件-子件关联表 详情 */ @@ -100,6 +106,24 @@ public class DsPartRelationController extends BladeController { return R.data(pages); } + @GetMapping("/getSubParts") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "传入dsPartRelation") + public R> getSubParts(String partCode) { + List pages = new ArrayList<>(); + + QueryWrapper relationQuery = new QueryWrapper<>(); + relationQuery.eq("part_code", partCode); + List list = dsPartRelationService.list(relationQuery); + if(null != list && list.size() > 0){ + List childPartIds = list.stream().map(DsPartRelationEntity::getChildPartId).toList(); + QueryWrapper partQuery = new QueryWrapper<>(); + partQuery.in("id", childPartIds); + pages = dsPartService.list(partQuery); + } + return R.data(pages); + } + /** * 部件-子件关联表 新增 */ diff --git a/blade-service/blade-desk/src/main/resources/Excel/QA/实验项目管理.xls b/blade-service/blade-desk/src/main/resources/Excel/QA/实验项目管理.xls new file mode 100644 index 0000000000000000000000000000000000000000..7b7932e98f52eb351d5c7a50eb493cbcfb76b8a0 GIT binary patch literal 7168 zcmeHLYiv|S6h8Ov-F6oW-99LV%DNUxpFkf}3I%qHt-**CDGGr#&{7@^3Z_8-Wv5EX0I~r3nYc@Ljs+IWCj2%_Kw4xYc(-hWr-x4km@&3B7!Lv- zrXoEml?OG`>8dfM?`5AjYq(I1H1yBi80aJjfz%-y5r~w$0>cFQ1^}zix zSp)b?U>48_%m(HFtRDmq0ZqU>-~pf+XaW9DG0y9O7c<=Q$*9wry&+^VAHDhINtMn~ zvk`M~d2XMU>*o4((<>Cl?(mvmvp){3!G0Zgqasx#r|8;nB#-eofo#cFLy83sr+)(EQj*z77 z%za(i;SVj1%c~sZ6L-D+b zTk-rzW^|Q7?{3FzDdL9`cFs0gkGQ-Br?wg;KhKY+BzdipPvK!INnR%hJcR(|nm7YV zJag^B$?S3bdJPXCvU|FTm__YJ3=2D=VI9HlsK3R>B7htC4dP4fGL|aOb%Z5G-_BhJ zw(a|IODx;I?)QbruIpH^BXj*{k4EvC=aCEe?xRY6^68_2@9NP2+mVbkdC1emE|#GF zZVYpj+D@~OcH(Hrtu;q=(1&+kKK%1nk8~^wu2k|0C9hQJ3rZ3}9h*w%1Zgmy$CF;m zK2W}>YQLn?$yaM%2$m+~%dX}Jg5?SMLok&Wy}I}l%|fGz9Cfe2zdvYmLmtBuk36f! zE^;i3W3W`2t@e+MmrXob5PL2rkHXsU+RPqP2NM^@pdV$+6=h9*G?rM&V8BHM{mev( zJ^L0Wo~xS8HFM=SeJUZKlNrzi*w)1}5LL1xF4ulG^mcgir6X=d71^3l%h`>IF;Bbk z&Tyga5}HesGNsCfkS3W@SI~|Uxob+jD(uy8OHHXwuY(MNSM~w351~ZgIsKV^T$Z0X zQCGk(T6m`?_ErCHbJa(Cb_~fa=~tC6W;1wtxpcAoLc1D z`#Strb?HbmWbPDM7=xkRX-_cO0e~WVkgy;70KV%jfIgs)=}Y>U_H*ObV-tGEJ1BnM zZ@$6%s0O^9_f9t9mDeS1aRcn^O(I)2`AvG|4ZY@e*8eF+$~(MM0O#^I0G6MMXI$%C z^IYo#0M|MX>MCl%e_Y$1*xd7h-^kjv-JiOC>~i8-wq@7j>R63F+59!+ITlhGK%HS0 zus%AGu)j|Nlrztm^DyRrE7oo|Rz)XP#cHgGdEi~B*@-jw8ayGT8!OjfEv{JVkxr2Y V+*8&7)j%C`Gu2(BYWyEc{sI@7Firpf literal 0 HcmV?d00001 From 84faed173116ebab78584a7c47330253a0322706 Mon Sep 17 00:00:00 2001 From: liweidong-hj Date: Sat, 21 Mar 2026 18:41:28 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E7=89=B9=E6=AE=8A=E8=BF=87=E7=A8=8B?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dashboard/pojo/dto/DsTaskBillDTO.java | 6 ++-- .../dashboard/pojo/entity/DsPartEntity.java | 19 +++++++++++ .../pojo/entity/DsSpecialProEntity.java | 6 ++++ .../pojo/entity/DsTaskBillEntity.java | 6 ++++ .../dashboard/pojo/vo/DsSpecialProVO.java | 7 ++++ .../controller/DsTaskBillController.java | 10 ++++-- .../desk/dashboard/mapper/PartMapper.xml | 4 +++ .../dashboard/mapper/SpecialProMapper.xml | 13 +++++--- .../desk/dashboard/mapper/TaskBillMapper.xml | 1 + .../dashboard/service/IDsTaskBillService.java | 5 ++- .../service/impl/DsTaskBillServiceImpl.java | 32 ++++++++----------- .../service/impl/DsTaskingServiceImpl.java | 15 ++++----- 12 files changed, 86 insertions(+), 38 deletions(-) diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsTaskBillDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsTaskBillDTO.java index 9a556266..dfc88a2e 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsTaskBillDTO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsTaskBillDTO.java @@ -49,8 +49,10 @@ public class DsTaskBillDTO extends DsTaskBillEntity { private String fillMemo; - private List fillingDetailList; +// private List fillingDetailList; +// +// private List deleteIds; - private List deleteIds; + private String fileUrl; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartEntity.java index 90662a8a..d523f8b4 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartEntity.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartEntity.java @@ -325,4 +325,23 @@ public class DsPartEntity extends BaseEntity { @Schema(description = "子件类型") private String subType; + /** + * 玻璃饼直径 + */ + @Schema(description = "玻璃饼直径") + private BigDecimal blbDiameter; + + /** + * 壳体最大外径 + */ + @Schema(description = "壳体最大外径") + private BigDecimal externalDiameter; + + + /** + * 镀层厚度2 + */ + @Schema(description = "镀层厚度2") + private BigDecimal plateThicknessTwo; + } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsSpecialProEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsSpecialProEntity.java index fb61ae42..39d036a5 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsSpecialProEntity.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsSpecialProEntity.java @@ -122,4 +122,10 @@ public class DsSpecialProEntity extends BaseEntity { @Schema(description = "设备名称") private String equipmentName; + /** + * 同步状态 + */ + @Schema(description = "同步状态") + private String syncStatus; + } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsTaskBillEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsTaskBillEntity.java index ce23357d..414e1a2a 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsTaskBillEntity.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsTaskBillEntity.java @@ -123,6 +123,12 @@ public class DsTaskBillEntity extends BaseEntity { @Schema(description = "设备名称") private String equipmentName; + /** + * 文件路径 + */ + @Schema(description = "文件路径") + private String fileUrl; + /** * 未处理 */ diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsSpecialProVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsSpecialProVO.java index dc01eeb7..5a0d5f3d 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsSpecialProVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsSpecialProVO.java @@ -25,6 +25,7 @@ */ package org.springblade.desk.dashboard.pojo.vo; +import io.swagger.v3.oas.annotations.media.Schema; import org.springblade.desk.dashboard.pojo.entity.DsSpecialProEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -42,4 +43,10 @@ public class DsSpecialProVO extends DsSpecialProEntity { @Serial private static final long serialVersionUID = 1L; + /** + * 文件路径 + */ + @Schema(description = "文件路径") + private String fileUrl; + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsTaskBillController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsTaskBillController.java index 8b50aeb9..6e7f70c0 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsTaskBillController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsTaskBillController.java @@ -25,6 +25,7 @@ */ package org.springblade.desk.dashboard.controller; +import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -41,6 +42,7 @@ import org.springblade.core.tool.utils.Func; import org.springblade.desk.dashboard.pojo.dto.DsTaskBillDTO; import org.springblade.desk.dashboard.pojo.entity.BsFillingDetailEntity; import org.springblade.desk.dashboard.service.IBsFillingDetailService; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -185,10 +187,12 @@ public class DsTaskBillController extends BladeController { public R handleDsTaskBill(@Valid @RequestBody DsTaskBillDTO dto) { Long tbId = dto.getTbId(); String fillMemo = dto.getFillMemo(); - List fillingDetailList = dto.getFillingDetailList(); - List deleteIds = dto.getDeleteIds(); + String fileUrl = dto.getFileUrl(); + if(tbId == null || StringUtils.isEmpty(fileUrl)){ + return R.fail("tbId 和 fileUrl 不能为空"); + } - return R.status(dsTaskBillService.handleDsTaskBill(tbId,fillMemo,fillingDetailList,deleteIds)); + return R.status(dsTaskBillService.handleDsTaskBill(tbId,fillMemo,fileUrl)); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/PartMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/PartMapper.xml index cbdce1b4..0a3644e6 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/PartMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/PartMapper.xml @@ -127,6 +127,10 @@ + + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/SpecialProMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/SpecialProMapper.xml index 6e1e58bb..07075cd8 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/SpecialProMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/SpecialProMapper.xml @@ -24,17 +24,20 @@ + - + select sp.*,tb.FILE_URL from DS_SPECIAL_PRO sp left join DS_TASK_BILL tb on sp.ID = tb.SP_ID + where sp.is_deleted = 0 - and WC_ID = #{dsSpecialPro.wcId} + and sp.WC_ID = #{dsSpecialPro.wcId} - and EQUIPMENT_ID = #{dsSpecialPro.equipmentId} + and sp.EQUIPMENT_ID = #{dsSpecialPro.equipmentId} + order by sp.UPDATE_TIME desc @@ -46,6 +49,8 @@ SELECT * FROM ds_special_pro a WHERE IS_DELETED = 0 AND to_char(NVL(a.last_due_time, a.create_time) - a.rem_days, 'yyyy-mm-dd HH24:MI:SS') < #{nextRunTimeStr} + AND a.SYNC_STATUS = 0 + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/TaskBillMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/TaskBillMapper.xml index 92a0d70c..2ee3767f 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/TaskBillMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/TaskBillMapper.xml @@ -25,6 +25,7 @@ + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsTaskBillService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsTaskBillService.java index d0196b16..e470735b 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsTaskBillService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsTaskBillService.java @@ -68,9 +68,8 @@ public interface IDsTaskBillService extends BaseService { *处理特殊工艺任务 * @param tbId * @param fillMemo - * @param fillingDetailList - * @param deleteIds + * @param fileUrl * @return */ - boolean handleDsTaskBill(Long tbId, String fillMemo, List fillingDetailList, List deleteIds); + boolean handleDsTaskBill(Long tbId, String fillMemo,String fileUrl); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskBillServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskBillServiceImpl.java index 5ec3a6f4..fe30c926 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskBillServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskBillServiceImpl.java @@ -26,6 +26,7 @@ package org.springblade.desk.dashboard.service.impl; import com.alibaba.druid.sql.visitor.functions.Function; import com.google.common.base.Strings; +import lombok.extern.slf4j.Slf4j; import org.springblade.desk.dashboard.pojo.entity.BsFillingDetailEntity; import org.springblade.desk.dashboard.pojo.entity.DsSpecialProEntity; import org.springblade.desk.dashboard.pojo.entity.DsTaskBillEntity; @@ -53,6 +54,7 @@ import java.util.List; * @author BladeX * @since 2025-11-22 */ +@Slf4j @Service public class DsTaskBillServiceImpl extends BaseServiceImpl implements IDsTaskBillService { @@ -82,12 +84,10 @@ public class DsTaskBillServiceImpl extends BaseServiceImpl spList = specialProService.listSpByTime(nextRunTimeStr); if(CollectionUtils.isEmpty(spList)){ return; @@ -97,10 +97,6 @@ public class DsTaskBillServiceImpl extends BaseServiceImpl fillingDetailList, List deleteIds) { + public boolean handleDsTaskBill(Long tbId, String fillMemo,String fileUrl) { DsTaskBillEntity dsTaskBill = taskBillMapper.selectById(tbId); dsTaskBill.setFillMemo(fillMemo); dsTaskBill.setTbStatus(DsTaskBillEntity.TBSTATUS_END); + dsTaskBill.setFileUrl(fileUrl); int update = taskBillMapper.updateById(dsTaskBill); //存入上次处理时间 @@ -136,16 +142,6 @@ public class DsTaskBillServiceImpl extends BaseServiceImpl 0) { - for (BsFillingDetailEntity fillingDetail : fillingDetailList) { - fillingDetail.setBusId(tbId); - fillingDetail.setBusType(BsFillingDetailEntity.DS_TASK_BILL); - fillingDetailService.save(fillingDetail); - } - } - if (deleteIds.size() > 0) { - fillingDetailService.deleteLogic(deleteIds); - } return true; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java index 316451bf..55417631 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java @@ -356,7 +356,12 @@ public class DsTaskingServiceImpl extends BaseServiceImpl partRelationEntityList = partRelationService.selectDsPartRelationByPartId(partEntity.getId()); for (DsPartRelationEntity dsPartRelationEntity : partRelationEntityList) { DsPartEntity zPartEntity = partService.getById(dsPartRelationEntity.getChildPartId()); - if(null != zPartEntity){ + assert zPartEntity != null; + if(null != zPartEntity.getSinTerType()){ + List zCraftList = craftService.getPartCraft(zPartEntity.getId(),"2"); + if(CollectionUtils.isEmpty(zCraftList) ){ + throw new ServiceException("子件工艺缺失"); + } //检验子件超期 if(null == zPartEntity.getNextDue()){ throw new ServiceException("【子件号】"+zPartEntity.getPartCode()+"工艺超期"); @@ -365,13 +370,6 @@ public class DsTaskingServiceImpl extends BaseServiceImpl zCraftList = craftService.getPartCraft(zPartEntity.getId(),"2"); - if(CollectionUtils.isEmpty(zCraftList) ){ - throw new ServiceException("子件工艺缺失"); - } // List zProcessEntities = processService.selectDsProcessByCraftId(zCraft.getId()); // if(CollectionUtils.isEmpty(zProcessEntities)){ // throw new ServiceException("【子件号】工艺未编制工序"); @@ -1005,6 +1003,7 @@ public class DsTaskingServiceImpl extends BaseServiceImpl Date: Sat, 21 Mar 2026 19:19:46 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=8F=90=E9=86=92?= =?UTF-8?q?=E5=AD=90=E4=BB=B6=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../springblade/desk/quality/mapper/InspectionTaskMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.xml index f22282e6..a9af7c38 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.xml @@ -242,7 +242,7 @@ SELECT wo.*, -- 完工时间:仅当运行状态为15时取更新时间,否则为null - CASE WHEN wo.RUN_STATUS = 15 THEN wo.update_time ELSE null END AS finishDate, + CASE WHEN wo.RUN_STATUS = 2 THEN wo.update_time ELSE null END AS finishDate, yo.id AS yoId, ts.TS_NAME AS mainProcessingUnit, yo.USE_DEPT AS needDeptName, @@ -270,7 +270,7 @@ -- 班组 ts LEFT JOIN BS_TEAM_SET ts ON wp.MAKE_TEAM = ts.ID WHERE - wo.IS_DELETED = 0 + wo.IS_DELETED = 0 and wo.RUN_STATUS = 2 AND t.WP_ID = #{q.wpId} From 0b19f7e4d51d00457760f481627aa33506c92218 Mon Sep 17 00:00:00 2001 From: qinyulong Date: Mon, 23 Mar 2026 10:24:19 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=A4=96=E5=8D=8F=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E9=BB=98=E8=AE=A4=E4=BD=BF=E7=94=A8=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E7=9A=84=E9=95=80=E5=90=8E=E5=85=A5=E5=BA=93=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E6=9F=A5=E8=AF=A2=E6=8A=A5=E4=BB=B7=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../request/OemSettleAccountsApproval.java | 4 +- .../pojo/request/OemSettleAccountsSave.java | 2 +- .../desk/oem/pojo/request/StatementQuery.java | 2 +- .../oem/controller/OemProcessController.java | 17 + .../controller/OemStatementController.java | 4 +- .../desk/oem/mapper/OemStatementMapper.xml | 6 +- .../oem/service/IOemStatementService.java | 2 +- .../service/impl/OemStatementServiceImpl.java | 291 ++++++++++++------ 8 files changed, 227 insertions(+), 101 deletions(-) diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/OemSettleAccountsApproval.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/OemSettleAccountsApproval.java index 044d59f7..23ba8440 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/OemSettleAccountsApproval.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/OemSettleAccountsApproval.java @@ -15,9 +15,9 @@ public class OemSettleAccountsApproval { /** * 结算单IDList */ - @Schema(description = "结算单IDList", required = true) + @Schema(description = "结算单IDStrList", required = true) @NotNull(message = "结算单ID不能为空") - private List ids; + private String ids; /** * 审批意见 */ diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/OemSettleAccountsSave.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/OemSettleAccountsSave.java index f9e36d9d..2fc813c8 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/OemSettleAccountsSave.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/OemSettleAccountsSave.java @@ -18,7 +18,7 @@ public class OemSettleAccountsSave { @DateTimeFormat(pattern = "yyyy-MM-dd") @Schema(description = "镀后入库时间") - @NotNull(message = "镀后入库时间不能为空") +// @NotNull(message = "镀后入库时间不能为空") private LocalDate putStoreDate; @Schema(description = "现执行价格") diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/StatementQuery.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/StatementQuery.java index cc2f8956..1ebfe4e4 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/StatementQuery.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/StatementQuery.java @@ -54,7 +54,7 @@ public class StatementQuery { * 工序IDS */ @Schema(description = "工序IDs(传字符串1,2,3,4)") - private String ppsIds; + private String psCode; /** * 外协厂商IDS */ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemProcessController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemProcessController.java index f4853bcd..c6ebad31 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemProcessController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemProcessController.java @@ -15,7 +15,10 @@ import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; +import org.springblade.desk.basic.pojo.entity.Oem; +import org.springblade.desk.basic.pojo.vo.OemVO; import org.springblade.desk.basic.util.ExcelExtUtil; +import org.springblade.desk.basic.wrapper.OemWrapper; import org.springblade.desk.device.pojo.entity.MeasurementRecordsEntity; import org.springblade.desk.oem.pojo.excel.OemAndAbilityImport; import org.springblade.desk.oem.pojo.excel.OemMeritsExcel; @@ -69,6 +72,20 @@ public class OemProcessController extends BladeController { return R.data(OemProcessWrapper.build().entityVO(detail)); } + /** + * 外协工序下拉选择 + * + * @return + */ + @GetMapping("/listForSelect") + @ApiOperationSupport(order = 2) + @Operation(summary = "list下拉选择", description = "") + public R> listForSelect() { + List list = mesOemProcessService.list(); + List listVO = OemProcessWrapper.build().listVO(list); + return R.data(listVO); + } + /** * 外协工序 自定义分页 */ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemStatementController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemStatementController.java index 387124a4..bacda0c8 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemStatementController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemStatementController.java @@ -123,8 +123,8 @@ public class OemStatementController extends BladeController { @ApiOperationSupport(order = 8) @Operation(summary = "外协手动结算", description = "") @ApiLog("外协手动结算") - public R oemSettleAccounts(@Valid @RequestBody OemSettleAccountsSave oemSettleAccountsSave) { - return mesOemStatementService.oemSettleAccounts(oemSettleAccountsSave.getStatementList(), oemSettleAccountsSave.getPrice(), oemSettleAccountsSave.getPutStoreDate()); + public R oemManualSettlement(@Valid @RequestBody OemSettleAccountsSave oemSettleAccountsSave) { + return mesOemStatementService.oemManualSettlement(oemSettleAccountsSave.getStatementList(), oemSettleAccountsSave.getPrice()); } /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.xml index bb03b721..47831eb6 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.xml @@ -194,9 +194,9 @@ #{id} - - AND g.ID IN - + AND g.oem_process_code IN + #{id} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/IOemStatementService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/IOemStatementService.java index 45485a51..467f4815 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/IOemStatementService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/IOemStatementService.java @@ -48,7 +48,7 @@ public interface IOemStatementService extends BaseService { * @param putStoreDate 镀后入库时间 * @return */ - R oemSettleAccounts(List statementVOS, BigDecimal price, LocalDate putStoreDate); + R oemManualSettlement(List statementVOS, BigDecimal price); /** * 外协自动结算 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java index 64579f2f..5bf9343d 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import jakarta.annotation.Resource; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; import org.springblade.desk.oem.mapper.PlatingTypeRulesMapper; import org.springblade.desk.oem.pojo.entity.OemStatementEntity; import org.springblade.desk.oem.pojo.entity.PlatingTypeRulesEntity; @@ -68,6 +69,44 @@ public class OemStatementServiceImpl extends BaseServiceImpl statementVOS, BigDecimal price) { + // 初始化成功和失败计数器 + AtomicInteger totalSuccess = new AtomicInteger(0); + AtomicInteger totalError = new AtomicInteger(0); + //按照镀后入库日期分组后,调用结算方法 + Map> groupedMap = statementVOS.stream() + .filter(vo -> vo.getPutStoreTime() != null && !vo.getPutStoreTime().trim().isEmpty()) + .collect(Collectors.groupingBy(StatementVO::getPutStoreTime)); + groupedMap.entrySet().forEach(stringListEntry -> { + R result = oemSettleAccounts(stringListEntry.getValue(), price, LocalDate.parse(stringListEntry.getKey())); + + if (result != null && result.isSuccess()) { + Map data = (Map) result.getData(); + if (data != null) { + Object successObj = data.get("success"); + Object errorObj = data.get("error"); + + if (successObj instanceof Integer) { + totalSuccess.addAndGet((Integer) successObj); + } else if (successObj instanceof Number) { + totalSuccess.addAndGet(((Number) successObj).intValue()); + } + + if (errorObj instanceof Integer) { + totalError.addAndGet((Integer) errorObj); + } else if (errorObj instanceof Number) { + totalError.addAndGet(((Number) errorObj).intValue()); + } + } + } + }); + + return R.data(Map.of( + "success", totalSuccess.get(), + "error", totalError.get() + )); + } + public R oemSettleAccounts(List statementVOS, BigDecimal price, LocalDate putStoreDate) { // 定义计数器 AtomicInteger countSuccess = new AtomicInteger(0); @@ -110,7 +149,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】匹配无报价记录", oemName)); + statementVO.setMemo(String.format("外协厂商【%s】-未找到报价", oemName)); }); } else { //工序分组Map<工序, 报价列表> @@ -209,13 +248,83 @@ public class OemStatementServiceImpl extends BaseServiceImpl priceSheetAllList = getPriceSheets(oemName); +// List priceSheetAllList = getPriceSheets(oemName); + //假数据测试用 + List priceSheetAllList = new ArrayList<>(); + PriceSheetVO priceSheet1 = new PriceSheetVO(); + priceSheet1.setPrice("60"); + priceSheet1.setSplyname(oemName); + priceSheet1.setPrtum("件"); + priceSheet1.setWono("WO-N2510424439-R002"); + priceSheet1.setSeqid("GXJG-20250228018"); + priceSheet1.setGxinfo("玻璃封接电化学抛光"); + priceSheet1.setStartdat("2026-01-15"); + priceSheetAllList.add(priceSheet1); + PriceSheetVO priceSheet2 = new PriceSheetVO(); + priceSheet2.setPrice("26"); + priceSheet2.setSplyname(oemName); + priceSheet2.setPrtum("件"); + priceSheet2.setSeqid("GXJG-20250228012"); + priceSheet2.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet2.setPrtlotno("JI和JHT"); + priceSheet2.setStairflag("单批阶梯价(按单件面积)"); + priceSheet2.setLower("5"); + priceSheet2.setUpper("0"); + priceSheet2.setPrtno("21E6-575-10724-%螺母"); + priceSheet2.setStartdat("2026-01-15"); + priceSheetAllList.add(priceSheet2); + PriceSheetVO priceSheet3 = new PriceSheetVO(); + priceSheet3.setPrice("34"); + priceSheet3.setSplyname(oemName); + priceSheet3.setPrtum("件"); + priceSheet3.setSeqid("GXJG-20250228012"); + priceSheet3.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet3.setPrtlotno("JI和JHT"); + priceSheet3.setStairflag("单批阶梯价(按单件面积)"); + priceSheet3.setLower("10"); + priceSheet3.setUpper("5.00001"); + priceSheet3.setPrtno("21E6-575-10724-%螺母"); + priceSheet3.setStartdat("2026-01-15"); + priceSheetAllList.add(priceSheet3); + PriceSheetVO priceSheet4 = new PriceSheetVO(); + priceSheet4.setPrice("15"); + priceSheet4.setSplyname(oemName); + priceSheet4.setPrtum("件"); + priceSheet4.setSeqid("GXJG-20250228012"); + priceSheet4.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet4.setPrtlotno("JHT"); + priceSheet4.setStairflag("非阶梯价"); + priceSheet4.setPrtno("21E6-575-10724-%螺母"); + priceSheet4.setStartdat("2026-01-15"); + priceSheetAllList.add(priceSheet4); + PriceSheetVO priceSheet5 = new PriceSheetVO(); + priceSheet5.setPrice("99"); + priceSheet5.setSplyname(oemName); + priceSheet5.setPrtum("件"); + priceSheet5.setSeqid("GXJG-20250228012"); + priceSheet5.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet5.setStairflag("非阶梯价"); + priceSheet5.setPrtno("21E6-575-10724-%螺母"); + priceSheet5.setRemark("氰化亚金钾380.01-400元/克(未税)"); + priceSheet5.setStartdat("2026-01-15"); + priceSheetAllList.add(priceSheet5); + PriceSheetVO priceSheet6 = new PriceSheetVO(); + priceSheet6.setPrice("200"); + priceSheet6.setSplyname(oemName); + priceSheet6.setPrtum("件"); + priceSheet6.setSeqid("GXJG-20250228012"); + priceSheet6.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet6.setStairflag("非阶梯价"); + priceSheet6.setPrtno("21E6-575-10724-%螺母"); + priceSheet6.setRemark("氰化亚金钾400.01-500元/克(未税)"); + priceSheet6.setStartdat("2026-01-16"); + priceSheetAllList.add(priceSheet6); if (priceSheetAllList.isEmpty()) { //【结算异常】 statementVOList.forEach(statementVO -> { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】匹配无报价记录", oemName)); + statementVO.setMemo(String.format("外协厂商【%s】-未找到报价", oemName)); }); } else { //工序分组Map<工序, 报价列表> @@ -292,76 +401,76 @@ public class OemStatementServiceImpl extends BaseServiceImpl priceSheetAllList = getPriceSheets(oemName, putStoreDate); +// List priceSheetAllList = getPriceSheets(oemName, putStoreDate); //假数据测试用 -// List priceSheetAllList = new ArrayList<>(); -// PriceSheetVO priceSheet1 = new PriceSheetVO(); -// priceSheet1.setPrice("60"); -// priceSheet1.setSplyname(oemName); -// priceSheet1.setPrtum("件"); -// priceSheet1.setWono("WO-N2510424439-R002"); -// priceSheet1.setSeqid("GXJG-20250228018"); -// priceSheet1.setGxinfo("玻璃封接电化学抛光"); -// priceSheetAllList.add(priceSheet1); -// PriceSheetVO priceSheet2 = new PriceSheetVO(); -// priceSheet2.setPrice("26"); -// priceSheet2.setSplyname(oemName); -// priceSheet2.setPrtum("件"); -// priceSheet2.setSeqid("GXJG-20250228012"); -// priceSheet2.setGxinfo("玻璃封接电镀去氧化皮"); -// priceSheet2.setPrtlotno("JI和JHT"); -// priceSheet2.setStairflag("单批阶梯价(按单件面积)"); -// priceSheet2.setLower("5"); -// priceSheet2.setUpper("0"); -// priceSheet2.setPrtno("21E6-575-10724-%螺母"); -// priceSheetAllList.add(priceSheet2); -// PriceSheetVO priceSheet3 = new PriceSheetVO(); -// priceSheet3.setPrice("34"); -// priceSheet3.setSplyname(oemName); -// priceSheet3.setPrtum("件"); -// priceSheet3.setSeqid("GXJG-20250228012"); -// priceSheet3.setGxinfo("玻璃封接电镀去氧化皮"); -// priceSheet3.setPrtlotno("JI和JHT"); -// priceSheet3.setStairflag("单批阶梯价(按单件面积)"); -// priceSheet3.setLower("10"); -// priceSheet3.setUpper("5.00001"); -// priceSheet3.setPrtno("21E6-575-10724-%螺母"); -// priceSheetAllList.add(priceSheet3); -// PriceSheetVO priceSheet4 = new PriceSheetVO(); -// priceSheet4.setPrice("15"); -// priceSheet4.setSplyname(oemName); -// priceSheet4.setPrtum("件"); -// priceSheet4.setSeqid("GXJG-20250228012"); -// priceSheet4.setGxinfo("玻璃封接电镀去氧化皮"); -// priceSheet4.setPrtlotno("JHT"); -// priceSheet4.setStairflag("非阶梯价"); -// priceSheet4.setPrtno("21E6-575-10724-%螺母"); -// priceSheetAllList.add(priceSheet4); -// PriceSheetVO priceSheet5 = new PriceSheetVO(); -// priceSheet5.setPrice("99"); -// priceSheet5.setSplyname(oemName); -// priceSheet5.setPrtum("件"); -// priceSheet5.setSeqid("GXJG-20250228012"); -// priceSheet5.setGxinfo("玻璃封接电镀去氧化皮"); -// priceSheet5.setStairflag("非阶梯价"); -// priceSheet5.setPrtno("21E6-575-10724-%螺母"); -// priceSheet5.setRemark("氰化亚金钾380.01-400元/克(未税)"); -// priceSheetAllList.add(priceSheet5); -// PriceSheetVO priceSheet6 = new PriceSheetVO(); -// priceSheet6.setPrice("200"); -// priceSheet6.setSplyname(oemName); -// priceSheet6.setPrtum("件"); -// priceSheet6.setSeqid("GXJG-20250228012"); -// priceSheet6.setGxinfo("玻璃封接电镀去氧化皮"); -// priceSheet6.setStairflag("非阶梯价"); -// priceSheet6.setPrtno("21E6-575-10724-%螺母"); -// priceSheet6.setRemark("氰化亚金钾400.01-500元/克(未税)"); -// priceSheetAllList.add(priceSheet6); + List priceSheetAllList = new ArrayList<>(); + PriceSheetVO priceSheet1 = new PriceSheetVO(); + priceSheet1.setPrice("60"); + priceSheet1.setSplyname(oemName); + priceSheet1.setPrtum("件"); + priceSheet1.setWono("WO-N2510424439-R002"); + priceSheet1.setSeqid("GXJG-20250228018"); + priceSheet1.setGxinfo("玻璃封接电化学抛光"); + priceSheetAllList.add(priceSheet1); + PriceSheetVO priceSheet2 = new PriceSheetVO(); + priceSheet2.setPrice("26"); + priceSheet2.setSplyname(oemName); + priceSheet2.setPrtum("件"); + priceSheet2.setSeqid("GXJG-20250228012"); + priceSheet2.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet2.setPrtlotno("JI和JHT"); + priceSheet2.setStairflag("单批阶梯价(按单件面积)"); + priceSheet2.setLower("5"); + priceSheet2.setUpper("0"); + priceSheet2.setPrtno("21E6-575-10724-%螺母"); + priceSheetAllList.add(priceSheet2); + PriceSheetVO priceSheet3 = new PriceSheetVO(); + priceSheet3.setPrice("34"); + priceSheet3.setSplyname(oemName); + priceSheet3.setPrtum("件"); + priceSheet3.setSeqid("GXJG-20250228012"); + priceSheet3.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet3.setPrtlotno("JI和JHT"); + priceSheet3.setStairflag("单批阶梯价(按单件面积)"); + priceSheet3.setLower("10"); + priceSheet3.setUpper("5.00001"); + priceSheet3.setPrtno("21E6-575-10724-%螺母"); + priceSheetAllList.add(priceSheet3); + PriceSheetVO priceSheet4 = new PriceSheetVO(); + priceSheet4.setPrice("15"); + priceSheet4.setSplyname(oemName); + priceSheet4.setPrtum("件"); + priceSheet4.setSeqid("GXJG-20250228012"); + priceSheet4.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet4.setPrtlotno("JHT"); + priceSheet4.setStairflag("非阶梯价"); + priceSheet4.setPrtno("21E6-575-10724-%螺母"); + priceSheetAllList.add(priceSheet4); + PriceSheetVO priceSheet5 = new PriceSheetVO(); + priceSheet5.setPrice("99"); + priceSheet5.setSplyname(oemName); + priceSheet5.setPrtum("件"); + priceSheet5.setSeqid("GXJG-20250228012"); + priceSheet5.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet5.setStairflag("非阶梯价"); + priceSheet5.setPrtno("21E6-575-10724-%螺母"); + priceSheet5.setRemark("氰化亚金钾380.01-400元/克(未税)"); + priceSheetAllList.add(priceSheet5); + PriceSheetVO priceSheet6 = new PriceSheetVO(); + priceSheet6.setPrice("200"); + priceSheet6.setSplyname(oemName); + priceSheet6.setPrtum("件"); + priceSheet6.setSeqid("GXJG-20250228012"); + priceSheet6.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet6.setStairflag("非阶梯价"); + priceSheet6.setPrtno("21E6-575-10724-%螺母"); + priceSheet6.setRemark("氰化亚金钾400.01-500元/克(未税)"); + priceSheetAllList.add(priceSheet6); if (priceSheetAllList.isEmpty()) { // 【结算异常】 statementVOList.forEach(statementVO -> { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】匹配无报价记录", oemName)); + statementVO.setMemo(String.format("外协厂商【%s】-未找到报价", oemName)); }); } else { // 2. 工序分组Map<工序, 报价列表> @@ -435,7 +544,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl ids = oemSettleAccountsApproval.getIds(); + List ids = Func.toLongList(oemSettleAccountsApproval.getIds()); if (CollectionUtils.isEmpty(ids)) { return R.fail("未选取结算单"); } @@ -568,7 +677,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl 1 && flag) { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,工作订单号【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), statementVO.getWoCode())); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,工作订单号【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), statementVO.getWoCode())); //结算异常:多条报价记录结算结果 return true; } @@ -621,7 +730,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl 1 && flag) { //结算异常:多条报价记录结算结果 statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,涂箭头数量【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), tjtNum)); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,涂箭头数量【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), tjtNum)); return true; } //唯一使用此报价单**结算** @@ -758,7 +867,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl 1 && flag) { //结算异常:多条报价记录结算结果 statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,涂色带数量【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), tsdNum)); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,涂色带数量【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), tsdNum)); return true; } //唯一使用此报价单**结算** @@ -772,7 +881,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl 1 && flag) { //结算异常:多条报价记录结算结果 statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,涂色标数量【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), tsbNum)); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,涂色标数量【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), tsbNum)); return true; } //唯一使用此报价单**结算** @@ -792,7 +901,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl 1) { //结算异常:多条报价记录结算结果 statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,物料号匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName())); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,物料号-报价不唯一", statementVO.getOcName(), statementVO.getPartName())); return true; } else { //结算异常:无报价记录结算结果 statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,物料号匹配无报价记录", statementVO.getOcName(), statementVO.getPartName())); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,物料号-未找到报价", statementVO.getOcName(), statementVO.getPartName())); return true; } } @@ -951,7 +1060,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl 1) { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价类型【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), String.join(", ", StairPriceSheetMap.keySet()))); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价类型【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), String.join(", ", StairPriceSheetMap.keySet()))); return true; } else if (StairPriceSheetMap.keySet().size() < 1) { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价匹配无报价记录", statementVO.getOcName(), statementVO.getPartName())); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价-未找到报价", statementVO.getOcName(), statementVO.getPartName())); return true; } if (StairPriceSheetMap.keySet().contains("非阶梯价")) { @@ -990,11 +1099,11 @@ public class OemStatementServiceImpl extends BaseServiceImpl priceSheetVOS = StairPriceSheetMap.get("非阶梯价"); if (null == priceSheetVOS || priceSheetVOS.isEmpty()) { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】匹配无报价记录", statementVO.getOcName(), statementVO.getPartName(), "非阶梯价")); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】-未找到报价", statementVO.getOcName(), statementVO.getPartName(), "非阶梯价")); return true; } else if (null != priceSheetVOS && priceSheetVOS.size() > 1 && flag) { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), "非阶梯价")); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), "非阶梯价")); return true; } //唯一使用此报价单**结算** @@ -1028,7 +1137,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl 1 && flag) { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), "单批阶梯价(按单件面积)")); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), "单批阶梯价(按单件面积)")); return true; } else if ((null != priceSheetVOList && priceSheetVOList.size() == 1) || (!flag && null != priceSheetVOList && priceSheetVOList.size() > 1)) { //唯一使用此报价单**结算** @@ -1045,7 +1154,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl 1 && flag) { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), "单批阶梯价(按单批面积)")); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), "单批阶梯价(按单批面积)")); return true; } else if (null != priceSheetVOList && priceSheetVOList.size() == 1 || (!flag && null != priceSheetVOList && priceSheetVOList.size() > 1)) { //唯一使用此报价单**结算** @@ -1085,14 +1194,14 @@ public class OemStatementServiceImpl extends BaseServiceImpl