From e587614c3f4ad5608de28e5d0e27f200f59a5d9a Mon Sep 17 00:00:00 2001 From: Yangwl <1726150332@qq.com> Date: Fri, 20 Jun 2025 17:04:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=BC=82=E5=B8=B8=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0=E4=B8=8E=E8=AE=BE=E5=A4=87=E7=B1=BB=E5=9E=8B=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EquFaultDescriptionController.java | 12 ++- .../op/device/domain/EquFaultDescription.java | 11 +++ .../com/op/device/domain/EquFaultdesDict.java | 22 ++++++ .../com/op/device/domain/EquOperation.java | 18 +++++ .../mapper/EquFaultDescriptionMapper.java | 9 +++ .../op/device/mapper/EquOperationMapper.java | 3 + .../service/IEquFaultDescriptionService.java | 2 + .../impl/EquFaultDescriptionServiceImpl.java | 39 ++++++++++ .../service/impl/EquOperationServiceImpl.java | 17 +++- .../impl/EquRepairWorkOrderServiceImpl.java | 16 ++-- .../device/EquFaultDescriptionMapper.xml | 23 ++++++ .../mapper/device/EquOperationMapper.xml | 6 +- .../mapper/device/EquRepairOrderMapper.xml | 2 +- op-modules/op-printservice/pom.xml | 15 ++++ .../controller/QcCheckWechartController.java | 29 +++++++ .../quality/mapper/QcCheckWechartMapper.java | 10 +++ .../service/QcCheckWechartService.java | 8 ++ .../impl/QcCheckSampleTaskServiceImpl.java | 14 ++-- .../impl/QcCheckWechartServiceImpl.java | 77 +++++++++++++++++++ .../mapper/quality/QcCheckWechartMapper.xml | 10 +++ 20 files changed, 325 insertions(+), 18 deletions(-) create mode 100644 op-modules/op-device/src/main/java/com/op/device/domain/EquFaultdesDict.java create mode 100644 op-modules/op-printservice/pom.xml create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckWechartController.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckWechartMapper.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/service/QcCheckWechartService.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckWechartServiceImpl.java create mode 100644 op-modules/op-quality/src/main/resources/mapper/quality/QcCheckWechartMapper.xml diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/EquFaultDescriptionController.java b/op-modules/op-device/src/main/java/com/op/device/controller/EquFaultDescriptionController.java index d17a4db7c..027c82975 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/EquFaultDescriptionController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/EquFaultDescriptionController.java @@ -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 arry = equFaultDescriptionService.selectFaultdesDictByfaultIds(faultId); + ajaxResult.put("dictValues", equFaultDescriptionService.selectFaultdesDictByfaultIds(faultId)); + +// return success(equFaultDescriptionService.selectEquFaultDescriptionByFaultId(faultId)); + return ajaxResult; } /** diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquFaultDescription.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquFaultDescription.java index e94a4ecba..4f1522a6d 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquFaultDescription.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquFaultDescription.java @@ -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; } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquFaultdesDict.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquFaultdesDict.java new file mode 100644 index 000000000..5e2563224 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquFaultdesDict.java @@ -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; + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquOperation.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquOperation.java index 9a9ab0622..ced230946 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquOperation.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquOperation.java @@ -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; } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquFaultDescriptionMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquFaultDescriptionMapper.java index 2e90ab3e1..45e0a8dc5 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquFaultDescriptionMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquFaultDescriptionMapper.java @@ -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 selectFaultDescriptionList(EquFaultDescription equFaultDescription); + + void deleteFaultdesDictByfaultId(String faultId); + + void batchFaultdesDict(List list); + + void deleteFaultdesDictByfaultIds(String[] faultIds); + + List selectFaultdesDictByfaultId(String faultId); } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOperationMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOperationMapper.java index dc12598ac..20a63bec6 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOperationMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOperationMapper.java @@ -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); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IEquFaultDescriptionService.java b/op-modules/op-device/src/main/java/com/op/device/service/IEquFaultDescriptionService.java index 1e1f0b2c7..8fa5e94da 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IEquFaultDescriptionService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IEquFaultDescriptionService.java @@ -59,4 +59,6 @@ public interface IEquFaultDescriptionService { * @return 结果 */ public int deleteEquFaultDescriptionByFaultId(String faultId); + + List selectFaultdesDictByfaultIds(String faultId); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquFaultDescriptionServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquFaultDescriptionServiceImpl.java index b64e5ca16..b3f0412bd 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquFaultDescriptionServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquFaultDescriptionServiceImpl.java @@ -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 list = new ArrayList(); + 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 selectFaultdesDictByfaultIds(String faultId) { + return equFaultDescriptionMapper.selectFaultdesDictByfaultId(faultId); + } } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOperationServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOperationServiceImpl.java index bd35262dd..f931bf9f5 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOperationServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOperationServiceImpl.java @@ -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 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; } /** 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 5070ac324..2b75f000c 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 @@ -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 diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquFaultDescriptionMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquFaultDescriptionMapper.xml index 121889ea8..dfc2642b6 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquFaultDescriptionMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquFaultDescriptionMapper.xml @@ -91,6 +91,12 @@ #{updateTime}, + + insert into equ_faultdes_dict(fault_id, dict_value) values + + (#{item.faultId},#{item.dictValue}) + + update equ_fault_description @@ -122,10 +128,27 @@ #{faultId} + + delete from equ_faultdes_dict where fault_id=#{faultId} + + + + + delete from equ_faultdes_dict where fault_id in + + #{faultId} + + + diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOperationMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOperationMapper.xml index cb968da28..b5380a081 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOperationMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOperationMapper.xml @@ -85,7 +85,7 @@ and reason_analyze = #{reasonAnalyze} and handling_method = #{handlingMethod} - and repair_person concat('%', #{repairPerson}, + and repair_person like concat('%', #{repairPerson}, '%') and equ_status_des = #{equStatusDes} @@ -279,5 +279,7 @@ and equipment_code = #{equipmentCode} and del_flag = '0' - + diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml index 3b65845fe..32d436ecb 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml @@ -115,7 +115,7 @@ and order_code like concat('%', #{orderCode}, '%') - and equipment_code like concat('%',#{equipmentCode}, '%') + and ero.equipment_code like concat('%',#{equipmentCode}, '%') and order_desc like concat('%', #{orderDesc}, '%') and CONVERT(date,order_breakdown_time) >= #{orderBreakdownTimeStart} diff --git a/op-modules/op-printservice/pom.xml b/op-modules/op-printservice/pom.xml new file mode 100644 index 000000000..d60d0c7f8 --- /dev/null +++ b/op-modules/op-printservice/pom.xml @@ -0,0 +1,15 @@ + + + + op-modules + com.op + 0.0.1 + + 4.0.0 + + op-printservice + + + diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckWechartController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckWechartController.java new file mode 100644 index 000000000..73e94dbfc --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckWechartController.java @@ -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()); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckWechartMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckWechartMapper.java new file mode 100644 index 000000000..b6214e638 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckWechartMapper.java @@ -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(); +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/QcCheckWechartService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/QcCheckWechartService.java new file mode 100644 index 000000000..d5c011d11 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/QcCheckWechartService.java @@ -0,0 +1,8 @@ +package com.op.quality.service; + +import java.util.Map; + +public interface QcCheckWechartService { + + Map qualityCheckInfoByday(); +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckSampleTaskServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckSampleTaskServiceImpl.java index 98fc5e3ad..1c1919853 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckSampleTaskServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckSampleTaskServiceImpl.java @@ -75,12 +75,16 @@ public class QcCheckSampleTaskServiceImpl implements IQcCheckSampleTaskService { public AjaxResult createCheckSampleTask() { // 这是数据源的key DynamicDataSourceContextHolder.push("ds_1000"); - List list = qcCheckSampleTaskMapper.selectScTaskListByDay(); - if (!CollectionUtils.isEmpty(list)) { - for (QcCheckSampleTask item : list) { - item.setId(IdUtils.fastSimpleUUID()); + try { + List 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(); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckWechartServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckWechartServiceImpl.java new file mode 100644 index 000000000..95c56b7be --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckWechartServiceImpl.java @@ -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 map=qcCheckWechartMapper.qualityCheckInfoByday(); + Map 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 notices = qcCheckTaskIncomeMapper.getNoticesGroup(noticeQo); + System.out.println(notices); + sendWeChartMessage(noticeQo,map); + } + return map; + } + + private void sendWeChartMessage(SysNoticeGroup noticeQo,Map map){ + + List notices = qcCheckTaskIncomeMapper.getNoticesGroup(noticeQo); + if(!CollectionUtils.isEmpty(notices) && notices.size() > 0) { + List 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(); + } + } + } +} diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckWechartMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckWechartMapper.xml new file mode 100644 index 000000000..945914a08 --- /dev/null +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckWechartMapper.xml @@ -0,0 +1,10 @@ + + + + + +