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.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);
}
}

@ -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;

@ -115,4 +115,7 @@ public interface EquRepairWorkOrderMapper {
* @return
*/
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.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);
}

@ -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<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"); //规范时间格式
SysNoticeGroup noticeQo = new SysNoticeGroup();
noticeQo.setNoticeId(13L);
noticeQo.setNoticeId(18L);
EquTeamUser equTeamUser = new EquTeamUser();
equTeamUser.setUserName(SecurityUtils.getUsername());
EquTeamUser equTeamUser1 = equRepairOrderMapper.getRepairPhoneNumber(equTeamUser);

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

Loading…
Cancel
Save