|
|
|
@ -755,7 +755,6 @@ public class EamServiceImpl implements EamService { |
|
|
|
throw new RuntimeException("设备 " + objectData.getObjectID() + " 在该时段内已存在计划,请勿重复创建!"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
String planId = eamMapper.selectOrderId(inData); |
|
|
|
if (inData.getFunctionType().equals("A")){ |
|
|
|
inData.setPlanID("DJ" + planId); |
|
|
|
@ -1033,7 +1032,6 @@ public class EamServiceImpl implements EamService { |
|
|
|
// throw new XJException(msg, Integer.parseInt(code)); |
|
|
|
// } |
|
|
|
|
|
|
|
|
|
|
|
inData.setObjectID(inData.getObjectList().get(i).getObjectID()); |
|
|
|
// 查询当前记录是否存在 |
|
|
|
EamWorkPlanInData planData = eamMapper.queryWorkPlan(inData); |
|
|
|
@ -1050,7 +1048,6 @@ public class EamServiceImpl implements EamService { |
|
|
|
} else if (inData.getFunctionType().equals("B")) { |
|
|
|
OrderNoHeader = "W"; |
|
|
|
} |
|
|
|
|
|
|
|
if (planData.getPlanPeriod() == 0){ |
|
|
|
// 获得工单号 |
|
|
|
String no = eamMapper.queryPlanOrderNo(inData); |
|
|
|
@ -1061,33 +1058,154 @@ public class EamServiceImpl implements EamService { |
|
|
|
}else { |
|
|
|
int compareTo = orderDate.compareTo(endDate); |
|
|
|
planData.setOrderDate(orderDate); |
|
|
|
while (compareTo <= 0){ |
|
|
|
// 获得工单号 |
|
|
|
String no = eamMapper.queryPlanOrderNo(inData); |
|
|
|
String orderNo = OrderNoHeader + no; |
|
|
|
planData.setOrderNo(orderNo); |
|
|
|
eamMapper.forInsertWorkOrder(planData); |
|
|
|
// 设置下一次的工单时间 |
|
|
|
calendar.clear(); |
|
|
|
calendar.setTime(orderDate); |
|
|
|
calendar.add(Calendar.DAY_OF_MONTH,planData.getPlanPeriod()); |
|
|
|
orderDate = calendar.getTime(); |
|
|
|
planData.setOrderDate(orderDate); |
|
|
|
// 判断是否为工作日 |
|
|
|
try { |
|
|
|
Boolean workingDay = HolidayUtils.isWorkingDay(orderDate.getTime()); |
|
|
|
if (!workingDay){ // 如果不是工作日 日期改为下次 |
|
|
|
// 获取日 |
|
|
|
calendar.clear(); |
|
|
|
calendar.setTime(orderDate); |
|
|
|
int day = calendar.get(Calendar.DAY_OF_MONTH); |
|
|
|
// 如果是按月排单且选中的日期为28号以上 |
|
|
|
if (planData.getPlanCycle().equals("月") && day > 28){ |
|
|
|
if (day <= 30){ |
|
|
|
while (compareTo <= 0){ |
|
|
|
// 获得工单号 |
|
|
|
String no = eamMapper.queryPlanOrderNo(inData); |
|
|
|
String orderNo = OrderNoHeader + no; |
|
|
|
planData.setOrderNo(orderNo); |
|
|
|
// 新增工单 |
|
|
|
eamMapper.forInsertWorkOrder(planData); |
|
|
|
// 设置下一次的工单日期 |
|
|
|
calendar.clear(); |
|
|
|
calendar.setTime(orderDate); |
|
|
|
calendar.add(Calendar.DAY_OF_MONTH,planData.getPlanPeriod()); |
|
|
|
// 判断计划周期 |
|
|
|
calendar.add(Calendar.MONTH,planData.getPlanPeriod()); |
|
|
|
// 得到下个工单的日期 |
|
|
|
orderDate = calendar.getTime(); |
|
|
|
if (orderDate.getMonth() != 2){ |
|
|
|
orderDate.setDate(day); |
|
|
|
} |
|
|
|
planData.setOrderDate(orderDate); |
|
|
|
// 是否选择了工单生成规则 |
|
|
|
if (planData.getWorkOrderRule()!= null || !planData.getWorkOrderRule().equals("")){ |
|
|
|
// 用户选择了周日也创建工单,就不进行工作日判断,跳过本次循环 |
|
|
|
if (planData.getWorkOrderRule().contains("A")){ |
|
|
|
compareTo = orderDate.compareTo(endDate); |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
// 判断是否为工作日 |
|
|
|
try { |
|
|
|
Boolean workingDay = HolidayUtils.isWorkingDay(orderDate.getTime()); |
|
|
|
if (!workingDay){ // 如果是节假日,日期改为下一天 |
|
|
|
calendar.clear(); |
|
|
|
calendar.setTime(orderDate); |
|
|
|
calendar.add(Calendar.DATE,1); |
|
|
|
orderDate = calendar.getTime(); |
|
|
|
planData.setOrderDate(orderDate); |
|
|
|
} |
|
|
|
}catch (IOException e){ |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
compareTo = orderDate.compareTo(endDate); |
|
|
|
} |
|
|
|
}else { |
|
|
|
// 如果日期为31号 |
|
|
|
while (compareTo <= 0){ |
|
|
|
// 获得工单号 |
|
|
|
String no = eamMapper.queryPlanOrderNo(inData); |
|
|
|
String orderNo = OrderNoHeader + no; |
|
|
|
planData.setOrderNo(orderNo); |
|
|
|
// 新增工单 |
|
|
|
eamMapper.forInsertWorkOrder(planData); |
|
|
|
// 设置下一次的工单日期 |
|
|
|
calendar.clear(); |
|
|
|
calendar.setTime(orderDate); |
|
|
|
// 判断计划周期 |
|
|
|
calendar.add(Calendar.MONTH,planData.getPlanPeriod()); |
|
|
|
// 得到下个工单的日期 |
|
|
|
orderDate = calendar.getTime(); |
|
|
|
int month = orderDate.getMonth() + 1; |
|
|
|
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12){ |
|
|
|
calendar.clear(); |
|
|
|
calendar.setTime(orderDate); |
|
|
|
if (calendar.get(Calendar.DAY_OF_MONTH) != 31){ |
|
|
|
calendar.add(Calendar.DATE,1); |
|
|
|
orderDate = calendar.getTime(); |
|
|
|
} |
|
|
|
} |
|
|
|
planData.setOrderDate(orderDate); |
|
|
|
// 是否选择了工单生成规则 |
|
|
|
if (planData.getWorkOrderRule()!= null || !planData.getWorkOrderRule().equals("")){ |
|
|
|
// 用户选择了周日也创建工单,就不进行工作日判断,跳过本次循环 |
|
|
|
if (planData.getWorkOrderRule().contains("A")){ |
|
|
|
compareTo = orderDate.compareTo(endDate); |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
// 判断是否为工作日 |
|
|
|
try { |
|
|
|
Boolean workingDay = HolidayUtils.isWorkingDay(orderDate.getTime()); |
|
|
|
if (!workingDay){ // 如果是节假日,日期改为下一天 |
|
|
|
calendar.clear(); |
|
|
|
calendar.setTime(orderDate); |
|
|
|
calendar.add(Calendar.DATE,1); |
|
|
|
orderDate = calendar.getTime(); |
|
|
|
planData.setOrderDate(orderDate); |
|
|
|
} |
|
|
|
}catch (IOException e){ |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
compareTo = orderDate.compareTo(endDate); |
|
|
|
} |
|
|
|
}catch (IOException e){ |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
compareTo = orderDate.compareTo(endDate); |
|
|
|
}else { |
|
|
|
// 其他情况 |
|
|
|
while (compareTo <= 0){ |
|
|
|
// 获得工单号 |
|
|
|
String no = eamMapper.queryPlanOrderNo(inData); |
|
|
|
String orderNo = OrderNoHeader + no; |
|
|
|
planData.setOrderNo(orderNo); |
|
|
|
// 新增工单 |
|
|
|
eamMapper.forInsertWorkOrder(planData); |
|
|
|
// 设置下一次的工单日期 |
|
|
|
calendar.clear(); |
|
|
|
calendar.setTime(orderDate); |
|
|
|
// 判断计划周期 |
|
|
|
if (planData.getPlanCycle().equals("天")){ |
|
|
|
calendar.add(Calendar.DATE,planData.getPlanPeriod()); |
|
|
|
}else if (planData.getPlanCycle().equals("周")){ |
|
|
|
calendar.add(Calendar.DATE,7); |
|
|
|
} else if (planData.getPlanCycle().equals("月")) { |
|
|
|
calendar.add(Calendar.MONTH,planData.getPlanPeriod()); |
|
|
|
} else if (planData.getPlanCycle().equals("年")) { |
|
|
|
calendar.add(Calendar.YEAR,planData.getPlanPeriod()); |
|
|
|
} |
|
|
|
// 得到下个工单的日期 |
|
|
|
orderDate = calendar.getTime(); |
|
|
|
planData.setOrderDate(orderDate); |
|
|
|
// 是否选择了工单生成规则 |
|
|
|
if (planData.getWorkOrderRule()!= null || !planData.getWorkOrderRule().equals("")){ |
|
|
|
// 用户选择了周日也创建工单,就不进行工作日判断,跳过本次循环 |
|
|
|
if (planData.getWorkOrderRule().contains("A")){ |
|
|
|
compareTo = orderDate.compareTo(endDate); |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
// 判断是否为工作日 |
|
|
|
try { |
|
|
|
Boolean workingDay = HolidayUtils.isWorkingDay(orderDate.getTime()); |
|
|
|
if (!workingDay){ // 如果是节假日,日期改为下一天 |
|
|
|
calendar.clear(); |
|
|
|
calendar.setTime(orderDate); |
|
|
|
calendar.add(Calendar.DATE,1); |
|
|
|
orderDate = calendar.getTime(); |
|
|
|
planData.setOrderDate(orderDate); |
|
|
|
} |
|
|
|
}catch (IOException e){ |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
compareTo = orderDate.compareTo(endDate); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 更改plan表的状态为进行中 |
|
|
|
eamMapper.updatePlanStatus(planData); |
|
|
|
} |
|
|
|
@ -1795,8 +1913,8 @@ public class EamServiceImpl implements EamService { |
|
|
|
List<SysOssEntity> list = eamMapper.searchFileUrl(data); |
|
|
|
for (int i = 0; i < list.size(); i++) { |
|
|
|
String s = list.get(i).getUrl().replaceAll("\\\\", "/"); |
|
|
|
String s1 = s.replace("D:/", "http://192.168.1.127:8088/"); |
|
|
|
// String s1 = s.replace("D:/", "http://172.26.68.17:8091/"); |
|
|
|
// String s1 = s.replace("D:/", "http://192.168.1.127:8088/"); |
|
|
|
String s1 = s.replace("D:/", "http://172.26.68.17:8091/"); |
|
|
|
list.get(i).setUrl(s1); |
|
|
|
} |
|
|
|
return list; |
|
|
|
|