diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java index 18d5d64a..83487f91 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java @@ -289,6 +289,9 @@ public class EquOrder extends BaseEntity { // 创建日期结束 private String createTimeEnd; + //合格率 + private String complianceRate; + public String getPicturePath() { return picturePath; } @@ -825,6 +828,12 @@ public class EquOrder extends BaseEntity { this.createTimeEnd = createTimeEnd; } + public String getComplianceRate() { return complianceRate; } + + public void setComplianceRate(String complianceRate) { + this.complianceRate = complianceRate; + } + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) @@ -857,6 +866,7 @@ public class EquOrder extends BaseEntity { .append("createTime", getCreateTime()) .append("updateBy", getUpdateBy()) .append("updateTime", getUpdateTime()) + .append("complianceRate", getComplianceRate()) .toString(); } } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java index 8a14a6a4..0ab818a4 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java @@ -289,13 +289,19 @@ public class DevicePDAServiceImpl implements IDevicePDAService { // 获取检查项信息列表 List detailList = equOrder.getDetailList(); + + Integer total = detailList.size();//总检查项数 + Integer reachStandard = detailList.size();//达标检查项数 一开始是百分百 + // 处理检查项信息 for (EquOrderDetail detail : detailList) { + //检查项是否达标的标志 + Boolean reachStandardFlag = Boolean.TRUE;//默认是达标的 + // 获取标准信息列表 List standardList = detail.getStandardList(); // 处理标准信息 for (EquOrderStandard standard : standardList) { - //上传附件 if (StringUtils.isNotEmpty(standard.getPicturePath())) { String[] ids = standard.getPicturePath().split(","); @@ -323,12 +329,14 @@ public class DevicePDAServiceImpl implements IDevicePDAService { if (!(up != 1 && down != -1)) { hasError = true; standard.setDetailReach("0"); + reachStandardFlag = Boolean.FALSE; } } else { // 未达标 standard.setErrorFlag("0"); if (standard.getDetailReach().equals("0")) { hasError = true; + reachStandardFlag = Boolean.FALSE; } } @@ -336,6 +344,10 @@ public class DevicePDAServiceImpl implements IDevicePDAService { standard.setUpdateTime(DateUtils.getNowDate()); equOrderStandardMapper.updateEquOrderStandard(standard); } + + if(reachStandardFlag == Boolean.FALSE){ + reachStandard --;//如果检查项里面存在不合格的标准 那么该检查项不合格 + } } // 更新工单信息 @@ -345,6 +357,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService { equOrder.setPlanPerson(SecurityContextHolder.getUserName());// 设置负责人 equOrder.setOrderEnd(DateUtils.getNowDate());// 设置检查时间结束 equOrder.setOrderStart(DateUtils.getNowDate());// 设置检查时间开始,实际上不需要开始时间 + equOrder.setComplianceRate((reachStandard * 100/total) + "%");//达标率 // 是否存在报修单 boolean checkRepair = false; diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java index db8cbfc9..a9740ba9 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java @@ -255,12 +255,16 @@ public class EquOrderServiceImpl implements IEquOrderService { //照片格式 String imageType = "3"; List detailList = equOrder.getDetailList(); + Integer total = detailList.size();//总检查项数 + Integer reachStandard = detailList.size();//达标检查项数 一开始是百分百 // 处理检查项信息 for (EquOrderDetail detail : detailList) { // 获取标准列表 List standardList = detail.getStandardList(); // 处理标准信息 for (EquOrderStandard standard : standardList) { + //检查项是否达标的标志 + Boolean reachStandardFlag = Boolean.TRUE;//默认是达标的 //删除之前的图片,重新上传 equOrderStandardMapper.deleteBaseFileBySourceId(standard.getId(), imageType); //上传附件 @@ -290,16 +294,23 @@ public class EquOrderServiceImpl implements IEquOrderService { if (!(up != 1 && down != -1)) { hasError = true; standard.setDetailReach("0"); + reachStandardFlag = Boolean.FALSE; } } else { if (standard.getDetailReach().equals("0")) { hasError = true; + reachStandardFlag = Boolean.FALSE; } } //不达标 if(standard.getDetailReach().equals("0")){ orderDesc = orderDesc + detail.getItemName() + ":" + standard.getStandardName()+"不达标;"; } + + if(reachStandardFlag == Boolean.FALSE){ + reachStandard --;//如果检查项里面存在不合格的标准 那么该检查项不合格 + } + // 更新标准 standard.setUpdateTime(DateUtils.getNowDate()); equOrderStandardMapper.updateEquOrderStandard(standard); @@ -315,6 +326,7 @@ public class EquOrderServiceImpl implements IEquOrderService { equOrder.setPlanPerson(SecurityContextHolder.getUserName());// 设置负责人 equOrder.setOrderEnd(DateUtils.getNowDate());// 设置结束时间 equOrder.setOrderStart(DateUtils.getNowDate());// 设置检查时间开始,实际上不需要开始时间 + equOrder.setComplianceRate((reachStandard * 100/total) + "%");//达标率 if (equOrder.getTimeArray().size() > 0) { equOrder.setOrderStart(equOrder.getTimeArray().get(0));// 工单开始时间 equOrder.setOrderEnd(equOrder.getTimeArray().get(1));// 工单结束时间 @@ -521,7 +533,7 @@ public class EquOrderServiceImpl implements IEquOrderService { equOrderDetailMapper.delEquOrderDetailByorderIds(orderIds); // 逻辑删除备件信息 equSpareApplyMapper.delEquSpareApplyByorderIds(orderIds); - // 逻辑删除工单 + // 逻辑删除工单 应该是删除计划编码 equOrderMapper.delEquOrderByOrderIds(orderIds); return success(); } diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml index a15708eb..7f2cdcff 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml @@ -40,6 +40,7 @@ + @@ -56,7 +57,7 @@ plan_loop_start, plan_loop_end, order_start, order_end, equipment_code, order_status, order_cost, plan_person, plan_person_name, order_cost_time, order_sign_person, factory_code, attr1, attr2, attr3, del_flag, create_by, create_time, - update_by, update_time,upkeep,calculation_rule,shut_down,order_inspect,repair_code,work_code,outsource_code + update_by, update_time,upkeep,calculation_rule,shut_down,order_inspect,repair_code,work_code,outsource_code,compliance_rate from equ_order @@ -98,6 +99,7 @@ eo.repair_code, eo.work_code, eo.outsource_code, + eo.compliance_rate, be.equipment_name, ep.plan_name planName from equ_order eo @@ -338,6 +340,7 @@ work_code, plan_restrict, outsource_code, + compliance_rate, #{orderId}, @@ -377,6 +380,7 @@ #{workCode}, #{planRestrict}, #{outsourceCode}, + #{complianceRate}, @@ -418,6 +422,7 @@ repair_code = #{repairCode}, work_code = #{workCode}, outsource_code = #{outsourceCode}, + compliance_rate = #{complianceRate}, where order_id = #{orderId} @@ -434,7 +439,8 @@ - update equ_order set del_flag = '1' where order_id in + update equ_order set del_flag = '1' + where order_id in #{orderId}