Browse Source

2024-01-26

系统优化
java8
fengyuan_yang 2 years ago
parent
commit
b1d41a9ffc
  1. 252
      src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java
  2. 5
      src/main/resources/mapper/pms/EamMapper.xml

252
src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java

@ -903,11 +903,28 @@ public class EamServiceImpl implements EamService {
throw new RuntimeException("设备 " + objectData.getObjectID() + " 已存在计划,请勿重复创建!");
}
}
String planId = eamMapper.selectOrderId(inData);
// 生成计划编码
if (inData.getFunctionType().equals("A")) {
inData.setPlanID("DJ" + planId);
List<Object> params = new ArrayList<>();
params.add("*");
params.add("workPlanForCheckNo");
params.add(DateUtil.getStringDate(new Date(),"yyMMdd"));
params.add("-126");
List<Map<String, Object>> resultList = procedureDao.getProcedureData("getWorkPlanNo", params);
Map<String, Object> resultMap = resultList.get(0);
String planNo = String.valueOf(resultMap.get("serial_no"));
inData.setPlanID("DJ" + DateUtil.getStringDate(new Date(),"yyMMdd") + planNo);
} else if (inData.getFunctionType().equals("B")) {
inData.setPlanID("WB" + planId);
List<Object> params = new ArrayList<>();
params.add("*");
params.add("workPlanForMaintenanceNo");
params.add(DateUtil.getStringDate(new Date(),"yyMMdd"));
params.add("-127");
List<Map<String, Object>> resultList = procedureDao.getProcedureData("getWorkPlanNo", params);
Map<String, Object> resultMap = resultList.get(0);
String planNo = String.valueOf(resultMap.get("serial_no"));
inData.setPlanID("WB" + DateUtil.getStringDate(new Date(),"yyMMdd") + planNo);
}
// 新增点检计划
eamMapper.saveWorkPlan(inData);
@ -1137,7 +1154,6 @@ public class EamServiceImpl implements EamService {
public void createEamWorkOrder(EamWorkPlanInData inData){
Calendar calendar = Calendar.getInstance();
for (int i = 0; i < inData.getObjectList().size(); i++) {
String OrderNoHeader = "";
Date orderDate;
Date endDate;
inData.setObjectID(inData.getObjectList().get(i).getObjectID());
@ -1152,16 +1168,30 @@ public class EamServiceImpl implements EamService {
throw new RuntimeException("该计划状态不是已计划,请刷新数据!");
}
// 开始保存
if (inData.getFunctionType().equals("A")) {
OrderNoHeader = "D";
} else if (inData.getFunctionType().equals("B")) {
OrderNoHeader = "W";
}
if (planData.getPlanPeriod() == 0) { // 点检频率为0
// 获得工单号
String no = eamMapper.queryPlanOrderNo(inData);
String orderNo = OrderNoHeader + no;
planData.setOrderNo(orderNo);
if (inData.getFunctionType().equals("A")) {
List<Object> params = new ArrayList<>();
params.add("*");
params.add("workOrderForCheckNo");
params.add(DateUtil.getStringDate(new Date(),"yyMMdd"));
params.add("-128");
List<Map<String, Object>> resultList = procedureDao.getProcedureData("getWorkOrderNo", params);
Map<String, Object> resultMap = resultList.get(0);
String orderNo = String.valueOf(resultMap.get("serial_no"));
planData.setOrderNo("D" + DateUtil.getStringDate(new Date(),"yyMMdd") + orderNo);
} else if (inData.getFunctionType().equals("B")) {
List<Object> params = new ArrayList<>();
params.add("*");
params.add("workOrderForMaintenanceNo");
params.add(DateUtil.getStringDate(new Date(),"yyMMdd"));
params.add("-129");
List<Map<String, Object>> resultList = procedureDao.getProcedureData("getWorkOrderNo", params);
Map<String, Object> resultMap = resultList.get(0);
String orderNo = String.valueOf(resultMap.get("serial_no"));
planData.setOrderNo("W" + DateUtil.getStringDate(new Date(),"yyMMdd") + orderNo);
}
// 新增工单
eamMapper.insertWorkOrder(planData);
} else { // 频率不为0
@ -1173,13 +1203,31 @@ public class EamServiceImpl implements EamService {
calendar.setTime(orderDate);
int day = calendar.get(Calendar.DAY_OF_MONTH);
// 如果是按月排单且选中的日期为28号以上
if (planData.getPlanCycle().equals("月") && day > 28){
if (day <= 30){
while (compareTo <= 0){ // 不超过结束日期时
if (planData.getPlanCycle().equals("月") && day > 28) {
if (day <= 30) {
while (compareTo <= 0) { // 不超过结束日期时
// 获得工单号
String no = eamMapper.queryPlanOrderNo(inData);
String orderNo = OrderNoHeader + no;
planData.setOrderNo(orderNo);
if (inData.getFunctionType().equals("A")) {
List<Object> params = new ArrayList<>();
params.add("*");
params.add("workOrderForCheckNo");
params.add(DateUtil.getStringDate(new Date(),"yyMMdd"));
params.add("-128");
List<Map<String, Object>> resultList = procedureDao.getProcedureData("getWorkOrderNo", params);
Map<String, Object> resultMap = resultList.get(0);
String orderNo = String.valueOf(resultMap.get("serial_no"));
planData.setOrderNo("D" + DateUtil.getStringDate(new Date(),"yyMMdd") + orderNo);
} else if (inData.getFunctionType().equals("B")) {
List<Object> params = new ArrayList<>();
params.add("*");
params.add("workOrderForMaintenanceNo");
params.add(DateUtil.getStringDate(new Date(),"yyMMdd"));
params.add("-129");
List<Map<String, Object>> resultList = procedureDao.getProcedureData("getWorkOrderNo", params);
Map<String, Object> resultMap = resultList.get(0);
String orderNo = String.valueOf(resultMap.get("serial_no"));
planData.setOrderNo("W" + DateUtil.getStringDate(new Date(),"yyMMdd") + orderNo);
}
// 新增工单
eamMapper.forInsertWorkOrder(planData);
// 设置下一次的工单日期
@ -1220,9 +1268,27 @@ public class EamServiceImpl implements EamService {
// 如果日期为31号
while (compareTo <= 0) {
// 获得工单号
String no = eamMapper.queryPlanOrderNo(inData);
String orderNo = OrderNoHeader + no;
planData.setOrderNo(orderNo);
if (inData.getFunctionType().equals("A")) {
List<Object> params = new ArrayList<>();
params.add("*");
params.add("workOrderForCheckNo");
params.add(DateUtil.getStringDate(new Date(),"yyMMdd"));
params.add("-128");
List<Map<String, Object>> resultList = procedureDao.getProcedureData("getWorkOrderNo", params);
Map<String, Object> resultMap = resultList.get(0);
String orderNo = String.valueOf(resultMap.get("serial_no"));
planData.setOrderNo("D" + DateUtil.getStringDate(new Date(),"yyMMdd") + orderNo);
} else if (inData.getFunctionType().equals("B")) {
List<Object> params = new ArrayList<>();
params.add("*");
params.add("workOrderForMaintenanceNo");
params.add(DateUtil.getStringDate(new Date(),"yyMMdd"));
params.add("-129");
List<Map<String, Object>> resultList = procedureDao.getProcedureData("getWorkOrderNo", params);
Map<String, Object> resultMap = resultList.get(0);
String orderNo = String.valueOf(resultMap.get("serial_no"));
planData.setOrderNo("W" + DateUtil.getStringDate(new Date(),"yyMMdd") + orderNo);
}
// 新增工单
eamMapper.forInsertWorkOrder(planData);
// 设置下一次的工单日期
@ -1279,9 +1345,27 @@ public class EamServiceImpl implements EamService {
// 其他情况
while (compareTo <= 0){
// 获得工单号
String no = eamMapper.queryPlanOrderNo(inData);
String orderNo = OrderNoHeader + no;
planData.setOrderNo(orderNo);
if (inData.getFunctionType().equals("A")) {
List<Object> params = new ArrayList<>();
params.add("*");
params.add("workOrderForCheckNo");
params.add(DateUtil.getStringDate(new Date(),"yyMMdd"));
params.add("-128");
List<Map<String, Object>> resultList = procedureDao.getProcedureData("getWorkOrderNo", params);
Map<String, Object> resultMap = resultList.get(0);
String orderNo = String.valueOf(resultMap.get("serial_no"));
planData.setOrderNo("D" + DateUtil.getStringDate(new Date(),"yyMMdd") + orderNo);
} else if (inData.getFunctionType().equals("B")) {
List<Object> params = new ArrayList<>();
params.add("*");
params.add("workOrderForMaintenanceNo");
params.add(DateUtil.getStringDate(new Date(),"yyMMdd"));
params.add("-129");
List<Map<String, Object>> resultList = procedureDao.getProcedureData("getWorkOrderNo", params);
Map<String, Object> resultMap = resultList.get(0);
String orderNo = String.valueOf(resultMap.get("serial_no"));
planData.setOrderNo("W" + DateUtil.getStringDate(new Date(),"yyMMdd") + orderNo);
}
// 新增工单
eamMapper.forInsertWorkOrder(planData);
// 设置下一次的工单日期
@ -1608,19 +1692,30 @@ public class EamServiceImpl implements EamService {
EamDefectFeedBackData searchData = new EamDefectFeedBackData();
searchData.setSite(inData.getSite());
// 获取任务号记录数
// 验证信息参数集合
// // 验证信息参数集合
// List<Object> params = new ArrayList<>();
// params.add(inData.getSite());
// params.add(inData.getBuNo());
// params.add("eam_feedBackId");
// params.add("feedBackId");
// params.add("-124");
// // 校验任务号
// List<Map<String, Object>> resultList = procedureDao.getProcedureData("getFeedBackSerialNo", params);
// Map<String, Object> resultMap = resultList.get(0);
// String serialNo = String.valueOf(resultMap.get("serial_no"));
// String batchNo = "FB" + serialNo;
// 获得计划编码
List<Object> params = new ArrayList<>();
params.add(inData.getSite());
params.add(inData.getBuNo());
params.add("eam_feedBackId");
params.add("feedBackId");
params.add("-124");
// 校验任务号
List<Map<String, Object>> resultList = procedureDao.getProcedureData("getFeedBackSerialNo", params);
params.add("*");
params.add("workPlanForFeedBackNo");
params.add(DateUtil.getStringDate(new Date(),"yyMMdd"));
params.add("-130");
List<Map<String, Object>> resultList = procedureDao.getProcedureData("getWorkPlanNo", params);
Map<String, Object> resultMap = resultList.get(0);
String serialNo = String.valueOf(resultMap.get("serial_no"));
String batchNo = "FB" + serialNo;
String planNo = String.valueOf(resultMap.get("serial_no"));
String batchNo = "FB" + DateUtil.getStringDate(new Date(),"yyMMdd") + planNo;
searchData.setFeedBackID(batchNo);
List<EamDefectFeedBackData> FeedIdData = eamMapper.getEamGzData(searchData);
if (!FeedIdData.isEmpty()) {
throw new RuntimeException("该任务号已存在,请刷新页面后再试!");
@ -1647,7 +1742,15 @@ public class EamServiceImpl implements EamService {
// 修改反馈状态为已下达
eamMapper.updateDefectFeedBackStatus(feedBackData);
// 获取orderNo
String orderNo = eamMapper.getOrderNo(inData);
// String orderNo = eamMapper.getOrderNo(inData);
List<Object> params2 = new ArrayList<>();
params2.add("*");
params2.add("workOrderForFeedBackNo");
params2.add(DateUtil.getStringDate(new Date(),"yyMMdd"));
params2.add("-131");
List<Map<String, Object>> resultList2 = procedureDao.getProcedureData("getWorkOrderNo", params2);
Map<String, Object> resultMap2 = resultList2.get(0);
String orderNo = "F" + DateUtil.getStringDate(new Date(),"yyMMdd") + resultMap2.get("serial_no");
feedBackData.setOrderNo(orderNo);
// 创建维修工单
eamMapper.saveWorkOrder(feedBackData);
@ -1674,8 +1777,8 @@ public class EamServiceImpl implements EamService {
String content = feedBackData.getObjectID() + "-" + deptData.get(0).getObjectDesc() + " 在 " + deptData.get(0).getLocationName() + " 发生了 " + feedBackData.getFeedBackDesc() +" 故障,请及时处理!【齐克庞德】";
try {
// 发送短信
int code = SendMessageUtils.sendSMSGet("LKSDK0007685", "554958", mobile, content, "");
//int code = SendMessageUtils.sendSMSGet("LKSDK0007685", "554958", "13592510225", content, "");
//int code = SendMessageUtils.sendSMSGet("LKSDK0007685", "554958", mobile, content, "");
int code = SendMessageUtils.sendSMSGet("LKSDK0007685", "554958", "13592510225", content, "");
if (code <= 0) {
throw new RuntimeException("短信发送失败,code = " + code + " !");
}
@ -1721,6 +1824,16 @@ public class EamServiceImpl implements EamService {
inData.setPlanOperatorName(oldDate.getPlanOperatorName());
inData.setChecker(oldDate.getChecker());
inData.setCheckerName(oldDate.getCheckerName());
// 获取工单号
List<Object> params = new ArrayList<>();
params.add("*");
params.add("workOrderForMaintenanceNo");
params.add(DateUtil.getStringDate(new Date(),"yyMMdd"));
params.add("-129");
List<Map<String, Object>> resultList = procedureDao.getProcedureData("getWorkOrderNo", params);
Map<String, Object> resultMap = resultList.get(0);
String orderNo = String.valueOf(resultMap.get("serial_no"));
inData.setOrderNo("W" + DateUtil.getStringDate(new Date(),"yyMMdd") + orderNo);
// 创建新工单
eamMapper.saveMaintenanceWorkOrder(inData);
}
@ -1790,7 +1903,15 @@ public class EamServiceImpl implements EamService {
// 如果维修失败则重新生成工单
if ("维修失败".equals(inData.getResult())) {
// 获取工单号
String orderNo = eamMapper.getOrderNo(inData);
// String orderNo = eamMapper.getOrderNo(inData);
List<Object> params2 = new ArrayList<>();
params2.add("*");
params2.add("workOrderForFeedBackNo");
params2.add(DateUtil.getStringDate(new Date(),"yyMMdd"));
params2.add("-131");
List<Map<String, Object>> resultList2 = procedureDao.getProcedureData("getWorkOrderNo", params2);
Map<String, Object> resultMap2 = resultList2.get(0);
String orderNo = "F" + DateUtil.getStringDate(new Date(),"yyMMdd") + resultMap2.get("serial_no");
inData.setOrderNo(orderNo);
inData.setDocumentSource("设备维修");
// 创建工单
@ -1826,8 +1947,8 @@ public class EamServiceImpl implements EamService {
String content = feedBackData.getObjectID() + "-" + deptData.get(0).getObjectDesc() + " 在 " + deptData.get(0).getLocationName() + " 发生了 " + feedBackData.getFeedBackDesc() +" 故障,请及时处理!【齐克庞德】";
try {
// 发送短信
int code = SendMessageUtils.sendSMSGet("LKSDK0007685", "554958", mobile, content, "");
//int code = SendMessageUtils.sendSMSGet("LKSDK0007685", "554958", "13592510225", content, "");
//int code = SendMessageUtils.sendSMSGet("LKSDK0007685", "554958", mobile, content, "");
int code = SendMessageUtils.sendSMSGet("LKSDK0007685", "554958", "13592510225", content, "");
if (code <= 0) {
throw new RuntimeException("短信发送失败,code = " + code + " !");
}
@ -2559,21 +2680,32 @@ public class EamServiceImpl implements EamService {
searchData.setBuNo(inData.getBuNo());
searchData.setFeedBackID(inData.getFeedBackID());
// 获取任务号记录数
// 验证信息参数集合
// // 验证信息参数集合
// List<Object> params = new ArrayList<>();
// params.add(inData.getSite());
// params.add(inData.getBuNo());
// params.add("eam_feedBackId");
// params.add("feedBackId");
// params.add("-124");
// List<Map<String, Object>> resultList = procedureDao.getProcedureData("getFeedBackSerialNo", params);
// // 修改任务号+1
// // batchDao.updateBatchSerialNumber(inData.getSite(),"-124","eam_feedBackId","feedBackId");
// Map<String, Object> resultMap = resultList.get(0);
// String serialNo = String.valueOf(resultMap.get("serial_no"));
// String batchNo = "FB" + serialNo;
// 获得计划编码
List<Object> params = new ArrayList<>();
params.add(inData.getSite());
params.add(inData.getBuNo());
params.add("eam_feedBackId");
params.add("feedBackId");
params.add("-124");
List<Map<String, Object>> resultList = procedureDao.getProcedureData("getFeedBackSerialNo", params);
// 修改任务号+1
// batchDao.updateBatchSerialNumber(inData.getSite(),"-124","eam_feedBackId","feedBackId");
params.add("*");
params.add("workPlanForFeedBackNo");
params.add(DateUtil.getStringDate(new Date(),"yyMMdd"));
params.add("-130");
List<Map<String, Object>> resultList = procedureDao.getProcedureData("getWorkPlanNo", params);
Map<String, Object> resultMap = resultList.get(0);
String serialNo = String.valueOf(resultMap.get("serial_no"));
String batchNo = "FB" + serialNo;
String planNo = String.valueOf(resultMap.get("serial_no"));
String batchNo = "FB" + DateUtil.getStringDate(new Date(),"yyMMdd") + planNo;
inData.setFeedBackID(batchNo);
searchData.setFeedBackID(batchNo);
List<EamDefectFeedBackData> FeedIdData = eamMapper.getEamGzData(searchData);
if (!FeedIdData.isEmpty()) {
throw new RuntimeException("该任务号已存在,请刷新页面后再试!");
@ -2602,7 +2734,15 @@ public class EamServiceImpl implements EamService {
data.setSite(inData.getSite());
data.setBuNo(inData.getBuNo());
data.setFunctionType("C");
String orderNo = eamMapper.getOrderNo(data);
// String orderNo = eamMapper.getOrderNo(data);
List<Object> params2 = new ArrayList<>();
params2.add("*");
params2.add("workOrderForFeedBackNo");
params2.add(DateUtil.getStringDate(new Date(),"yyMMdd"));
params2.add("-131");
List<Map<String, Object>> resultList2 = procedureDao.getProcedureData("getWorkOrderNo", params2);
Map<String, Object> resultMap2 = resultList2.get(0);
String orderNo = "F" + DateUtil.getStringDate(new Date(),"yyMMdd") + resultMap2.get("serial_no");
inData.setOrderNo(orderNo);
inData.setDocumentSource("设备维修");
// 创建维修工单
@ -2617,7 +2757,7 @@ public class EamServiceImpl implements EamService {
if (!phoneList.isEmpty()) {
StringBuilder phoneNumber = new StringBuilder();
// 拼接所有人员的手机号/姓名
for (EamObjectAdminData data : phoneList){
for (EamObjectAdminData data : phoneList) {
if(StringUtils.isNotBlank(data.getPhone())){
phoneNumber.append(data.getPhone()).append(",");
}
@ -2630,8 +2770,8 @@ public class EamServiceImpl implements EamService {
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, "");
//int code = SendMessageUtils.sendSMSGet("LKSDK0007685", "554958", mobile, content, "");
int code = SendMessageUtils.sendSMSGet("LKSDK0007685", "554958", "13592510225", content, "");
if (code <= 0) {
throw new RuntimeException("短信发送失败,code = " + code + " !");
}
@ -2653,7 +2793,7 @@ public class EamServiceImpl implements EamService {
}
eamMapper.saveMessageRecord(recordData);
}
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
}
}

5
src/main/resources/mapper/pms/EamMapper.xml

@ -1851,8 +1851,7 @@
<insert id="saveMaintenanceWorkOrder" parameterType="EamWorkOrderInData">
INSERT INTO eam_workOrder
(Site, bu_no, OrderNo, PlanID, PlanDesc, PropertiesCode, ObjectID, Status, PlanOperator, PlanDate, FunctionType, CreateDate, CreateBy, checker, PlanOperatorName, checkerName)
VALUES (#{site}, #{buNo}, (select 'W' + Right( '0000000000'+ convert(VARCHAR(10),isnull(max(convert(INT,SUBSTRING(OrderNo,3,10))),0)+1),8) from eam_workOrder where site = #{site} and FunctionType = 'B' and bu_no = #{buNo}),
#{planID}, #{planDesc}, #{propertiesCode}, #{objectID}, '未开工', #{planOperator}, Dateadd(dd, Datediff(dd,0,Getdate()), 0), #{functionType}, getDate(), #{createBy}, #{checker}, #{planOperatorName}, #{checkerName})
VALUES (#{site}, #{buNo}, #{orderNo}, #{planID}, #{planDesc}, #{propertiesCode}, #{objectID}, '未开工', #{planOperator}, Dateadd(dd, Datediff(dd,0,Getdate()), 0), #{functionType}, getDate(), #{createBy}, #{checker}, #{planOperatorName}, #{checkerName})
</insert>
<!-- 检查系统操作人和审核人员是否一致 -->
@ -2417,7 +2416,7 @@
FROM Access_dept as edd
LEFT JOIN sys_user ed on edd.username = ed.username and edd.site in (select site from eam_access_site where username = ed.username)
and (edd.site + '-' + edd.bu_no) in (select * from dbo.query_bu(ed.username))
WHERE edd.site = #{site} and edd.department_id = #{deptId} and edd.bu_no = #{buNo}
WHERE edd.site = #{site} and edd.department_id = #{deptId} and edd.bu_no = #{buNo} and ed.mobile is not null
</select>
<!-- 保存短信记录 -->

Loading…
Cancel
Save