From 807f08c36fe8d1602bdcf9a1ac60a64f3fb2792d Mon Sep 17 00:00:00 2001 From: jiayang yue Date: Tue, 27 May 2025 18:22:38 +0800 Subject: [PATCH] =?UTF-8?q?2025.05.27=206.=E7=94=9F=E4=BA=A7=E5=9C=A8?= =?UTF-8?q?=E6=8A=A5TPM=E7=BA=A2=E7=89=8C=E5=BC=82=E5=B8=B8=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E7=B3=BB=E7=BB=9F=E4=B8=8D=E8=A6=81=E7=AB=8B=E5=8D=B3?= =?UTF-8?q?=E5=8F=91=E9=80=81=E5=BC=82=E5=B8=B8=E7=9F=AD=E4=BF=A1=E7=BB=99?= =?UTF-8?q?=E6=9C=BA=E4=BF=AE=EF=BC=8C=E5=90=8C=E6=97=B6=E6=9C=BA=E4=BF=AE?= =?UTF-8?q?=E9=82=A3=E8=BE=B9=E4=B9=9F=E4=B8=8D=E8=A6=81=E7=AB=8B=E5=8D=B3?= =?UTF-8?q?=E7=94=9F=E4=BA=A7=E7=BB=B4=E4=BF=AE=E5=B7=A5=E5=8D=95=E3=80=82?= =?UTF-8?q?=E7=AD=89=E6=88=91=E8=BF=99=E8=BE=B9=E4=B8=8E=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E6=B2=9F=E9=80=9A=E5=A5=BD=E4=B9=8B=E5=90=8E=EF=BC=8C=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E4=BA=86=E2=80=9C=E4=B8=8B=E8=BE=BE=E2=80=9D=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E5=90=8E=EF=BC=8C=E5=86=8D=E7=94=9F=E4=BA=A7=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E7=9F=AD=E4=BF=A1=EF=BC=8C=E4=BB=A5=E5=8F=8A=E7=BB=B4?= =?UTF-8?q?=E4=BF=AE=E9=82=A3=E8=BE=B9=E7=9A=84=E5=B7=A5=E5=8D=95=EF=BC=9B?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=207.=E7=94=9F=E6=88=90?= =?UTF-8?q?=E7=9A=84=E7=BB=B4=E4=BF=AE=E7=9F=AD=E4=BF=A1=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E7=94=B1TPM=E7=BA=A2=E7=89=8C=E4=B9=8B=E7=B1=BB=E7=9A=84?= =?UTF-8?q?=E5=AD=97=E6=A0=B7=EF=BC=8C=E4=B8=8E=E6=99=AE=E9=80=9A=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E7=9F=AD=E4=BF=A1=E8=BF=9B=E8=A1=8C=E5=8C=BA=E5=88=AB?= =?UTF-8?q?=EF=BC=8C=E6=96=B9=E4=BE=BF=E7=BB=B4=E4=BF=AE=E5=88=B0=E7=8E=B0?= =?UTF-8?q?=E5=9C=BA=E4=B8=8E=E7=94=9F=E4=BA=A7=E6=B2=9F=E9=80=9A=E3=80=82?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=209.=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E2=80=9C=E6=9C=AA=E4=B8=8B=E8=BE=BE=E2=80=9DTPM=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E7=AD=9B=E9=80=89=E6=9D=A1=E4=BB=B6=EF=BC=9B=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=2011.=E5=A2=9E=E5=8A=A0TPM=E8=BD=AC?= =?UTF-8?q?=E5=8D=95=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 核心备件-备件编码无数据 --- .../modules/pms/controller/EamController.java | 7 + .../sys/modules/pms/mapper/EamMapper.java | 2 + .../sys/modules/pms/service/EamService.java | 2 + .../pms/service/Impl/EamServiceImpl.java | 190 +++++++++++++----- src/main/resources/mapper/pms/EamMapper.xml | 5 + src/main/resources/mapper/pms/QcMapper.xml | 2 +- 6 files changed, 152 insertions(+), 56 deletions(-) diff --git a/src/main/java/com/xujie/sys/modules/pms/controller/EamController.java b/src/main/java/com/xujie/sys/modules/pms/controller/EamController.java index 7642212b..79efe359 100644 --- a/src/main/java/com/xujie/sys/modules/pms/controller/EamController.java +++ b/src/main/java/com/xujie/sys/modules/pms/controller/EamController.java @@ -2426,4 +2426,11 @@ public class EamController { eamService.sendLoraWatch(); return R.ok(); } + + @PostMapping(value="/updateRepairTypes") + @ResponseBody + public R updateRepairTypes (@RequestBody List list) { + eamService.updateRepairTypes(list); + return R.ok(); + } } diff --git a/src/main/java/com/xujie/sys/modules/pms/mapper/EamMapper.java b/src/main/java/com/xujie/sys/modules/pms/mapper/EamMapper.java index 73e1485f..a6bd0aea 100644 --- a/src/main/java/com/xujie/sys/modules/pms/mapper/EamMapper.java +++ b/src/main/java/com/xujie/sys/modules/pms/mapper/EamMapper.java @@ -477,4 +477,6 @@ public interface EamMapper { void updateOrderStatus(EamWorkOrderInData inData); void updateMessageNotification(EamWorkOrderInData inData); + + void updateRepairTypes(EamWorkOrderInData inData); } diff --git a/src/main/java/com/xujie/sys/modules/pms/service/EamService.java b/src/main/java/com/xujie/sys/modules/pms/service/EamService.java index 68bf2436..29d65a6f 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/EamService.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/EamService.java @@ -1178,4 +1178,6 @@ public interface EamService { void getLoraWatch(); void sendThreeColourLight(); + + void updateRepairTypes(List list); } diff --git a/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java index 0a1559f2..a2ee1f23 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java @@ -2500,6 +2500,72 @@ public class EamServiceImpl implements EamService { // 如果 key 已经存在,则获取当前 value 并加 1 redisTemplate.opsForValue().set(key, val + 1); } + + // 根据设备查所属部门 + List deptData = eamMapper.queryDepartmentByObjectId(inData); + // 角色 + if ("设备维修组".equals(inData.getRepairType())) { + deptData.get(0).setRoleNo("R021"); + } else { + deptData.get(0).setRoleNo("R020"); + } + // 根据部门ID查机修人员电话 + List phoneList = eamMapper.queryPhoneByDepartmentId(deptData.get(0)); + if (!phoneList.isEmpty()) { + StringBuilder phoneNumber = new StringBuilder(); + // 拼接所有人员的手机号/姓名 + for (EamObjectAdminData data : phoneList) { + if(StringUtils.isNotBlank(data.getPhone())){ + phoneNumber.append(data.getPhone()).append(","); + } + } + String mobile = ""; + if (StringUtils.isNotBlank(phoneNumber)) { + mobile = phoneNumber.substring(0, phoneNumber.length() - 1); + } + // 拼接短信内容 + String content = + inData.getRepairReportingType() + ":" + inData.getObjectID() + "-" + deptData.get(0).getObjectDesc() + + " 在 " + deptData.get(0).getLocationName() + " 发生了 " + inData.getFeedBackDesc() +" 故障,请及时处理!【齐克庞德】"; + try { + // 发送短信 + int code = SendMessageUtils.sendSMSGet("LKSDK0007685", "554958", mobile, content, ""); + //int code = SendMessageUtils.sendSMSGet("LKSDK0007685", "554958", "13592510225", content, ""); + if (code <= 0) { + throw new RuntimeException("短信发送失败,code = " + code + " !"); + } + // 保存短信记录 + MessageRecordData recordData = new MessageRecordData(); + recordData.setSite(inData.getSite()); + recordData.setBuNo(inData.getBuNo()); + recordData.setPlanId(inData.getFeedBackID()); + recordData.setObjectId(inData.getObjectID()); + recordData.setDefectId(inData.getDefectID()); + recordData.setFeedBackDesc(inData.getFeedBackDesc()); + recordData.setSender(inData.getCreatedBy()); + for (EamObjectAdminData data : phoneList) { + if (data.getPhone() != null) { + recordData.setPhone(data.getPhone()); + } + if (data.getAdminName() != null) { + recordData.setRecipient(data.getAdminName()); + } + eamMapper.saveMessageRecord(recordData); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + // 查该设备的标准响应时间 + List objectList = eamMapper.getObjectInfo(inData.getSite(), inData.getBuNo(), inData.getObjectID()); + if (!objectList.isEmpty()) { + if (objectList.get(0).getStandardResponseDuration() != null && objectList.get(0).getStandardResponseDuration() != 0) { + // 将标准响应时间作为失效日期存入redis + String key1 = inData.getSite() + "_" + inData.getBuNo() + "_" + inData.getOrderNo() + "_" + "response"; + redisTemplate.opsForValue().set(key1, inData, + Duration.ofMinutes(objectList.get(0).getStandardResponseDuration() + (objectList.get(0).getTimeOutResponseDuration() == null ? 0 : objectList.get(0).getTimeOutResponseDuration()))); + } + } } @Override public List getItemLists(EamPropertiesModelHeaderData inData){ @@ -3005,67 +3071,69 @@ public class EamServiceImpl implements EamService { // 如果 key 已经存在,则获取当前 value 并加 1 redisTemplate.opsForValue().set(key, val + 1); } - } - // 根据设备查所属部门 - List deptData = eamMapper.queryDepartmentByObjectId(inData); - // 角色 - if ("设备维修组".equals(inData.getRepairType())) { - deptData.get(0).setRoleNo("R021"); - } else { - deptData.get(0).setRoleNo("R020"); - } - // 根据部门ID查机修人员电话 - List phoneList = eamMapper.queryPhoneByDepartmentId(deptData.get(0)); - if (!phoneList.isEmpty()) { - StringBuilder phoneNumber = new StringBuilder(); - // 拼接所有人员的手机号/姓名 - for (EamObjectAdminData data : phoneList) { - if(StringUtils.isNotBlank(data.getPhone())){ - phoneNumber.append(data.getPhone()).append(","); - } - } - String mobile = ""; - if (StringUtils.isNotBlank(phoneNumber)) { - mobile = phoneNumber.substring(0, phoneNumber.length() - 1); + // 根据设备查所属部门 + List deptData = eamMapper.queryDepartmentByObjectId(inData); + // 角色 + if ("设备维修组".equals(inData.getRepairType())) { + deptData.get(0).setRoleNo("R021"); + } else { + deptData.get(0).setRoleNo("R020"); } - // 拼接短信内容 - String content = inData.getObjectID() + "-" + deptData.get(0).getObjectDesc() + " 在 " + deptData.get(0).getLocationName() + " 发生了 " + inData.getFeedBackDesc() +" 故障,请及时处理!【齐克庞德】"; - try { - // 发送短信 - int code = SendMessageUtils.sendSMSGet("LKSDK0007685", "554958", mobile, content, ""); - //int code = SendMessageUtils.sendSMSGet("LKSDK0007685", "554958", "13592510225", content, ""); - if (code <= 0) { - throw new RuntimeException("短信发送失败,code = " + code + " !"); - } - // 保存短信记录 - MessageRecordData recordData = new MessageRecordData(); - recordData.setSite(inData.getSite()); - recordData.setBuNo(inData.getBuNo()); - recordData.setPlanId(inData.getFeedBackID()); - recordData.setObjectId(inData.getObjectID()); - recordData.setDefectId(inData.getDefectID()); - recordData.setFeedBackDesc(inData.getFeedBackDesc()); - recordData.setSender(inData.getCreatedBy()); + // 根据部门ID查机修人员电话 + List phoneList = eamMapper.queryPhoneByDepartmentId(deptData.get(0)); + if (!phoneList.isEmpty()) { + StringBuilder phoneNumber = new StringBuilder(); + // 拼接所有人员的手机号/姓名 for (EamObjectAdminData data : phoneList) { - if (data.getPhone() != null) { - recordData.setPhone(data.getPhone()); + if(StringUtils.isNotBlank(data.getPhone())){ + phoneNumber.append(data.getPhone()).append(","); } - if (data.getAdminName() != null) { - recordData.setRecipient(data.getAdminName()); + } + String mobile = ""; + if (StringUtils.isNotBlank(phoneNumber)) { + mobile = phoneNumber.substring(0, phoneNumber.length() - 1); + } + // 拼接短信内容 + String content =inData.getRepairReportingType() + ":" + inData.getObjectID() + "-" + deptData.get(0).getObjectDesc() + " 在 " + deptData.get(0).getLocationName() + " 发生了 " + inData.getFeedBackDesc() +" 故障,请及时处理!【齐克庞德】"; + try { + // 发送短信 + int code = SendMessageUtils.sendSMSGet("LKSDK0007685", "554958", mobile, content, ""); + //int code = SendMessageUtils.sendSMSGet("LKSDK0007685", "554958", "13592510225", content, ""); + if (code <= 0) { + throw new RuntimeException("短信发送失败,code = " + code + " !"); } - eamMapper.saveMessageRecord(recordData); + // 保存短信记录 + MessageRecordData recordData = new MessageRecordData(); + recordData.setSite(inData.getSite()); + recordData.setBuNo(inData.getBuNo()); + recordData.setPlanId(inData.getFeedBackID()); + recordData.setObjectId(inData.getObjectID()); + recordData.setDefectId(inData.getDefectID()); + recordData.setFeedBackDesc(inData.getFeedBackDesc()); + recordData.setSender(inData.getCreatedBy()); + for (EamObjectAdminData data : phoneList) { + if (data.getPhone() != null) { + recordData.setPhone(data.getPhone()); + } + if (data.getAdminName() != null) { + recordData.setRecipient(data.getAdminName()); + } + eamMapper.saveMessageRecord(recordData); + } + } catch (Exception e) { + e.printStackTrace(); } - } catch (Exception e) { - e.printStackTrace(); } - } - // 查该设备的标准响应时间 - List objectList = eamMapper.getObjectInfo(inData.getSite(), inData.getBuNo(), inData.getObjectID()); - if (!objectList.isEmpty()) { - if (objectList.get(0).getStandardResponseDuration() != null && objectList.get(0).getStandardResponseDuration() != 0) { - // 将标准响应时间作为失效日期存入redis - String key = inData.getSite() + "_" + inData.getBuNo() + "_" + inData.getOrderNo() + "_" + "response"; - redisTemplate.opsForValue().set(key, inData, Duration.ofMinutes(objectList.get(0).getStandardResponseDuration() + (objectList.get(0).getTimeOutResponseDuration() == null ? 0 : objectList.get(0).getTimeOutResponseDuration()))); + // 查该设备的标准响应时间 + List objectList = eamMapper.getObjectInfo(inData.getSite(), inData.getBuNo(), inData.getObjectID()); + if (!objectList.isEmpty()) { + if (objectList.get(0).getStandardResponseDuration() != null && objectList.get(0).getStandardResponseDuration() != 0) { + // 将标准响应时间作为失效日期存入redis + String key1 = inData.getSite() + "_" + inData.getBuNo() + "_" + inData.getOrderNo() + "_" + + "response"; + redisTemplate.opsForValue().set(key1, inData, + Duration.ofMinutes(objectList.get(0).getStandardResponseDuration() + (objectList.get(0).getTimeOutResponseDuration() == null ? 0 : objectList.get(0).getTimeOutResponseDuration()))); + } } } } @@ -3699,6 +3767,18 @@ public class EamServiceImpl implements EamService { sendMessageNotificationService.save(sendMessageNotification); } + @Override + public void updateRepairTypes(List list) { + if (list == null || list.isEmpty()) { + throw new IllegalArgumentException("数据列表为空"); + } + String repairType = list.get(0).getRepairType(); + list.forEach(data -> { + data.setRepairType(repairType); + eamMapper.updateRepairTypes(data); + }); + } + public Long calculateFutureTime(Date lastTime,String minutes) { Calendar calendar = Calendar.getInstance(); calendar.setTime(lastTime); diff --git a/src/main/resources/mapper/pms/EamMapper.xml b/src/main/resources/mapper/pms/EamMapper.xml index b814c99f..8896f8df 100644 --- a/src/main/resources/mapper/pms/EamMapper.xml +++ b/src/main/resources/mapper/pms/EamMapper.xml @@ -3606,4 +3606,9 @@ set send_flag = 'N' WHERE SITE = #{site} AND bu_no = #{buNo} AND plan_no = #{feedBackId} AND order_no = #{orderNo} + + UPDATE eam_workOrder + SET repair_type = #{repairType} + WHERE site = #{site} AND bu_no = #{buNo} AND OrderNo = #{orderNo} + diff --git a/src/main/resources/mapper/pms/QcMapper.xml b/src/main/resources/mapper/pms/QcMapper.xml index a11ba3c1..1a156b89 100644 --- a/src/main/resources/mapper/pms/QcMapper.xml +++ b/src/main/resources/mapper/pms/QcMapper.xml @@ -4006,7 +4006,7 @@ order by order_id - getUpItemdata + update Equipment_data_detail set inspection_no = #{inspectionNo} where id = #{id}