|
|
|
@ -2500,6 +2500,72 @@ public class EamServiceImpl implements EamService { |
|
|
|
// 如果 key 已经存在,则获取当前 value 并加 1 |
|
|
|
redisTemplate.opsForValue().set(key, val + 1); |
|
|
|
} |
|
|
|
|
|
|
|
// 根据设备查所属部门 |
|
|
|
List<EamObjectAdminData> deptData = eamMapper.queryDepartmentByObjectId(inData); |
|
|
|
// 角色 |
|
|
|
if ("设备维修组".equals(inData.getRepairType())) { |
|
|
|
deptData.get(0).setRoleNo("R021"); |
|
|
|
} else { |
|
|
|
deptData.get(0).setRoleNo("R020"); |
|
|
|
} |
|
|
|
// 根据部门ID查机修人员电话 |
|
|
|
List<EamObjectAdminData> 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<EamObjectData> 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<EamPropertiesItemData> getItemLists(EamPropertiesModelHeaderData inData){ |
|
|
|
@ -3005,67 +3071,69 @@ public class EamServiceImpl implements EamService { |
|
|
|
// 如果 key 已经存在,则获取当前 value 并加 1 |
|
|
|
redisTemplate.opsForValue().set(key, val + 1); |
|
|
|
} |
|
|
|
} |
|
|
|
// 根据设备查所属部门 |
|
|
|
List<EamObjectAdminData> deptData = eamMapper.queryDepartmentByObjectId(inData); |
|
|
|
// 角色 |
|
|
|
if ("设备维修组".equals(inData.getRepairType())) { |
|
|
|
deptData.get(0).setRoleNo("R021"); |
|
|
|
} else { |
|
|
|
deptData.get(0).setRoleNo("R020"); |
|
|
|
} |
|
|
|
// 根据部门ID查机修人员电话 |
|
|
|
List<EamObjectAdminData> 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<EamObjectAdminData> 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<EamObjectAdminData> 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<EamObjectData> 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<EamObjectData> 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<EamWorkOrderInData> 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); |
|
|
|
|