设备异常描述与设备类型绑定修改

master
Yangwl 4 weeks ago
parent ff3c880528
commit e587614c3f

@ -1,6 +1,9 @@
package com.op.device.controller;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
@ -63,7 +66,14 @@ public class EquFaultDescriptionController extends BaseController {
@RequiresPermissions("device:faultDescription:query")
@GetMapping(value = "/{faultId}")
public AjaxResult getInfo(@PathVariable("faultId") String faultId) {
return success(equFaultDescriptionService.selectEquFaultDescriptionByFaultId(faultId));
AjaxResult ajaxResult = AjaxResult.success();
EquFaultDescription EquFaultDescriptionInfo= equFaultDescriptionService.selectEquFaultDescriptionByFaultId(faultId);
ajaxResult.put("info",EquFaultDescriptionInfo);
// List<String> arry = equFaultDescriptionService.selectFaultdesDictByfaultIds(faultId);
ajaxResult.put("dictValues", equFaultDescriptionService.selectFaultdesDictByfaultIds(faultId));
// return success(equFaultDescriptionService.selectEquFaultDescriptionByFaultId(faultId));
return ajaxResult;
}
/**

@ -93,6 +93,17 @@ public class EquFaultDescription extends BaseEntity {
// 创建日期结束
private String createTimeEnd;
/** 设备类型组 */
private String[] dictValues;
public String[] getDictValues() {
return dictValues;
}
public void setDictValues(String[] dictValues) {
this.dictValues = dictValues;
}
public void setFaultId(String faultId) {
this.faultId = faultId;
}

@ -0,0 +1,22 @@
package com.op.device.domain;
public class EquFaultdesDict {
private String faultId;
private String dictValue;
public String getFaultId() {
return faultId;
}
public void setFaultId(String faultId) {
this.faultId = faultId;
}
public String getDictValue() {
return dictValue;
}
public void setDictValue(String dictValue) {
this.dictValue = dictValue;
}
}

@ -23,6 +23,9 @@ public class EquOperation extends BaseEntity {
*/
private String id;
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date createTime;
/**
*
*/
@ -125,6 +128,11 @@ public class EquOperation extends BaseEntity {
@Excel(name = "工厂")
private String factoryCode;
/**
* 1
*/
@ -192,6 +200,16 @@ public class EquOperation extends BaseEntity {
private String poolName;
@Override
public Date getCreateTime() {
return createTime;
}
@Override
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getCreateTimeStart() {
return createTimeStart;
}

@ -4,6 +4,7 @@ import java.util.List;
import com.op.device.domain.EquFaultDescription;
import com.op.device.domain.EquFaultType;
import com.op.device.domain.EquFaultdesDict;
/**
* Mapper
@ -63,4 +64,12 @@ public interface EquFaultDescriptionMapper {
int selectSerialNumber();
List<EquFaultDescription> selectFaultDescriptionList(EquFaultDescription equFaultDescription);
void deleteFaultdesDictByfaultId(String faultId);
void batchFaultdesDict(List<EquFaultdesDict> list);
void deleteFaultdesDictByfaultIds(String[] faultIds);
List<String> selectFaultdesDictByfaultId(String faultId);
}

@ -1,6 +1,7 @@
package com.op.device.mapper;
import java.util.List;
import java.util.Map;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.device.domain.EquOperation;
@ -93,4 +94,6 @@ public interface EquOperationMapper {
* @return
*/
public EquOperation selectEquipmentIntegrityRate(@Param("time") String time, @Param("equipmentCode") String equipmentCode);
String getInfoByUserName(String part);
}

@ -59,4 +59,6 @@ public interface IEquFaultDescriptionService {
* @return
*/
public int deleteEquFaultDescriptionByFaultId(String faultId);
List<String> selectFaultdesDictByfaultIds(String faultId);
}

@ -1,14 +1,17 @@
package com.op.device.service.impl;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.context.SecurityContextHolder;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.StringUtils;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.core.web.domain.AjaxResult;
import com.op.device.domain.EquFaultType;
import com.op.device.domain.EquFaultdesDict;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.op.device.mapper.EquFaultDescriptionMapper;
@ -112,6 +115,7 @@ public class EquFaultDescriptionServiceImpl implements IEquFaultDescriptionServi
equFaultDescription.setUpdateBy(SecurityContextHolder.getUserName());
equFaultDescription.setUpdateTime(DateUtils.getNowDate());
equFaultDescriptionMapper.insertEquFaultDescription(equFaultDescription);
this.insertFaultdesDict(equFaultDescription);
return success("新增故障描述成功!");
}
@ -140,9 +144,35 @@ public class EquFaultDescriptionServiceImpl implements IEquFaultDescriptionServi
equFaultDescription.setUpdateTime(DateUtils.getNowDate());
// 插入数据库
equFaultDescriptionMapper.updateEquFaultDescription(equFaultDescription);
String faultId = equFaultDescription.getFaultId();
// 删除关联
equFaultDescriptionMapper.deleteFaultdesDictByfaultId(faultId);
// 新增关联
insertFaultdesDict(equFaultDescription);
return success("修改成功!");
}
public void insertFaultdesDict(EquFaultDescription equFaultDescription) {
this.insertFaultdesDict(equFaultDescription, equFaultDescription.getDictValues());
}
/**
*
*
* @param equFaultDescription
*/
public void insertFaultdesDict(EquFaultDescription equFaultDescription,String[] dictValues) {
if (StringUtils.isNotEmpty(dictValues)) {
// 新增用户与岗位管理
List<EquFaultdesDict> list = new ArrayList<EquFaultdesDict>();
for (String dictValue : dictValues) {
EquFaultdesDict up = new EquFaultdesDict();
up.setFaultId(equFaultDescription.getFaultId());
up.setDictValue(dictValue);
list.add(up);
}
equFaultDescriptionMapper.batchFaultdesDict(list);
}
}
/**
*
*
@ -152,6 +182,8 @@ public class EquFaultDescriptionServiceImpl implements IEquFaultDescriptionServi
@Override
@DS("#header.poolName")
public int deleteEquFaultDescriptionByFaultIds(String[] faultIds) {
// 删除用户与岗位关联
equFaultDescriptionMapper.deleteFaultdesDictByfaultIds(faultIds);
return equFaultDescriptionMapper.deleteEquFaultDescriptionByFaultIds(faultIds);
}
@ -164,6 +196,13 @@ public class EquFaultDescriptionServiceImpl implements IEquFaultDescriptionServi
@Override
@DS("#header.poolName")
public int deleteEquFaultDescriptionByFaultId(String faultId) {
equFaultDescriptionMapper.deleteFaultdesDictByfaultId(faultId);
return equFaultDescriptionMapper.deleteEquFaultDescriptionByFaultId(faultId);
}
@Override
@DS("#header.poolName")
public List<String> selectFaultdesDictByfaultIds(String faultId) {
return equFaultDescriptionMapper.selectFaultdesDictByfaultId(faultId);
}
}

@ -5,6 +5,7 @@ import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.Map;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.utils.DateUtils;
@ -56,7 +57,21 @@ public class EquOperationServiceImpl implements IEquOperationService {
equOperation.setCreateTimeEnd(formatter.format(equOperation.getCreateTimeArray().get(1)));
}
}
return equOperationMapper.selectEquOperationList(equOperation);
List<EquOperation> operationList = equOperationMapper.selectEquOperationList(equOperation);
if (operationList != null && operationList.size() > 0){
for (EquOperation operation:operationList) {
if (operation.getRepairPerson() != null){
String[] parts = operation.getRepairPerson().split(";");
String names = "";
for (String part : parts) {
String name=equOperationMapper.getInfoByUserName(part);
names = names+name+";";
}
operation.setRepairPerson(names);
}
}
}
return operationList;
}
/**

@ -519,24 +519,24 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService
String GZCS = equOperation.getHandlingMethod();//维修措施
String WXR = equOperation.getRepairPerson();//维修人
if (GZMS != null) {
equOperation.setFailureDescription(GZMS + formattedDate + ":" + equRepairWorkOrder.getWorkFaultDesc() + ";");
equOperation.setFailureDescription(GZMS + equRepairWorkOrder.getWorkFaultDesc() + ";");
} else {
equOperation.setFailureDescription(formattedDate + ":" + equRepairWorkOrder.getWorkFaultDesc() + ";");
equOperation.setFailureDescription(equRepairWorkOrder.getWorkFaultDesc() + ";");
}
if (GZYY != null) {
equOperation.setReasonAnalyze(GZYY + formattedDate + ":" + equRepairWorkOrder.getWorkReason() + ";");
equOperation.setReasonAnalyze(GZYY + equRepairWorkOrder.getWorkReason() + ";");
} else {
equOperation.setReasonAnalyze(formattedDate + ":" + equRepairWorkOrder.getWorkReason() + ";");
equOperation.setReasonAnalyze(equRepairWorkOrder.getWorkReason() + ";");
}
if (GZCS != null) {
equOperation.setHandlingMethod(GZCS + formattedDate + ":" + equRepairWorkOrder.getRepairMeasures() + ";");
equOperation.setHandlingMethod(GZCS + equRepairWorkOrder.getRepairMeasures() + ";");
} else {
equOperation.setHandlingMethod(formattedDate + ":" + equRepairWorkOrder.getRepairMeasures() + ";");
equOperation.setHandlingMethod(equRepairWorkOrder.getRepairMeasures() + ";");
}
if (WXR != null) {
equOperation.setRepairPerson(WXR + formattedDate + ":" + equRepairWorkOrder.getWorkPerson() + ";");
equOperation.setRepairPerson(WXR + equRepairWorkOrder.getWorkPerson() + ";");
} else {
equOperation.setRepairPerson(formattedDate + ":" + equRepairWorkOrder.getWorkPerson() + ";");
equOperation.setRepairPerson(equRepairWorkOrder.getWorkPerson() + ";");
}
}
//当获取的设备运行记录为空的时候,代表没有生成,这块让上位机卡住 todo

@ -91,6 +91,12 @@
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<insert id="batchFaultdesDict">
insert into equ_faultdes_dict(fault_id, dict_value) values
<foreach item="item" index="index" collection="list" separator=",">
(#{item.faultId},#{item.dictValue})
</foreach>
</insert>
<update id="updateEquFaultDescription" parameterType="EquFaultDescription">
update equ_fault_description
@ -122,10 +128,27 @@
#{faultId}
</foreach>
</delete>
<delete id="deleteFaultdesDictByfaultId" parameterType="String">
delete from equ_faultdes_dict where fault_id=#{faultId}
</delete>
<delete id="deleteFaultdesDictByfaultIds" parameterType="String">
delete from equ_faultdes_dict where fault_id in
<foreach collection="array" item="faultId" open="(" separator="," close=")">
#{faultId}
</foreach>
</delete>
<select id="selectSerialNumber" resultType="java.lang.Integer">
SELECT COUNT(fault_id)+1 AS serialNum
FROM equ_fault_description
WHERE del_flag = '0'
</select>
<select id="selectFaultdesDictByfaultId" resultType="java.lang.String">
select up.dict_value
from equ_fault_description p
left join equ_faultdes_dict up on up.fault_id = p.fault_id
where p.fault_id = #{faultId}
</select>
</mapper>

@ -85,7 +85,7 @@
</if>
<if test="reasonAnalyze != null and reasonAnalyze != ''">and reason_analyze = #{reasonAnalyze}</if>
<if test="handlingMethod != null and handlingMethod != ''">and handling_method = #{handlingMethod}</if>
<if test="repairPerson != null and repairPerson != ''">and repair_person concat('%', #{repairPerson},
<if test="repairPerson != null and repairPerson != ''">and repair_person like concat('%', #{repairPerson},
'%')
</if>
<if test="equStatusDes != null and equStatusDes != ''">and equ_status_des = #{equStatusDes}</if>
@ -279,5 +279,7 @@
and equipment_code = #{equipmentCode}
and del_flag = '0'
</select>
<select id="getInfoByUserName" resultType="java.lang.String" parameterType="java.lang.String">
SELECT nick_name from lanju_op_cloud.dbo.sys_user where user_name = #{part} and del_flag =0
</select>
</mapper>

@ -115,7 +115,7 @@
<include refid="selectEquRepairOrderVo"/>
<where>
<if test="orderCode != null and orderCode != ''">and order_code like concat('%', #{orderCode}, '%')</if>
<if test="equipmentCode != null and equipmentCode != ''">and equipment_code like concat('%',#{equipmentCode}, '%')</if>
<if test="equipmentCode != null and equipmentCode != ''">and ero.equipment_code like concat('%',#{equipmentCode}, '%')</if>
<if test="orderDesc != null and orderDesc != ''">and order_desc like concat('%', #{orderDesc}, '%')</if>
<!--故障开始时间 结束时间-->
<if test="orderBreakdownTimeStart != null ">and CONVERT(date,order_breakdown_time) >= #{orderBreakdownTimeStart}</if>

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>op-modules</artifactId>
<groupId>com.op</groupId>
<version>0.0.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>op-printservice</artifactId>
</project>

@ -0,0 +1,29 @@
package com.op.quality.controller;
import com.op.common.core.web.controller.BaseController;
import com.op.common.core.web.domain.AjaxResult;
import com.op.quality.service.QcCheckWechartService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
*
*
* @author YangWANLI
* @date 2025-04-19
*/
@RestController
@RequestMapping("/qualityWechart")
public class QcCheckWechartController extends BaseController {
@Autowired
private QcCheckWechartService qcCheckWechartService;
//查询前一天包材、成品质检信息
@GetMapping("/qualityCheckInfoByday")
public AjaxResult qualityCheckInfoByday() {
return AjaxResult.success(qcCheckWechartService.qualityCheckInfoByday());
}
}

@ -0,0 +1,10 @@
package com.op.quality.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.Map;
@Mapper
public interface QcCheckWechartMapper {
Map qualityCheckInfoByday();
}

@ -0,0 +1,8 @@
package com.op.quality.service;
import java.util.Map;
public interface QcCheckWechartService {
Map qualityCheckInfoByday();
}

@ -75,12 +75,16 @@ public class QcCheckSampleTaskServiceImpl implements IQcCheckSampleTaskService {
public AjaxResult createCheckSampleTask() {
// 这是数据源的key
DynamicDataSourceContextHolder.push("ds_1000");
List<QcCheckSampleTask> list = qcCheckSampleTaskMapper.selectScTaskListByDay();
if (!CollectionUtils.isEmpty(list)) {
for (QcCheckSampleTask item : list) {
item.setId(IdUtils.fastSimpleUUID());
try {
List<QcCheckSampleTask> list = qcCheckSampleTaskMapper.selectScTaskListByDay();
if (!CollectionUtils.isEmpty(list)) {
for (QcCheckSampleTask item : list) {
item.setId(IdUtils.fastSimpleUUID());
}
qcCheckSampleTaskMapper.batchInsertQcCheckSampleTask(list);
}
qcCheckSampleTaskMapper.batchInsertQcCheckSampleTask(list);
}finally {
DynamicDataSourceContextHolder.poll();
}
return success();
}

@ -0,0 +1,77 @@
package com.op.quality.service.impl;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.utils.StringUtils;
import com.op.common.core.web.domain.AjaxResult;
import com.op.quality.mapper.QcCheckTaskIncomeMapper;
import com.op.quality.mapper.QcCheckWechartMapper;
import com.op.quality.service.QcCheckWechartService;
import com.op.system.api.RemoteOpenService;
import com.op.system.api.domain.SysNoticeGroup;
import com.op.system.api.domain.dto.WechartDTO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Service
public class QcCheckWechartServiceImpl implements QcCheckWechartService {
protected Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private QcCheckWechartMapper qcCheckWechartMapper;
@Autowired
private QcCheckTaskIncomeMapper qcCheckTaskIncomeMapper;
@Autowired
private RemoteOpenService remoteOpenService;
@Override
@DS("#header.poolName")
public Map qualityCheckInfoByday() {
// Map<String,String> map=qcCheckWechartMapper.qualityCheckInfoByday();
Map<String, Object> map = qcCheckWechartMapper.qualityCheckInfoByday();
map.replaceAll((key, value) -> {
if (value instanceof Number) {
return String.valueOf(value);
}
return value; // 非数字类型保留原值
});
SysNoticeGroup noticeQo = new SysNoticeGroup();
if(map != null){
noticeQo.setNoticeId(25L);
List<SysNoticeGroup> notices = qcCheckTaskIncomeMapper.getNoticesGroup(noticeQo);
System.out.println(notices);
sendWeChartMessage(noticeQo,map);
}
return map;
}
private void sendWeChartMessage(SysNoticeGroup noticeQo,Map map){
List<SysNoticeGroup> notices = qcCheckTaskIncomeMapper.getNoticesGroup(noticeQo);
if(!CollectionUtils.isEmpty(notices) && notices.size() > 0) {
List<WechartDTO> wecharts = new ArrayList<>();
for (SysNoticeGroup noticedto : notices) {
WechartDTO wechart0 = new WechartDTO();
wechart0.setUserId(noticedto.getWxId());
String contentInfo = notices.get(0).getNoticeContent();
String message=StringUtils.format(contentInfo,map);
wechart0.setText(message);
wecharts.add(wechart0);
}
// logger.info("任务编号为:"+ checkNoList + "的"+ message + ",企业微信二次提醒请求:" + JSONObject.toJSONString(wecharts));
if (!CollectionUtils.isEmpty(wecharts)) {
new Thread(() -> {
AjaxResult result = remoteOpenService.sendWeChartMessage(wecharts);
logger.info("企业微信发送质检情况:" + JSONObject.toJSONString(result));
}).start();
}
}
}
}

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.op.quality.mapper.QcCheckWechartMapper">
<select id="qualityCheckInfoByday" resultType="java.util.Map">
SELECT * FROM check_view
</select>
</mapper>
Loading…
Cancel
Save