2024-5-30 设备-维修-维修结果确认审核发送微信消息+保养换id

master
A0010407 1 year ago
parent 8ecedca10d
commit 23d59474b7

@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletResponse;
import com.op.device.domain.EquEquipment; import com.op.device.domain.EquEquipment;
import com.op.device.domain.EquTeamUser; import com.op.device.domain.EquTeamUser;
import com.op.device.domain.dto.UpKeepOrderDTO;
import com.op.device.service.IDevicePDAService; import com.op.device.service.IDevicePDAService;
import com.op.device.service.IEquOutsourceWorkService; import com.op.device.service.IEquOutsourceWorkService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -137,4 +138,16 @@ public class EquRepairWorkOrderController extends BaseController {
public AjaxResult queryEquFaultTypeTree(EquRepairWorkOrder equRepairWorkOrder) { public AjaxResult queryEquFaultTypeTree(EquRepairWorkOrder equRepairWorkOrder) {
return devicePDAService.queryEquFaultTypeTree(equRepairWorkOrder); return devicePDAService.queryEquFaultTypeTree(equRepairWorkOrder);
} }
/**
*
*
* @param upKeepOrderDTO
* @return
*/
@RequiresPermissions("device:repairOrder:inspect")
@PostMapping("/subInspect")
public AjaxResult subInspect(@RequestBody UpKeepOrderDTO upKeepOrderDTO) {
return equRepairWorkOrderService.subInspect(upKeepOrderDTO);
}
} }

@ -21,116 +21,119 @@ public class EquRepairWorkOrder extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Excel(name = "维修主键") @Excel(name = "维修主键")
private String workId;//主键 private String workId;
@Excel(name = "报修主键") @Excel(name = "报修主键")
private String orderId;//报修主键 private String orderId;
@Excel(name = "维修单号") @Excel(name = "维修单号")
private String workCode;//维修单号 private String workCode;
@Excel(name = "报修单号") @Excel(name = "报修单号")
private String orderCode;//报修单号 private String orderCode;
@Excel(name = "是否立即处理") @Excel(name = "是否立即处理")
private String workHandle;//是否立即处理 private String workHandle;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "计划维修时间", width = 30, dateFormat = "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") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "计划停机时间", width = 30, dateFormat = "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 = "关联计划") @Excel(name = "关联计划")
private String orderRelevance;//关联计划 private String orderRelevance;
@Excel(name = "维修人员") @Excel(name = "维修人员")
private String workPerson;//维修人员 private String workPerson;
@Excel(name = "维修组") @Excel(name = "维修组")
private String workTeam;//维修组 private String workTeam;
@Excel(name = "是否委外") @Excel(name = "是否委外")
private String workOutsource;//是否委外 private String workOutsource;
@Excel(name = "是否停机维修") @Excel(name = "是否停机维修")
private String workDownMachine;//是否停机维修 private String workDownMachine;
@Excel(name = "设备编码") @Excel(name = "设备编码")
private String equipmentCode;//设备编码 private String equipmentCode;
@Excel(name = "原因分析") @Excel(name = "原因分析")
private String workReason;//原因分析 private String workReason;
@Excel(name = "故障描述") @Excel(name = "故障描述")
private String workFaultDesc;//故障描述 private String workFaultDesc;
@Excel(name = "维修用时") @Excel(name = "维修用时")
private String workCostTime;//维修用时 private String workCostTime;
@Excel(name = "维修费用") @Excel(name = "维修费用")
private String workCost;//维修费用 private String workCost;
@Excel(name = "委外工单id") @Excel(name = "委外工单id")
private String outWorkId;//委外工单id private String outWorkId;
@Excel(name = "委外工单编码") @Excel(name = "委外工单编码")
private String outWorkCode;//委外工单编码 private String outWorkCode;
@Excel(name = "备用字段1") @Excel(name = "备用字段1")
private String attr1;//备用字段1 private String attr1;
@Excel(name = "备用字段2") @Excel(name = "备用字段2")
private String attr2;//备用字段2 private String attr2;
@Excel(name = "备用字段3") @Excel(name = "备用字段3")
private String attr3;//备用字段3 private String attr3;
@Excel(name = "删除标志") @Excel(name = "删除标志")
private String delFlag;//删除标志 private String delFlag;
@Excel(name = "工厂编码") @Excel(name = "工厂编码")
private String factoryCode;//工厂编码 private String factoryCode;
@Excel(name = "维修状态") @Excel(name = "维修状态")
private String workStatus;//维修状态 private String workStatus;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "维修开始时间", width = 30, dateFormat = "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") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "维修结束时间", width = 30, dateFormat = "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") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "维修实际开始时间", width = 30, dateFormat = "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") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "维修实际结束时间", width = 30, dateFormat = "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 = "联系方式") @Excel(name = "联系方式")
private String workConnection;//联系方式 private String workConnection;
@Excel(name = "故障类型") @Excel(name = "故障类型")
private String faultType;//故障类型 private String faultType;
@Excel(name = "设备状态描述") @Excel(name = "设备状态描述")
private String equipmentStatusDescription;//设备状态描述 private String equipmentStatusDescription;
@Excel(name = "维修措施") @Excel(name = "维修措施")
private String repairMeasures;//设备维修措施 private String repairMeasures;
@Excel(name = "故障停机时间") @Excel(name = "故障停机时间")
private String faultDownTime;//故障停机时间 private String faultDownTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "故障开始时间", width = 30, dateFormat = "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 = "设备名称") @Excel(name = "设备名称")
@ -600,6 +603,9 @@ public class EquRepairWorkOrder extends BaseEntity {
public Date getFaultStartTime() { return faultStartTime; } public Date getFaultStartTime() { return faultStartTime; }
public void setFaultStartTime(Date faultStartTime) { this.faultStartTime = 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) { public void setOutSourceReason(String outSourceReason) {
this.outSourceReason = outSourceReason; this.outSourceReason = outSourceReason;

@ -115,4 +115,7 @@ public interface EquRepairWorkOrderMapper {
* @return * @return
*/ */
public int updateEquipmentStatus(EquEquipment equEquipment); public int updateEquipmentStatus(EquEquipment equEquipment);
//更新结果检验
void updateResultInspect(EquRepairWorkOrder equRepairWorkOrder);
} }

@ -6,6 +6,7 @@ import com.op.common.core.web.domain.AjaxResult;
import com.op.device.domain.EquEquipment; import com.op.device.domain.EquEquipment;
import com.op.device.domain.EquRepairWorkOrder; import com.op.device.domain.EquRepairWorkOrder;
import com.op.device.domain.EquTeamUser; import com.op.device.domain.EquTeamUser;
import com.op.device.domain.dto.UpKeepOrderDTO;
/** /**
* Service * Service
@ -68,4 +69,7 @@ public interface IEquRepairWorkOrderService {
//委外申请 //委外申请
public int applyEquOutsourceWork(EquRepairWorkOrder equRepairWorkOrder); public int applyEquOutsourceWork(EquRepairWorkOrder equRepairWorkOrder);
//维修故障检验
AjaxResult subInspect(UpKeepOrderDTO upKeepOrderDTO);
} }

@ -20,6 +20,7 @@ import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.core.web.domain.AjaxResult; import com.op.common.core.web.domain.AjaxResult;
import com.op.common.security.utils.SecurityUtils; import com.op.common.security.utils.SecurityUtils;
import com.op.device.domain.*; import com.op.device.domain.*;
import com.op.device.domain.dto.UpKeepOrderDTO;
import com.op.device.mapper.*; import com.op.device.mapper.*;
import com.op.system.api.RemoteOpenService; import com.op.system.api.RemoteOpenService;
import com.op.system.api.domain.SysNoticeGroup; 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_", "")); equOutsourceWork.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", ""));
return equOutsourceWorkMapper.insertEquOutsourceWork(equOutsourceWork); return equOutsourceWorkMapper.insertEquOutsourceWork(equOutsourceWork);
} }
/**
*
*
* @param upKeepOrderDTO
* @return
*/
@Override
@DS("#header.poolName")
public AjaxResult subInspect(UpKeepOrderDTO upKeepOrderDTO) {
List<String> 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<String> 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<SysNoticeGroup> notices = equRepairOrderMapper.getNoticesGroup(noticeQo);
if(!CollectionUtils.isEmpty(notices)) {
List<WechartDTO> wecharts = new ArrayList<>();
List<String> 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();
}
} }

@ -289,7 +289,7 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService {
//发企业微信--------------------开始(跟班组有关) //发企业微信--------------------开始(跟班组有关)
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy.MM.dd HH:mm:ss"); //规范时间格式 SimpleDateFormat myFmt=new SimpleDateFormat("yyyy.MM.dd HH:mm:ss"); //规范时间格式
SysNoticeGroup noticeQo = new SysNoticeGroup(); SysNoticeGroup noticeQo = new SysNoticeGroup();
noticeQo.setNoticeId(13L); noticeQo.setNoticeId(18L);
EquTeamUser equTeamUser = new EquTeamUser(); EquTeamUser equTeamUser = new EquTeamUser();
equTeamUser.setUserName(SecurityUtils.getUsername()); equTeamUser.setUserName(SecurityUtils.getUsername());
EquTeamUser equTeamUser1 = equRepairOrderMapper.getRepairPhoneNumber(equTeamUser); EquTeamUser equTeamUser1 = equRepairOrderMapper.getRepairPhoneNumber(equTeamUser);

@ -45,6 +45,7 @@
<result property="repairMeasures" column="repair_measures"/> <result property="repairMeasures" column="repair_measures"/>
<result property="faultDownTime" column="fault_down_time"/> <result property="faultDownTime" column="fault_down_time"/>
<result property="faultStartTime" column="fault_start_time"/> <result property="faultStartTime" column="fault_start_time"/>
<result property="resultInspect" column="result_inspect"/>
<!--设备--> <!--设备-->
<result property="equipmentName" column="equipment_name"/> <result property="equipmentName" column="equipment_name"/>
@ -90,7 +91,7 @@
</sql> </sql>
<sql id="selectEquRepairWorkOrderVo"> <sql id="selectEquRepairWorkOrderVo">
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
</sql> </sql>
<select id="selectEquRepairWorkOrderList" parameterType="EquRepairWorkOrder" resultMap="EquRepairWorkOrderResult"> <select id="selectEquRepairWorkOrderList" parameterType="EquRepairWorkOrder" resultMap="EquRepairWorkOrderResult">
@ -134,6 +135,7 @@
erwo.repair_measures, erwo.repair_measures,
erwo.fault_down_time, erwo.fault_down_time,
erwo.fault_start_time, erwo.fault_start_time,
erwo.result_inspect,
be.equipment_name, be.equipment_name,
et.team_name, et.team_name,
et.team_person et.team_person
@ -231,6 +233,7 @@
erwo.repair_measures, erwo.repair_measures,
erwo.fault_down_time, erwo.fault_down_time,
erwo.fault_start_time, erwo.fault_start_time,
erwo.result_inspect,
be.equipment_name, be.equipment_name,
et.team_name, et.team_name,
et.team_person et.team_person
@ -283,6 +286,7 @@
erwo.repair_measures, erwo.repair_measures,
erwo.fault_down_time, erwo.fault_down_time,
erwo.fault_start_time, erwo.fault_start_time,
erwo.result_inspect,
be.equipment_name, be.equipment_name,
be.equipment_spec, be.equipment_spec,
be.equipment_type_name, be.equipment_type_name,
@ -351,6 +355,7 @@
<if test="repairMeasures != null">repair_measures,</if> <if test="repairMeasures != null">repair_measures,</if>
<if test="faultDownTime != null">fault_down_time,</if> <if test="faultDownTime != null">fault_down_time,</if>
<if test="faultStartTime != null">fault_start_time,</if> <if test="faultStartTime != null">fault_start_time,</if>
<if test="resultInspect != null">result_inspect,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="workId != null">#{workId},</if> <if test="workId != null">#{workId},</if>
@ -392,6 +397,7 @@
<if test="repairMeasures != null">#{repairMeasures},</if> <if test="repairMeasures != null">#{repairMeasures},</if>
<if test="faultDownTime != null">#{faultDownTime},</if> <if test="faultDownTime != null">#{faultDownTime},</if>
<if test="faultStartTime != null">#{faultStartTime},</if> <if test="faultStartTime != null">#{faultStartTime},</if>
<if test="resultInspect != null">#{resultInspect},</if>
</trim> </trim>
</insert> </insert>
@ -441,6 +447,13 @@
and del_flag = '0' and del_flag = '0'
</update> </update>
<update id="updateResultInspect" parameterType="EquRepairWorkOrder">
update equ_repair_work_order
set
result_inspect = #{resultInspect}
where work_id = #{workId}
</update>
<update id="updateWorkOutsource" parameterType="EquRepairWorkOrder"> <update id="updateWorkOutsource" parameterType="EquRepairWorkOrder">
update equ_repair_work_order update equ_repair_work_order
set set

Loading…
Cancel
Save