From 064c329569b3017a0b1f58fb33407acd9bf526cd Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Thu, 14 Dec 2023 14:22:44 +0800 Subject: [PATCH] =?UTF-8?q?2023-12-14=20=E7=BB=B4=E4=BF=AE=E5=8F=8D?= =?UTF-8?q?=E9=A6=88=E5=A2=9E=E5=8A=A0=E2=80=9C=E6=96=B0=E5=A2=9E=E2=80=9D?= =?UTF-8?q?=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 | 11 ++ .../pms/data/EamDefectFeedBackData.java | 20 ++- .../sys/modules/pms/service/EamService.java | 2 + .../pms/service/Impl/EamServiceImpl.java | 129 ++++++++++++++++-- src/main/resources/mapper/pms/EamMapper.xml | 12 +- 5 files changed, 163 insertions(+), 11 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 3a1f77dc..2413285c 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 @@ -2024,4 +2024,15 @@ public class EamController { eamService.updateReportResult(inData); return R.ok(); } + + /** + * 新增维修反馈 + * @param inData + * @return + */ + @PostMapping("/saveEamGzBbData") + public R saveEamGzBbData(@RequestBody EamDefectFeedBackInData inData){ + eamService.saveEamGzBbData(inData); + return R.ok(); + } } diff --git a/src/main/java/com/xujie/sys/modules/pms/data/EamDefectFeedBackData.java b/src/main/java/com/xujie/sys/modules/pms/data/EamDefectFeedBackData.java index d3cc606d..f63495d9 100644 --- a/src/main/java/com/xujie/sys/modules/pms/data/EamDefectFeedBackData.java +++ b/src/main/java/com/xujie/sys/modules/pms/data/EamDefectFeedBackData.java @@ -34,13 +34,31 @@ public class EamDefectFeedBackData extends QueryPage { private Date updateDate; private String updateBy; private Integer version; - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date defectDate; // 工单号 private String orderNo; // 单据来源 private String documentSource; + private String objectInfo; + private String defectInfo; + + public String getObjectInfo() { + return objectInfo; + } + + public void setObjectInfo(String objectInfo) { + this.objectInfo = objectInfo; + } + + public String getDefectInfo() { + return defectInfo; + } + + public void setDefectInfo(String defectInfo) { + this.defectInfo = defectInfo; + } public String getDocumentSource() { return documentSource; 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 73ff8145..1ac88539 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 @@ -1102,4 +1102,6 @@ public interface EamService { List getDeptList(EamWorkOrderInData data); void updateReportResult(EamWorkOrderInData inData); + + void saveEamGzBbData(EamDefectFeedBackInData inData); } 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 afb441f3..d85bfe43 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 @@ -109,7 +109,7 @@ public class EamServiceImpl implements EamService { public ResponseData eamGroupSave(EamGroupData inData){ ResponseData responseData=new ResponseData(); List checkEamGroup=eamDao.checkEamGroup(inData); - if(checkEamGroup.size()>0){ + if (!checkEamGroup.isEmpty()) { throw new RuntimeException("该设备分组编码已存在!"); } eamDao.saveNewEamGroup(inData); @@ -122,7 +122,7 @@ public class EamServiceImpl implements EamService { public ResponseData eamGroupEdit(EamGroupData inData){ ResponseData responseData=new ResponseData(); List checkEamGroup=eamDao.checkEamGroup(inData); - if(checkEamGroup.size()==0){ + if (checkEamGroup.isEmpty()) { throw new RuntimeException("该设备分组编码不存在请刷新数据!"); } eamDao.eamGroupEdit(inData); @@ -136,7 +136,7 @@ public class EamServiceImpl implements EamService { public ResponseData eamGroupDelete(EamGroupData inData){ ResponseData responseData=new ResponseData(); List checkDelete=eamMapper.checkEamGroupDelete(inData); - if(checkDelete.size()>0){ + if (!checkDelete.isEmpty()) { throw new RuntimeException("该设备分组已被设备引用无法删除!"); } eamDao.eamGroupDelete(inData); @@ -157,7 +157,7 @@ public class EamServiceImpl implements EamService { public ResponseData eamLocationSave(EamLocationData inData){ ResponseData responseData=new ResponseData(); List checkEamLocation=eamDao.checkEamLocation(inData); - if(checkEamLocation.size()>0){ + if (!checkEamLocation.isEmpty()) { throw new RuntimeException("该设备位置编码已存在!"); } eamDao.saveNewEamLocation(inData); @@ -170,7 +170,7 @@ public class EamServiceImpl implements EamService { public ResponseData eamLocationEdit(EamLocationData inData){ ResponseData responseData=new ResponseData(); List checkEamLocation=eamDao.checkEamLocation(inData); - if(checkEamLocation.size()==0){ + if (checkEamLocation.isEmpty()) { throw new RuntimeException("该设备位置编码不存在请刷新数据!"); } eamDao.eamLocationEdit(inData); @@ -184,7 +184,7 @@ public class EamServiceImpl implements EamService { public ResponseData eamLocationDelete(EamLocationData inData){ ResponseData responseData=new ResponseData(); List checkDelete=eamMapper.checkEamLocationDelete(inData); - if(checkDelete.size()>0){ + if (!checkDelete.isEmpty()) { throw new RuntimeException("该设备位置已被设备引用无法删除!"); } eamDao.eamLocationDelete(inData); @@ -205,7 +205,7 @@ public class EamServiceImpl implements EamService { public ResponseData eamSupplierSave(EamSupplierData inData){ ResponseData responseData=new ResponseData(); List checkEamSupplier=eamDao.checkEamSupplier(inData); - if(checkEamSupplier.size()>0){ + if (!checkEamSupplier.isEmpty()) { throw new RuntimeException("该设备供应商编码已存在!"); } eamDao.saveNewEamSupplier(inData); @@ -218,7 +218,7 @@ public class EamServiceImpl implements EamService { public ResponseData eamSupplierEdit(EamSupplierData inData){ ResponseData responseData=new ResponseData(); List checkEamSupplier=eamDao.checkEamSupplier(inData); - if(checkEamSupplier.size()==0){ + if (checkEamSupplier.isEmpty()) { throw new RuntimeException("该设备供应商编码不存在请刷新数据!"); } eamDao.eamSupplierEdit(inData); @@ -249,7 +249,7 @@ public class EamServiceImpl implements EamService { public ResponseData eamManufacturerSave(EamManufacturerData inData){ ResponseData responseData=new ResponseData(); List checkEamManufacturer=eamDao.checkEamManufacturer(inData); - if(checkEamManufacturer.size()>0){ + if (!checkEamManufacturer.isEmpty()) { throw new RuntimeException("该设备制造商编码已存在!"); } eamDao.saveNewEamManufacturer(inData); @@ -2439,6 +2439,117 @@ public class EamServiceImpl implements EamService { eamMapper.updateReportResult(inData); } + /** + * 新增维修反馈 + * @param inData + */ + @Override + @Transactional + public void saveEamGzBbData(EamDefectFeedBackInData inData) { + inData.setFunctionType("C"); + inData.setDeleteFlag("N"); + inData.setVersion(0); + EamDefectFeedBackData searchData = new EamDefectFeedBackData(); + searchData.setSite(inData.getSite()); + searchData.setFeedBackID(inData.getFeedBackID()); + //获取任务号记录数 + //验证信息参数集合 + List params = new ArrayList<>(); + params.add(inData.getSite()); + params.add("eam_feedBackId"); + params.add("feedBackId"); + params.add("-124"); + // + List> resultList = procedureDao.getProcedureData("getFeedBackSerialNo", params); + //修改任务号+1 + //batchDao.updateBatchSerialNumber(inData.getSite(),"-124","eam_feedBackId","feedBackId"); + Map resultMap = resultList.get(0); + String serialNo = String.valueOf(resultMap.get("serial_no")); + String batchNo = "FB" + serialNo; + inData.setFeedBackID(batchNo); + searchData.setFeedBackID(batchNo); + List FeedIdData = eamMapper.getEamGzData(searchData); + if (!FeedIdData.isEmpty()){ + throw new RuntimeException("该任务号已存在,请刷新页面后再试!"); + } + EamDefectFeedBackData searchParam = new EamDefectFeedBackData(); + searchParam.setSite(inData.getSite()); + searchParam.setObjectInfo(inData.getObjectID()); + searchParam.setDefectInfo(inData.getDefectID()); + List eamGzData = eamMapper.getEamGzData(searchParam); + if (!eamGzData.isEmpty() && ("已录入".equalsIgnoreCase(eamGzData.get(0).getStatus()) || "已下达".equalsIgnoreCase(eamGzData.get(0).getStatus()))){ + throw new RuntimeException("该设备已存在当前故障的录入或下达记录,请查看后再试!"); + } + String interfaceDate = DateUtils.getStringNow(); + Date planDate = DateUtils.getStringToDate(interfaceDate, "yyyy-MM-dd"); + inData.setPlanDate(planDate); + //保存故障信息 + eamMapper.saveEamGzBbData(inData); + // 查看现场动控是否开启 + List controlData = eamMapper.selectControlBaseData("10001", inData.getSite()); + if (controlData.get(0).getBaseData().equals("控制")) { + // 修改反馈状态为已下达 + eamMapper.updateDefectFeedBackStatus(inData); + // 获取orderNo + EamWorkOrderInData data = new EamWorkOrderInData(); + data.setSite(inData.getSite()); + data.setFunctionType("C"); + String orderNo = eamMapper.getOrderNo(data); + inData.setOrderNo(orderNo); + inData.setDocumentSource("设备维修"); + // 创建维修工单 + eamMapper.saveWorkOrder(inData); + // 创建count表 + eamMapper.saveDefectRecordCount(inData); + } + // 根据设备查所属部门 + List deptData = eamMapper.queryDepartmentByObjectId(inData); + // 根据部门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.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("短信发送失败!"); + } + // 保存短信记录 + MessageRecordData recordData = new MessageRecordData(); + recordData.setSite(inData.getSite()); + 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(); + } + } + } + /** * @description: 排列树形集合 * @author: fengyuan_yang diff --git a/src/main/resources/mapper/pms/EamMapper.xml b/src/main/resources/mapper/pms/EamMapper.xml index cf5a6dd9..cbf4bc67 100644 --- a/src/main/resources/mapper/pms/EamMapper.xml +++ b/src/main/resources/mapper/pms/EamMapper.xml @@ -2102,7 +2102,8 @@ a.Site, a.FeedBackID, a.FeedBackDesc, - a.ObjectID + a.ObjectID, + a.Status from eam_defect_feedBack a left join eam_defect b on a.DefectID = b.DefectID @@ -2110,6 +2111,15 @@ AND a.FeedBackID LIKE '%' + #{feedBackID}+'%' + + AND a.FeedBackDesc LIKE '%' + #{feedBackDesc}+'%' + + + AND (a.ObjectID like '%' + #{objectInfo} + '%' or dbo.eam_Get_eamObjectDesc(a.Site,a.ObjectID) like '%' + #{objectInfo} + '%') + + + AND (a.DefectID like '%' + #{defectInfo} + '%' or b.defectDesc like '%' + #{defectInfo} + '%') +