From 69e647fb5814fbb76e7cd215126df11b4f13db5a Mon Sep 17 00:00:00 2001 From: pangyang <475446853@qq.com> Date: Wed, 8 Apr 2026 17:55:29 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E8=B4=A8=E9=87=8F=E6=A3=80?= =?UTF-8?q?=E9=AA=8C=E6=B6=88=E6=81=AF=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../desk/quality/pojo/entity/RemindMsg.java | 39 ++++++-- .../desk/quality/pojo/vo/RemindMsgVO.java | 5 + .../controller/RemindMsgController.java | 92 +++++++++++++++++- .../desk/quality/excel/RemindMsgExcel.java | 40 ++++++++ .../service/impl/RemindMsgServiceImpl.java | 30 ++++++ .../resources/Excel/QA/材料消息提醒.xls | Bin 0 -> 7168 bytes .../resources/Excel/QA/镀种消息提醒.xls | Bin 0 -> 7680 bytes .../resources/Excel/QA/颜色消息提醒.xls | Bin 0 -> 7168 bytes 8 files changed, 195 insertions(+), 11 deletions(-) create mode 100644 blade-service/blade-desk/src/main/resources/Excel/QA/材料消息提醒.xls create mode 100644 blade-service/blade-desk/src/main/resources/Excel/QA/镀种消息提醒.xls create mode 100644 blade-service/blade-desk/src/main/resources/Excel/QA/颜色消息提醒.xls diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/RemindMsg.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/RemindMsg.java index b5595dbc..b4598142 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/RemindMsg.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/RemindMsg.java @@ -116,9 +116,9 @@ public class RemindMsg extends BaseEntity { @Schema(description = "编码") private String code; /** - * 类型 + * 类型 0:零件号提醒 1: 镀层提醒 2:颜色提醒 3:材料提醒 */ - @Schema(description = "类型") + @Schema(description = "类型 0:零件号提醒 1: 镀层提醒 2:颜色提醒 3:材料提醒") private Long remindMsgType; /** * [零件]id @@ -176,15 +176,10 @@ public class RemindMsg extends BaseEntity { @Schema(description = "子[零件]id") private Long subPartId; /** - * 子[零件]编码 + * 子[零件]编码,虚拟子件号 */ - @Schema(description = "子[零件]编码") + @Schema(description = "子[零件]编码,虚拟子件号") private String subPartCode; - /** - * 生产标识 - */ - @Schema(description = "生产标识") - private String prodFlagText; /** * 参数1 */ @@ -210,4 +205,30 @@ public class RemindMsg extends BaseEntity { */ @Schema(description = "[零件]名称") private String partName; + + //镀种信息 + private String plateing; + + //参数1上限 + private BigDecimal param1Up; + //参数1下限 + private BigDecimal param1Down; + //参数2上限 + private BigDecimal param2Up; + //参数2下限 + private BigDecimal param2Down; + //参数3上限 + private BigDecimal param3Up; + //参数3下限 + private BigDecimal param3Down; + //提醒颜色 + private String remindColor; + //显示颜色 + private String showColor; + + //程式编号 + private String formula; + //材料 + private String material; + } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/RemindMsgVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/RemindMsgVO.java index 226690d2..0ef0a89d 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/RemindMsgVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/RemindMsgVO.java @@ -28,4 +28,9 @@ public class RemindMsgVO extends RemindMsg { private String platingName = ""; @Schema(description = "工艺一级路线") private String processClazz1Name = ""; + + private String param1; + private String param2; + private String param3; + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/RemindMsgController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/RemindMsgController.java index d93e46d0..9d7db4a1 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/RemindMsgController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/RemindMsgController.java @@ -100,6 +100,7 @@ public class RemindMsgController extends BladeController { // qw.like(RemindMsg.PART_NAME, partName); // } // qw.like(map.containsKey("partName"), RemindMsg.PART_NAME, map.get("partName")); + qw.orderByDesc("CREATE_TIME"); IPage pages = service.page(Condition.getPage(query), qw); IPage pagesVO = RemindMsgWrapper.build().pageVO(pages); pagesVO.getRecords() @@ -155,9 +156,39 @@ public class RemindMsgController extends BladeController { @ApiLog("新增提醒信息") @Operation(summary = "新增批量", description = "传入RemindMsg List") public R saveBat(@Valid @RequestBody List addList) { - addList.forEach(one -> { + + for(RemindMsg one : addList){ + if(0== one.getRemindMsgType()){ + + } + if(1== one.getRemindMsgType()){ + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("PLATEING",one.getPlateing()); + if(service.count(qw)>0){ + return R.fail(one.getPlateing()+"此镀种信息已存在"); + } + + } + if(2== one.getRemindMsgType()){ + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("SUB_PART_CODE",one.getSubPartCode()); + if(service.count(qw)>0){ + return R.fail(one.getSubPartCode()+"此零件信息已存在"); + } + } + if(3== one.getRemindMsgType()){ + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("FORMULA",one.getFormula()); + if(service.count(qw)>0){ + return R.fail(one.getFormula()+"此程式编号已存在"); + } + } one.setId(null); - }); + } + +// addList.forEach(one -> { +// one.setId(null); +// }); return R.status(service.saveBatch(addList)); } @@ -169,6 +200,36 @@ public class RemindMsgController extends BladeController { @ApiLog("修改提醒信息") @Operation(summary = "修改一条", description = "传入RemindMsg Obj") public R update(@Valid @RequestBody RemindMsg updateOne) { + + if(0== updateOne.getRemindMsgType()){ + + } + if(1== updateOne.getRemindMsgType()){ + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("PLATEING",updateOne.getPlateing()); + qw.ne("ID",updateOne.getId()); + if(service.count(qw)>0){ + return R.fail(updateOne.getPlateing()+"此镀种信息已存在"); + } + + } + if(2== updateOne.getRemindMsgType()){ + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("SUB_PART_CODE",updateOne.getSubPartCode()); + qw.ne("ID",updateOne.getId()); + if(service.count(qw)>0){ + return R.fail(updateOne.getSubPartCode()+"此零件信息已存在"); + } + } + if(3== updateOne.getRemindMsgType()){ + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("FORMULA",updateOne.getFormula()); + qw.ne("ID",updateOne.getId()); + if(service.count(qw)>0){ + return R.fail(updateOne.getFormula()+"此程式编号已存在"); + } + } + return R.status(service.updateById(updateOne)); } @@ -257,6 +318,33 @@ public class RemindMsgController extends BladeController { "导入模版-消息提醒.xls"); } + @GetMapping("/downloadExcelTemplatePlate") + @ApiOperationSupport(order = 71) + @Operation(summary = "下载Excel模板", description = "") + public ResponseEntity downloadExcelTemplatePlate() { + return ExcelExtUtil.downloadXlsTemplate( + "Excel/QA/镀种消息提醒.xls", + "导入模版-镀种消息提醒.xls"); + } + + @GetMapping("/downloadExcelTemplateColor") + @ApiOperationSupport(order = 71) + @Operation(summary = "下载Excel模板", description = "") + public ResponseEntity downloadExcelTemplateColor() { + return ExcelExtUtil.downloadXlsTemplate( + "Excel/QA/颜色消息提醒.xls", + "导入模版-颜色消息提醒.xls"); + } + + @GetMapping("/downloadExcelTemplateMaterial") + @ApiOperationSupport(order = 71) + @Operation(summary = "下载Excel模板", description = "") + public ResponseEntity downloadExcelTemplateMaterial() { + return ExcelExtUtil.downloadXlsTemplate( + "Excel/QA/材料消息提醒.xls", + "导入模版-材料消息提醒.xls"); + } + /** * [提醒信息] 导入Excel */ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/RemindMsgExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/RemindMsgExcel.java index b4be9bff..86b10030 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/RemindMsgExcel.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/RemindMsgExcel.java @@ -114,6 +114,10 @@ public class RemindMsgExcel implements Serializable { @ColumnWidth(20) @ExcelProperty("子[零件]编码") private String subPartCode; + + @ColumnWidth(20) + @ExcelProperty("虚拟子件号") + private String subPartCodeNew; /** * 生产标识 */ @@ -144,4 +148,40 @@ public class RemindMsgExcel implements Serializable { // @ColumnWidth(20) // @ExcelProperty("参数4") private String param4; + + //镀种信息 + @ExcelProperty("镀种信息") + private String plateing; + + //参数1上限 + @ExcelProperty("参数1上限") + private BigDecimal param1Up; + //参数1下限 + @ExcelProperty("参数1下限") + private BigDecimal param1Down; + //参数2上限 + @ExcelProperty("参数2上限") + private BigDecimal param2Up; + //参数2下限 + @ExcelProperty("参数2下限") + private BigDecimal param2Down; + //参数3上限 + @ExcelProperty("参数3上限") + private BigDecimal param3Up; + //参数3下限 + @ExcelProperty("参数3下限") + private BigDecimal param3Down; + //提醒颜色 + @ExcelProperty("提醒颜色") + private String remindColor; + //显示颜色 + @ExcelProperty("显示颜色") + private String showColor; + + //程式编号 + @ExcelProperty("程式编号") + private String formula; + //材料 + @ExcelProperty("材料") + private String material; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/RemindMsgServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/RemindMsgServiceImpl.java index 2a9cd19b..d42d0800 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/RemindMsgServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/RemindMsgServiceImpl.java @@ -72,5 +72,35 @@ public class RemindMsgServiceImpl extends BaseServiceImpl#X7`&j z_uQE|Gv~}XGk3oJDy#R%hm$W#LRus#(jU!`v^c(nGNCCTVxz$4{%AC6m?9|NNw<&& zu3@ZWV>Wa^QvupM9q<7ez!)GCpq+_3>GsjUO4*Lz4hc!4Yy<6*ov`%CQyx}~s}073 zkdL`Yx8`!6AttXFbMA26=NGILJVvq%Z#ATM$yRCCacqsRKB98A*p@4wbVQ9%X*m}( zQlqQ_p2o}@qz!qSVUIY^g?z?9&S|9bt5DZwBcxPmktgMG{MuCa_rnSsRVU=^kS!>0 zGgXu3MX~wQcSkCJ9_n_-0P=u|Kt3=D zm<&t-?gFL)LEvs61l$7@0Mmf!Kp`*#mHyXcgVqC!fhE9FpaEzE{!cM3!v`y-rOKz{&ZhU&qlg7@5i8=j z)1&L+N9dzfo`CJG2c#2Aal1SPgl=|PqGM>YY{=(Yt+Ud^0xtzCiahu|@*K@S&|0T7 zuhZ3twfIOwA??o-${M>~>+RLNK=bj)E%{j6{GgmltlvJ=kM7zBd6NDTJnNOUEloFy zA9PCL?Kxr<$WPG%Ech~D8WwS_7)~n|_aHauRAVE~PgZ@ctb{2#0X*(Iwn zoT%A|))T~PMF5VsQZcO5iXc3c-wJI9o%vXqlan_YTq9nMYq2_~BsO*jom{GUYh*V< za%i~b!;N6Dqh8&wM1GHQA9GW8hdgi{a zdicX|2l-_l{9+G&h6lgIgU@{d=a%M}TqiHI-^TeTB2m&nBt>af#8H|ZNmH5=NmZH~ zNsq3#Xx-gdEt&jK!p_+un-P~gacZkn{zv?H8p5wqzVI+Lgg-|P`tkwtP2vh<;+gAJ zoXj4^ugCHMB75iBh*^|=%yO_JTFx=-j^mFIP_|vrHy^aujMS2 z6F{F=kN)z_gYC`Xb;>VMeyQfqD<^_FZYreKrN(*=Z+aZ}1o?v2eo^xo1GO)OXU3I_ z2FiWm;<)k==q3ZBy8JWsz`2VYPhE?DZ`h@lJcKtsc~<8xa>CC!IQq<15-`tV^Q>z$ zYxL-|O|-BvX7kD~*HnAv>?^S+ixCwSzJn4gwBjN=TTaqUQV(>nfHW1_7W&xkgYWX{M^wQay5SRmvSznsx84_nWFpHOOc) z#vBAM|3UjaB8$0m`qO_>-g@`T(|P=&g;#XPzUu#Ns&k2XrR$x^sUy8w`Lds}G(*n8 zQ(wksDxa-{XFKkh&iv0(KXfyO0V5%C*uA^o{`E@J=D_=}`J{B_iSHSQ_-(^)b-q6g zAVuCo#vYCXj76saM&&O6-UnU)7`QG0G!hR*8kx`ux42AD&Lkg{^PdjNdx8p3ZgmSm z8Aq3a^4_2sl)-8ZDDMu|gK|uJKy@4t&SwWgcuxSfro=MGwhA{SZLu4Y#P?q9lJV;) zp*!>F(ds6P<;ayo>1kbOO!@Ruy|*IYtrLscZtNbQ90TXL8b^y32}u)fb2eg(8*nZN zNy&;&RxImcH*R|``%w?}`LpK_l}`!me*^X_yK<}nywn6>Ms?y9@{ZG-a+y6e#a>9qiWDQ@15L)F8?+yLXAES_68+aHt7xO za#Y>i%JM(MOnHZQ2H=|f7J&O{JfpAE=jrQx0DYYYb&XoEAAQ>wTYCY}(fF=we%B8Y zX}m8dzVmw4V>QO)($`VuT$qXg%53EW{G$UI$NLySKFf?b%d!5O;JaP$iVk?i26)60 r&@HIhfirj~-Y_MbD}AsEr@d zHvEVr@C|dV&Fe6PCV_Nb4bq?nOaK$XBp_W2XTzBxfg5ZazwMT>Wp)pA*mj`h%ENRl zCX$5wK_;!(Y{bQOohLpXX`Os@@f#lnRb;bMJ#Q_e58Iu#(aqz|;_4Npr&=P2#uu%q z5tV)}VWWNF}Y;iIX zXS;1BeUGnNHg3+ZU*B$}<1eD_NPc_~X-xA!)%PzyA+b#cb$~6vrU0q30Zaqufa%~| zFaw+iW`bGZC*XY02rd8_a3N>{7lDhxY;Xyf1DZh#Xa#e@Ja8#!1DApMpdEC8PH;I` z0OX&pgf0YEfvfYp#n2_-8qfv0K@U*?^S<4%jj`fJ^JR@;51W2teADqqjyl=O7u#XMZI;PTu$5F{W#TWgv87|zUam$H z(rI$7eA{l9ZVcDrB3k@lal?ooH-O6Gy550`u8v=aUv9a%jvXw%o*%diXH@7VTG#Ek zy!LYID(&vut1DMyyrC|`Tc2aW01miVOD$+=04F?_KY+9w!>h2&ndO@lY$UGnBCK;( zY2#?p$#aQu`GQe*g? z_H23v5Z?z`pn|GC!pZC=e*1$oFxz!`0-vSP_XZ(5Vi4|Scl3Ahb8+ASzZ2ZjzP7vE z9Zubb7IZ&xaL19pZ5v27?>hA8ieJC{o1_J=_usp@-6pPD{p88aghHmHxTM31N;->6 zI$cSQn_}9Ia&^?KwRnHJs6TnSU`Mlw37r#t&?;wBe+!i-xgEKdc!<-bcIPQ>jrH{T z^`6h)`Ps(RUAH-YtK-jg@$Vfc>(=S}oGm@t!r*t5><^HV(u11`SgWbLC}bBfZ< zC)3BeT8h#yA?+Gw_0?yRtmJOCFS(xoXjeo7yOEN#-RIU$g$Au5ba}N}IkAvWP?DWo z$XB7mY;7SQ(#|Fo@=4AOokis-#JI93U(J4>&DXbtPUqeh{0%;x@cu20OngzDedDy_ zPwSS?1=<6s;L8%^v{Ij|BBvXI&xPb9W1mZs)2o5crO3$^eXg1u>b3XbJpkqGotSE` zsDgEaAteasqjCC=jF?pF84X{vF+I&T7JU{{XAg)su3~5IjqA)XtVppEmk&;qF4;|7 zB1-YSy3Njt(toSbH~NE$Qi4B?API{&GA#h!opt=FgPMvoFl@~;~I zYwDH}8PT{jv{6_2t2%l98hf|L>>;k{$_FL+L{Z*tkgnx-jZPq&3C>fE?LpHWeei`Z zj`!VB|K~^3Hh0e7K9~HZn7FGH?1szcp)0hzYvv{$F(cR@74$-wR`p~=nIt29)GSnHGIIQ@4xR;z1xW&)sdVO zN~z|cHLm4o)o&T=<27pwbKJzaC}XXw{;_KLaB;gh{Yegq!v_yP*EXyEv8T}AyyJU& z;U!CW11v^zmpmc16A-eyi8PO=f%^I*kPf6{=~6nD{Qe2_hIIgFE$;!u@9bH+md>T? zV?esrLDg9;gGsmP{Mhx-)6t#gs!%GwC||70h<7Tg`6xv6anf3gLNm~q1Ii$uAtKE; zX}vt>Y;tdqdfwT7n(vVd=|%63QBdcn3QMVQEE2$}Dpyb*jV)S1_3ypPk9qvNkcLzt zTaeHBDf;i@+a1O#hOmlFSj1B3R_+o*+(9-|qEOD(^$m9L#I%6;QeI!%xCiOJ-Nx%| PJ1?<%i#;3uza;QqFj6-l literal 0 HcmV?d00001 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..45d09fa567bdcb7bb5498c3f4bacadc419aad106 GIT binary patch literal 7168 zcmeHLYiv|S6h8O%Zo7q+J}CvHu7yHhKwGF3O4|ingAr*%QLwFnK0pXB)1VO(a&c#L+?&FD>0!~5@aBpEQwKk3u!__x`>Sg^8?{<*f2$qyd7>L4O~KB zM@MYvfcgO1JPGgv$-pQe1)!aY+u_#Hz*5&GNWx#IId-e;=%{Ms-5Y7Fmb%CQ~$S zTo@TY*X~H=&q3Lqh5CHB1@`1^~6rcc@3QPkEfg+$7C;>`=>A(zNCQt^H1N2F=KxYG$z}*pE z73f@G9#9R;2WkM8uLBJN3xI{dJwQFs0Q{ePT(TclO!Ub|sV9?qgGgdRoW+bd>h$Wo z_zwDLlgD6tYq6}xRNO320D&7F7HS{bEgSMVS8J?9vA|2fj3N)~9&wh&?`Wyx8rSG- z#9VBtFQEN-LRn!4wcIX^^EDoW*pm0P&Ns>_$NcR_`S3HlAy1NaU}e47+T3^rf5YG7 z=Q$-$N+8m~Vx$H~Mt-#n{W^5)@k-=FJNa76)D3Dn z&sh!^QDlU9i6P%h0Ka)Py%i>!=RFQH+<1K*D$Ki_5nLyAamMv1TwZy+am6-w<>=y- z7*5nocLTd4?EYJ(FV%5Q_V^PIVunG@ny8Jr_tm8&s3C&pHGI~`xD`D$c0 zKyqNX>cjP5u%SNPuS9+eb02d^vaGCqA#yz*Xrwi>Vet<1OdyucAM7(H`e zS3Ue;xP$ys4}OscKiPv{?7`>0fOAVzM6Qz)*lXkb6Ou4#dMH6@M#xc`8A?=|74j*~ z4kd+GS+wqU%$7;KC}HPpmbLK9t8r>8SN`|BJPqMjD1RmoQ$zT(Q@aT5@?1yw#A?~`ZAVk< z?@P`%J7S&cd}YtUecjuTtX(s2E0bYd^!#!TH$MvHrOzA=(k~wlup!B4o5ws8*vSHv ze;ET!)eSWTaTgAU+*~uXi|J_d;^Ch^f1snOZl&^zm0zOqHsyp+#tj8DgH&11;!CgN z9x0#G($8x=^>XQRbLr_*SdUgIMDu!wkIqGZ0zpu`vmOO|retBBQ zF0wzBV{kOjT8q;M^ESSm7-RBc^Dt~wZxrpfjXO!e7|f?Mxun`OhhvH4EV^72FyCzC z*t4&o;##d%YiG(aT2+ET7ZV7Rpj(;~!L%;+epXEG@MlZMpcd7)EkG%6Ge&zoW5!#< zgsw?cNgAmtH5EkctxCDAO0z25)o?>qsRmIO1Lu`?z&;H}V&0toOgknmhk_sE@J5Si z-V?di|Jzi17+GfSa*IzL>C?jJ)95;r4-v^ZOeBLg+0-bUsG`I+x=Bo$#js-viG8^hDA_PbZTc>EwG^rRdOrou@7KdZvwOdZA@Fz#?+rr>T#X#)Hf(z@3&mz zdsG!#=ev^|(BxGEH@JRw_BsVuHtBV0@|v2tndN_sk@5}i1i-ocC4l9p{)}s#Yo2Sp zAK+T&L0!ET?8mk3kIcPv&}&({uK8ovkDHHP%P#L~RFBo@lS^Mknqy%o1SqqO8LW>k zMC|VdfPALubMD9dZ^YW|#;WMTs_4XuSO~ffCA)A2UyUye@y5zESb-;&O2pHp3h$KV RKp8L#sk!