diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/EquRepairWorkOrderController.java b/op-modules/op-device/src/main/java/com/op/device/controller/EquRepairWorkOrderController.java index 706ab5e1e..a273dfde4 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/EquRepairWorkOrderController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/EquRepairWorkOrderController.java @@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletResponse; import com.op.device.domain.EquEquipment; import com.op.device.domain.EquTeamUser; +import com.op.device.domain.dto.UpKeepOrderDTO; import com.op.device.service.IDevicePDAService; import com.op.device.service.IEquOutsourceWorkService; import org.springframework.beans.factory.annotation.Autowired; @@ -137,4 +138,16 @@ public class EquRepairWorkOrderController extends BaseController { public AjaxResult queryEquFaultTypeTree(EquRepairWorkOrder equRepairWorkOrder) { return devicePDAService.queryEquFaultTypeTree(equRepairWorkOrder); } + + /** + * 维修工单检验 传参数用保养的对象 + * + * @param upKeepOrderDTO + * @return + */ + @RequiresPermissions("device:repairOrder:inspect") + @PostMapping("/subInspect") + public AjaxResult subInspect(@RequestBody UpKeepOrderDTO upKeepOrderDTO) { + return equRepairWorkOrderService.subInspect(upKeepOrderDTO); + } } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairWorkOrder.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairWorkOrder.java index f5f077037..79add390a 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairWorkOrder.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairWorkOrder.java @@ -21,116 +21,119 @@ public class EquRepairWorkOrder extends BaseEntity { private static final long serialVersionUID = 1L; @Excel(name = "维修主键") - private String workId;//主键 + private String workId; @Excel(name = "报修主键") - private String orderId;//报修主键 + private String orderId; @Excel(name = "维修单号") - private String workCode;//维修单号 + private String workCode; @Excel(name = "报修单号") - private String orderCode;//报修单号 + private String orderCode; @Excel(name = "是否立即处理") - private String workHandle;//是否立即处理 + private String workHandle; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "计划维修时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") - private Date workPlanTime;//计划维修时间 + private Date workPlanTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "计划停机时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") - private Date workPlanDownTime;//计划停机时间 + private Date workPlanDownTime; @Excel(name = "关联计划") - private String orderRelevance;//关联计划 + private String orderRelevance; @Excel(name = "维修人员") - private String workPerson;//维修人员 + private String workPerson; @Excel(name = "维修组") - private String workTeam;//维修组 + private String workTeam; @Excel(name = "是否委外") - private String workOutsource;//是否委外 + private String workOutsource; @Excel(name = "是否停机维修") - private String workDownMachine;//是否停机维修 + private String workDownMachine; @Excel(name = "设备编码") - private String equipmentCode;//设备编码 + private String equipmentCode; @Excel(name = "原因分析") - private String workReason;//原因分析 + private String workReason; @Excel(name = "故障描述") - private String workFaultDesc;//故障描述 + private String workFaultDesc; @Excel(name = "维修用时") - private String workCostTime;//维修用时 + private String workCostTime; @Excel(name = "维修费用") - private String workCost;//维修费用 + private String workCost; @Excel(name = "委外工单id") - private String outWorkId;//委外工单id + private String outWorkId; @Excel(name = "委外工单编码") - private String outWorkCode;//委外工单编码 + private String outWorkCode; @Excel(name = "备用字段1") - private String attr1;//备用字段1 + private String attr1; @Excel(name = "备用字段2") - private String attr2;//备用字段2 + private String attr2; @Excel(name = "备用字段3") - private String attr3;//备用字段3 + private String attr3; @Excel(name = "删除标志") - private String delFlag;//删除标志 + private String delFlag; @Excel(name = "工厂编码") - private String factoryCode;//工厂编码 + private String factoryCode; @Excel(name = "维修状态") - private String workStatus;//维修状态 + private String workStatus; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "维修开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") - private Date workStartTime;//维修开始时间 + private Date workStartTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "维修结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") - private Date workEndTime;//维修结束时间 + private Date workEndTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "维修实际开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") - private Date actualDownStartTime;//维修停机真正开始时间 + private Date actualDownStartTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "维修实际结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") - private Date actualDownEndTime;//维修停机真正开始时间 + private Date actualDownEndTime; @Excel(name = "联系方式") - private String workConnection;//联系方式 + private String workConnection; @Excel(name = "故障类型") - private String faultType;//故障类型 + private String faultType; @Excel(name = "设备状态描述") - private String equipmentStatusDescription;//设备状态描述 + private String equipmentStatusDescription; @Excel(name = "维修措施") - private String repairMeasures;//设备维修措施 + private String repairMeasures; @Excel(name = "故障停机时间") - private String faultDownTime;//故障停机时间 + private String faultDownTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "故障开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") - private Date faultStartTime;//故障开始时间 + private Date faultStartTime; + + @Excel(name = "结果检验") + private String resultInspect; /////////////////////////////////////////////////////////设备表字段 @Excel(name = "设备名称") @@ -600,6 +603,9 @@ public class EquRepairWorkOrder extends BaseEntity { public Date getFaultStartTime() { return faultStartTime; } public void setFaultStartTime(Date faultStartTime) { this.faultStartTime = faultStartTime; } + public String getResultInspect() { return resultInspect; } + public void setResultInspect(String resultInspect) { this.resultInspect = resultInspect; } + //委外 public void setOutSourceReason(String outSourceReason) { this.outSourceReason = outSourceReason; diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairWorkOrderMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairWorkOrderMapper.java index 24f63c7bb..a912acfa7 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairWorkOrderMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairWorkOrderMapper.java @@ -115,4 +115,7 @@ public interface EquRepairWorkOrderMapper { * @return */ public int updateEquipmentStatus(EquEquipment equEquipment); + + //更新结果检验 + void updateResultInspect(EquRepairWorkOrder equRepairWorkOrder); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IEquRepairWorkOrderService.java b/op-modules/op-device/src/main/java/com/op/device/service/IEquRepairWorkOrderService.java index 72efe063f..2aa7998a4 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IEquRepairWorkOrderService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IEquRepairWorkOrderService.java @@ -6,6 +6,7 @@ import com.op.common.core.web.domain.AjaxResult; import com.op.device.domain.EquEquipment; import com.op.device.domain.EquRepairWorkOrder; import com.op.device.domain.EquTeamUser; +import com.op.device.domain.dto.UpKeepOrderDTO; /** * 维修工单Service接口 @@ -68,4 +69,7 @@ public interface IEquRepairWorkOrderService { //委外申请 public int applyEquOutsourceWork(EquRepairWorkOrder equRepairWorkOrder); + + //维修故障检验 + AjaxResult subInspect(UpKeepOrderDTO upKeepOrderDTO); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java index e485c1b95..1abbc193e 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java @@ -20,6 +20,7 @@ import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.web.domain.AjaxResult; import com.op.common.security.utils.SecurityUtils; import com.op.device.domain.*; +import com.op.device.domain.dto.UpKeepOrderDTO; import com.op.device.mapper.*; import com.op.system.api.RemoteOpenService; import com.op.system.api.domain.SysNoticeGroup; @@ -557,4 +558,99 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService equOutsourceWork.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", "")); return equOutsourceWorkMapper.insertEquOutsourceWork(equOutsourceWork); } + + /** + * 维修工单检验 + * + * @param upKeepOrderDTO + * @return + */ + @Override + @DS("#header.poolName") + public AjaxResult subInspect(UpKeepOrderDTO upKeepOrderDTO) { + List ids = upKeepOrderDTO.getIds(); + for (String id : ids) { + EquRepairWorkOrder equRepairWorkOrder = new EquRepairWorkOrder(); + equRepairWorkOrder.setWorkId(id); + String resultInspect = upKeepOrderDTO.getInspect(); + equRepairWorkOrder.setResultInspect(resultInspect); + equRepairWorkOrderMapper.updateResultInspect(equRepairWorkOrder); + } + + String workCodes = ""; + List list = upKeepOrderDTO.getOrderCodes(); + for (String workCode : list) { + workCodes = workCode + "、" + workCodes ; + } + + String inspect = ""; + if(upKeepOrderDTO.getInspect().equals("0")){ + inspect = "不通过" ; + }else if(upKeepOrderDTO.getInspect().equals("1")){ + inspect = "通过" ; + }else{ + inspect = "待检验" ; + } + + //发企业微信--------------------开始(跟班组有关) + SimpleDateFormat myFmt=new SimpleDateFormat("yyyy.MM.dd HH:mm:ss"); + //规范时间格式 + SysNoticeGroup noticeQo = new SysNoticeGroup(); + noticeQo.setNoticeId(17L); + EquTeamUser equTeamUser = new EquTeamUser(); + equTeamUser.setUserName(SecurityUtils.getUsername()); + EquTeamUser equTeamUser1 = equRepairOrderMapper.getRepairPhoneNumber(equTeamUser); + Integer number = ids.size(); //个数 + List notices = equRepairOrderMapper.getNoticesGroup(noticeQo); + if(!CollectionUtils.isEmpty(notices)) { + List wecharts = new ArrayList<>(); + List userCodes = notices.stream() + .map(SysNoticeGroup::getUserCode) + .collect(Collectors.toList()); + for (SysNoticeGroup noticeDto : notices) { + WechartDTO wechart0 = new WechartDTO(); + wechart0.setUserId(noticeDto.getWxId()); + String contentInfo = noticeDto.getNoticeContent(); + contentInfo = contentInfo + .replace("${n}", "\n") + .replace("${number}", number.toString()) + .replace("${result}", inspect + "\n") + .replace("${checkTime}", myFmt.format(DateUtils.getNowDate())+"\n") + ; + + //工单号 + if(StringUtils.isNotEmpty(workCodes)){ + contentInfo = contentInfo.replace("${workCodes}", workCodes +"\n"); + }else{ + contentInfo = contentInfo.replace("${workCodes}", "无"+"\n"); + } + + //检查人 + if(StringUtils.isNotEmpty(equTeamUser1.getNickName())){ + contentInfo = contentInfo.replace("${checkPeople}", equTeamUser1.getNickName()+"\n"); + }else{ + contentInfo = contentInfo.replace("${checkPeople}", "无"+"\n"); + } + + Pattern p= Pattern.compile("<[^>]+>"); + Matcher m = p.matcher(contentInfo); + contentInfo = m.replaceAll(""); + System.out.println(contentInfo); + + wechart0.setText(contentInfo); + wecharts.add(wechart0); + } + logger.info("维修结果检验企业微信提醒请求:" + JSONObject.toJSONString(wecharts)); + if (!CollectionUtils.isEmpty(wecharts)) { + + new Thread(() -> { + AjaxResult wxresult = remoteOpenService.sendWeChartMessage(wecharts); + logger.info("维修结果检验企业微信提醒结果:" + JSONObject.toJSONString(wxresult)); + + }).start(); + } + //发企业微信--------------------结束 + } + return success(); + } } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java index 5c6c1069a..d11e88b13 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java @@ -289,7 +289,7 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { //发企业微信--------------------开始(跟班组有关) SimpleDateFormat myFmt=new SimpleDateFormat("yyyy.MM.dd HH:mm:ss"); //规范时间格式 SysNoticeGroup noticeQo = new SysNoticeGroup(); - noticeQo.setNoticeId(13L); + noticeQo.setNoticeId(18L); EquTeamUser equTeamUser = new EquTeamUser(); equTeamUser.setUserName(SecurityUtils.getUsername()); EquTeamUser equTeamUser1 = equRepairOrderMapper.getRepairPhoneNumber(equTeamUser); diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquRepairWorkOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquRepairWorkOrderMapper.xml index 2feac9739..c36427d8e 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquRepairWorkOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquRepairWorkOrderMapper.xml @@ -45,6 +45,7 @@ + @@ -90,7 +91,7 @@ - select work_id, order_id, order_code, work_code,work_handle, work_plan_time, work_plan_down_time, order_relevance, work_person, work_team, work_outsource, work_down_machine, equipment_code, work_reason, work_fault_desc, work_start_time,work_end_time,work_cost_time, work_cost, work_status,out_work_id, out_work_code, attr1, attr2, attr3, create_by, create_time, update_time, update_by, del_flag, factory_code , fault_type , equipment_status_description , repair_measures , fault_down_time , fault_start_time from equ_repair_work_order + select work_id, order_id, order_code, work_code,work_handle, work_plan_time, work_plan_down_time, order_relevance, work_person, work_team, work_outsource, work_down_machine, equipment_code, work_reason, work_fault_desc, work_start_time,work_end_time,work_cost_time, work_cost, work_status,out_work_id, out_work_code, attr1, attr2, attr3, create_by, create_time, update_time, update_by, del_flag, factory_code , fault_type , equipment_status_description , repair_measures , fault_down_time , fault_start_time ,result_inspect from equ_repair_work_order @@ -148,4 +148,9 @@ and equipment_name like concat('%', #{lineName}, '%') + diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesLineProcessMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesLineProcessMapper.xml index ebda3ea32..81e67e1f3 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesLineProcessMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesLineProcessMapper.xml @@ -75,7 +75,7 @@ diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java index bf423908f..2eeb607a9 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java @@ -839,7 +839,18 @@ public class QcCheckTaskIncomeServiceImpl implements //发企业微信--------------------开始(跟班组有关) SysNoticeGroup noticeQo = new SysNoticeGroup(); - noticeQo.setNoticeId(9L); + if(qcCheckTaskIncome.getCheckType().equals("checkTypeLL")){ + noticeQo.setNoticeId(9L); + }else if(qcCheckTaskIncome.getCheckType().equals("checkTypeSC")){ + noticeQo.setNoticeId(13L); + }else if(qcCheckTaskIncome.getCheckType().equals("checkTypeSCXJ")){ + noticeQo.setNoticeId(14L); + }else if(qcCheckTaskIncome.getCheckType().equals("checkTypeCP")){ + noticeQo.setNoticeId(15L); + }else if(qcCheckTaskIncome.getCheckType().equals("checkTypeCPPC")){ + noticeQo.setNoticeId(16L); + } + List notices = qcCheckTaskIncomeMapper.getNoticesGroup(noticeQo); if(!CollectionUtils.isEmpty(notices)) { List wecharts = new ArrayList<>(); @@ -852,16 +863,22 @@ public class QcCheckTaskIncomeServiceImpl implements .replace("${checkNo}", qcCheckTaskIncome.getCheckNo()+"\n") .replace("${supplierName}", qcCheckTaskIncome.getSupplierName()+"\n") .replace("${quality}", qcCheckTaskIncome.getQuality()+"\n"); + if(StringUtils.isNotBlank(qcCheckTaskIncome.getIncomeBatchNo())){ + contentInfo = contentInfo.replace("${incomeBatchNo}", qcCheckTaskIncome.getIncomeBatchNo()+"\n"); + } + if(StringUtils.isNotBlank(qcCheckTaskIncome.getOrderNo())){ + contentInfo = contentInfo.replace("${orderNo}", qcCheckTaskIncome.getOrderNo()+"\n"); + } Matcher m = p2.matcher(contentInfo); contentInfo = m.replaceAll(""); wechart0.setText(contentInfo); wecharts.add(wechart0); } - logger.info("来料检验企业微信提醒请求:" + JSONObject.toJSONString(wecharts)); + logger.info("检验企业微信提醒请求:" + JSONObject.toJSONString(wecharts)); if (!CollectionUtils.isEmpty(wecharts)) { new Thread(() -> { AjaxResult wxresult = remoteOpenService.sendWeChartMessage(wecharts); - logger.info("来料检验企业微信提醒结果:" + JSONObject.toJSONString(wxresult)); + logger.info("检验企业微信提醒结果:" + JSONObject.toJSONString(wxresult)); }).start(); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java index dc05d8f76..df29b6448 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java @@ -229,7 +229,7 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService //发起来料检验OA流程 Map paramMap = new HashMap<>(); - paramMap.put("user",SecurityUtils.getUsername());//提交人工号qcCheckTaskIncome.getUpdateBy() + paramMap.put("user",task.getUser());//提交人工号qcCheckTaskIncome.getUpdateBy() paramMap.put("requestLevel",0);//流程紧急度 paramMap.put("requestName","ZL0020-成品检验控制流程");//流程名称 paramMap.put("workflowId",26234);//该流程对应的唯- workFlowld @@ -237,8 +237,8 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService StringBuffer mainObject = new StringBuffer(); mainObject.append("{"); mainObject.append("\"SSCJ\":"+"\""+detailInfo.getSupplierName()+"\"");//所属车间 - mainObject.append(",\"ZRPSN\":"+"\""+SecurityUtils.getUsername()+"\"");//报检人 - mainObject.append(",\"OEM\":"+"\""+detailInfo.getFactoryCode()+"\"");//OEM厂名 + mainObject.append(",\"ZRPSN\":"+"\""+task.getSqr()+"\"");//报检人 + mainObject.append(",\"OEM\":"+"\""+task.getOaFactory()+"\"");//OEM厂名 mainObject.append(",\"DH\":"+"\""+detailInfo.getOrderNo()+"\"");//单号 mainObject.append(",\"MEMO01\":"+"\""+task.getRemark()+"\"");//不合格情况描述 mainObject.append("}");