Explorar o código

Merge remote-tracking branch 'origin/master'

xiahan hai 1 ano
pai
achega
945f8d350f
Modificáronse 15 ficheiros con 124 adicións e 26 borrados
  1. 3 0
      bs-common/src/main/java/com/rongwei/safecommon/utils/SaveConstans.java
  2. 1 1
      cx-equipment/cx-equipment-common/pom.xml
  3. 1 1
      cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/dao/CommonDao.java
  4. 9 10
      cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/dao/EquMaintenanceOrderDao.java
  5. 3 1
      cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/EquMaintenanceOrderService.java
  6. 4 4
      cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquMaintenanceOrderServiceImpl.java
  7. 2 2
      cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquOverhaulPlanningTasksServiceImpl.java
  8. 8 7
      cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquipmentSendNotifyServiceImpl.java
  9. 25 0
      cx-equipment/cx-equipment-common/src/main/resources/mybatis/business/EquMaintenanceOrderDao.xml
  10. 8 0
      cx-question/cx-question-common/src/main/java/com/rongwei/bscommon/sys/dao/SrmIssuesListDao.java
  11. 2 0
      cx-question/cx-question-common/src/main/java/com/rongwei/bscommon/sys/service/SrmIssuesListService.java
  12. 25 0
      cx-question/cx-question-common/src/main/java/com/rongwei/bscommon/sys/service/impl/SrmIssuesListServiceImpl.java
  13. 14 0
      cx-question/cx-question-entity/src/main/java/dto/SysNoticeVo.java
  14. 10 0
      cx-question/cx-question-entity/src/main/resources/mybatis/SrmIssuesListDao.xml
  15. 9 0
      cx-question/cx-question-server/src/main/java/com/rongwei/controller/QuestionController.java

+ 3 - 0
bs-common/src/main/java/com/rongwei/safecommon/utils/SaveConstans.java

@@ -466,6 +466,7 @@ public class SaveConstans {
          * 车间维修主管
          */
         public static final String WMS = "wms";
+
     }
 
     /**
@@ -485,4 +486,6 @@ public class SaveConstans {
          */
         public static final String TRACK_STATUS = "track_status";
     }
+
+
 }

+ 1 - 1
cx-equipment/cx-equipment-common/pom.xml

@@ -92,7 +92,7 @@
         <dependency>
             <groupId>com.rongwei</groupId>
             <artifactId>rw-common-component</artifactId>
-            <version>0.0.1-SNAPSHOT</version>
+            <version>1.1-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
     </dependencies>

+ 1 - 1
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/dao/CommonDao.java

@@ -112,7 +112,7 @@ public interface CommonDao {
             "LEFT JOIN sys_user su ON sur.USERID = su.ID and su.DELETED = 0 \n" +
             "LEFT JOIN sys_user_org suo ON suo.USERID = su.ID AND suo.DELETED = 0 \n" +
             "LEFT JOIN sys_organization so ON suo.ORGID = so.ID AND so.DELETED = 0 \n" +
-            "WHERE sr.NAME in(${roles}) AND ${whr}")
+            "WHERE sr.CODE in(${roles}) AND ${whr}")
     List<String> getRoleUserIds(@Param("roles") String roles,@Param("whr") String whr);
 
 }

+ 9 - 10
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/dao/EquMaintenanceOrderDao.java

@@ -2,7 +2,6 @@ package com.rongwei.bscommon.sys.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.rongwei.bsentity.domain.EquMaintenanceOrderDo;
-import com.rongwei.bsentity.domain.EquMaintenanceOrderVo;
 import com.rongwei.bsentity.dto.EquMaintenanceOrderSumDTO;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
@@ -30,7 +29,7 @@ public interface EquMaintenanceOrderDao extends BaseMapper<EquMaintenanceOrderDo
             "WHERE\n" +
             "\t1 = 1 \n" +
             "\tAND a.DELETED = '0' \n" +
-            "\tAND a.REPAIRSTATUS IN ( 10, 20, 30, 100, 110 ) \n" +
+            "\tAND a.REPAIRSTATUS NOT IN (50,120) \n" +
             "\tAND a.MAINTENANCECLASSIFY IN ( 1, 3 ) \n" +
             "\tand a.INCIDENTTIME BETWEEN  #{startDate} and #{endDate} \n" +
             "\t) d \n" +
@@ -46,13 +45,13 @@ public interface EquMaintenanceOrderDao extends BaseMapper<EquMaintenanceOrderDo
             " WHERE 1 = 1 and FIND_IN_SET(a.ID,#{ids})" )
     List<EquMaintenanceOrderDo> selectOrderDataByIds( @Param("ids") String ids);
 
-    @Select("SELECT su.ID\n" +
-            "FROM sys_role sr \n" +
-            "LEFT JOIN sys_user_role sur ON sr.ID = sur.ROLEID and sur.DELETED = 0 \n" +
-            "LEFT JOIN sys_user su ON sur.USERID = su.ID and su.DELETED = 0 \n" +
-            "LEFT JOIN sys_user_org suo ON suo.USERID = su.ID AND suo.DELETED = 0 \n" +
-            "LEFT JOIN sys_organization so ON suo.ORGID = so.ID AND so.DELETED = 0 \n" +
-            "WHERE sr.NAME in('设备部部长','车间维修主管','设备部维修主管') \n")
-    List<String> selectRoleList();
+//    @Select("SELECT su.ID\n" +
+//            "FROM sys_role sr \n" +
+//            "LEFT JOIN sys_user_role sur ON sr.ID = sur.ROLEID and sur.DELETED = 0 \n" +
+//            "LEFT JOIN sys_user su ON sur.USERID = su.ID and su.DELETED = 0 \n" +
+//            "LEFT JOIN sys_user_org suo ON suo.USERID = su.ID AND suo.DELETED = 0 \n" +
+//            "LEFT JOIN sys_organization so ON suo.ORGID = so.ID AND so.DELETED = 0 \n" +
+//            "WHERE sr.NAME in('设备部部长','车间维修主管','设备部维修主管') \n")
+    List<String> selectRoleList(@Param("roleCodes") List<String> roleCode);
 
 }

+ 3 - 1
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/EquMaintenanceOrderService.java

@@ -27,7 +27,7 @@ public interface EquMaintenanceOrderService extends IService<EquMaintenanceOrder
      * 查询 取车间维修主管、设备部部长、设备部维修主管 角色中所有人员
      * @return
      */
-    List<String> selectRoleList();
+     List<String> selectRoleList(List<String> roleCode);
 
     /**
      * 维修单excel 生成
@@ -37,4 +37,6 @@ public interface EquMaintenanceOrderService extends IService<EquMaintenanceOrder
      * @return
      */
     String generateDeviceRepeatedlyFailsExcel(List<EquMaintenanceOrderSumDTO> list, String noticeId);
+
+
 }

+ 4 - 4
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquMaintenanceOrderServiceImpl.java

@@ -56,8 +56,8 @@ public class EquMaintenanceOrderServiceImpl extends ServiceImpl<EquMaintenanceOr
     }
 
     @Override
-    public List<String> selectRoleList() {
-        return equMaintenanceOrderDao.selectRoleList();
+    public List<String> selectRoleList(List<String> roleCode) {
+        return equMaintenanceOrderDao.selectRoleList(roleCode);
     }
 
     /**
@@ -109,7 +109,7 @@ public class EquMaintenanceOrderServiceImpl extends ServiceImpl<EquMaintenanceOr
             HSSFSheet sheet3 = workbook.getSheetAt(3);
             //2.填充数据
             //2.1 给第一页数据填充数据
-            for (int i = 0; i < list.size() - 1; i++) {
+            for (int i = 0; i < list.size() ; i++) {
                 // 创建行
                 HSSFRow row = sheet0.createRow(i + 1);
                 row.createCell(0).setCellValue(list.get(i).getPlant()); // 所属工厂
@@ -151,7 +151,7 @@ public class EquMaintenanceOrderServiceImpl extends ServiceImpl<EquMaintenanceOr
      */
     private void fillPlantData(List<EquMaintenanceOrderDo> list, HSSFSheet sheet) {
         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        for (int i = 0; i < list.size() - 1; i++) {
+        for (int i = 0; i < list.size() ; i++) {
             // 创建行
             HSSFRow row = sheet.createRow(i + 1);
             row.createCell(0).setCellValue(list.get(i).getJobnumber()); //工单编号

+ 2 - 2
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquOverhaulPlanningTasksServiceImpl.java

@@ -188,8 +188,8 @@ public class EquOverhaulPlanningTasksServiceImpl extends ServiceImpl<EquOverhaul
                     dataMap.put("list",dataList);
                     Workbook workbook = ExcelExportUtil.exportExcel(params,dataMap);
                     String fileItemId = ExcelUtils.workBookCommonUpload(workbook,  PLANNING_TASK_FILE_NAME.split("\\.")[0], "."+ PLANNING_TASK_FILE_NAME.split("\\.")[1]);
-                    List<String> useDeptRoleUserIds = commonDao.getRoleUserIds("'车间主任','车间维修主管'","so.id in ("+ workShopUserIds.stream().distinct().collect(Collectors.joining(","))+")");
-                    List<String> factoryRoleUserIds = commonDao.getRoleUserIds("'设备部部门长','设备部维修主管'", "(so.FULLPID like '," + planningTasksVo.getTenantid() + "%' or so.ID='" + planningTasksVo.getTenantid() + "')");
+                    List<String> useDeptRoleUserIds = commonDao.getRoleUserIds("'lczg','wms'","so.id in ("+ workShopUserIds.stream().distinct().collect(Collectors.joining(","))+")");
+                    List<String> factoryRoleUserIds = commonDao.getRoleUserIds("'hoed','edms'", "(so.FULLPID like '," + planningTasksVo.getTenantid() + "%' or so.ID='" + planningTasksVo.getTenantid() + "')");
                     if (useDeptRoleUserIds.size() > 0 && factoryRoleUserIds.size() > 0) {
                         userId = Stream.of(useDeptRoleUserIds, factoryRoleUserIds).flatMap(Collection::stream).distinct().collect(Collectors.toList());
                     } else if (useDeptRoleUserIds.size() == 0) {

+ 8 - 7
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquipmentSendNotifyServiceImpl.java

@@ -44,6 +44,7 @@ import static com.rongwei.safecommon.utils.SaveConstans.FileName.PLANNING_TASK_F
 import static com.rongwei.safecommon.utils.SaveConstans.NotifyContent.*;
 import static com.rongwei.safecommon.utils.SaveConstans.NotifyTitle.*;
 import static com.rongwei.safecommon.utils.SaveConstans.NotifyType.*;
+import static com.rongwei.safecommon.utils.SaveConstans.RoleCode.*;
 
 /**
  * @author shangmi
@@ -250,8 +251,8 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
 
         // 发送人
         List<String> userId;
-        List<String> useDeptRoleUserIds = commonDao.getRoleUserIds("'车间主任','车间维修主管','车间保养主管'", "so.ID='" + aspCheckItems.getUsedeptid() + "'");
-        List<String> factoryRoleUserIds = commonDao.getRoleUserIds("'设备部部门长'", "(so.FULLPID like '," + aspCheckItems.getTenantid() + "%' or so.ID='" + aspCheckItems.getTenantid() + "')");
+        List<String> useDeptRoleUserIds = commonDao.getRoleUserIds("'lczg','wms','role054'", "so.ID='" + aspCheckItems.getUsedeptid() + "'");
+        List<String> factoryRoleUserIds = commonDao.getRoleUserIds("'hoed'", "(so.FULLPID like '," + aspCheckItems.getTenantid() + "%' or so.ID='" + aspCheckItems.getTenantid() + "')");
         if (useDeptRoleUserIds.size() > 0 && factoryRoleUserIds.size() > 0) {
             userId = Stream.of(useDeptRoleUserIds, factoryRoleUserIds).flatMap(Collection::stream).distinct().collect(Collectors.toList());
         } else if (useDeptRoleUserIds.size() == 0) {
@@ -290,8 +291,8 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
 
         // 发送人
         List<String> userId;
-        List<String> useDeptRoleUserIds = commonDao.getRoleUserIds("'车间主任','车间维修主管'", "so.ID='" + equMaintenanceOrderDo.getWorkshopid() + "'");
-        List<String> factoryRoleUserIds = commonDao.getRoleUserIds("'设备部部门长','设备部维修主管'", "(so.FULLPID like '," + equMaintenanceOrderDo.getTenantid() + "%' or so.ID='" + equMaintenanceOrderDo.getTenantid() + "')");
+        List<String> useDeptRoleUserIds = commonDao.getRoleUserIds("'lczg','wms'", "so.ID='" + equMaintenanceOrderDo.getWorkshopid() + "'");
+        List<String> factoryRoleUserIds = commonDao.getRoleUserIds("'hoed','edms'", "(so.FULLPID like '," + equMaintenanceOrderDo.getTenantid() + "%' or so.ID='" + equMaintenanceOrderDo.getTenantid() + "')");
         if (useDeptRoleUserIds.size() > 0 && factoryRoleUserIds.size() > 0) {
             userId = Stream.of(useDeptRoleUserIds, factoryRoleUserIds).flatMap(Collection::stream).distinct().collect(Collectors.toList());
         } else if (useDeptRoleUserIds.size() == 0) {
@@ -333,7 +334,7 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
 
         // 3.消息提醒
         // 3.1发送人  取车间维修主管、设备部部长、设备部维修主管 角色中所有人员
-        List<String> userId = equMaintenanceOrderService.selectRoleList();
+         List<String> userId = equMaintenanceOrderService.selectRoleList(Arrays.asList(WMS,EDMS, EDMS));
         if (userId.isEmpty()) {
             log.info("车间维修主管、设备部部长、设备部维修主管角色无提醒人");
             return R.ok();
@@ -595,11 +596,11 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
         }
         // 需接收提醒用户ID
         List<String> userIds = commonDao.getRoleUserIds(
-                "'车间主任','车间保养主管'", "so.ID IN (" + stringBuilder + ")"
+                "'lczg','role054'", "so.ID IN (" + stringBuilder + ")"
         );
         userIds.addAll(
                 commonDao.getRoleUserIds(
-                        "'设备部部门长','设备部保养主管'", "(so.FULLPID like '," + plantId + "%' or so.ID='" + plantId + "')"
+                        "'hoed','equ_byzg'", "(so.FULLPID like '," + plantId + "%' or so.ID='" + plantId + "')"
                 )
         );
 

+ 25 - 0
cx-equipment/cx-equipment-common/src/main/resources/mybatis/business/EquMaintenanceOrderDao.xml

@@ -0,0 +1,25 @@
+<?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.rongwei.bscommon.sys.dao.EquMaintenanceOrderDao">
+    
+    <select id="selectRoleList" resultType="java.lang.String">
+        SELECT su.ID
+          FROM sys_role sr
+           LEFT JOIN sys_user_role sur ON sr.ID = sur.ROLEID and sur.DELETED = 0
+           LEFT JOIN sys_user su ON sur.USERID = su.ID and su.DELETED = 0
+           LEFT JOIN sys_user_org suo ON suo.USERID = su.ID AND suo.DELETED = 0
+           LEFT JOIN sys_organization so ON suo.ORGID = so.ID AND so.DELETED = 0
+        <where>
+            su.DELETED ='0'
+
+            <if test="roleCodes != null and roleCodes.size()>0">
+                AND sr.code in
+                <foreach collection="roleCodes" item="roleCode" open="(" close=")" separator=",">
+                    #{roleCode}
+                </foreach>
+            </if>
+
+        </where>
+        
+    </select>
+</mapper>

+ 8 - 0
cx-question/cx-question-common/src/main/java/com/rongwei/bscommon/sys/dao/SrmIssuesListDao.java

@@ -6,8 +6,11 @@ import com.rongwei.bsentity.domin.SrmIssuesListDo;
 import com.rongwei.bsentity.vo.SrmFormCountVo;
 import com.rongwei.rwcommon.base.BaseDao;
 import com.rongwei.rwcommonentity.commonservers.domain.SysFileItemDo;
+import com.rongwei.rwcommonentity.commonservers.vo.SysNotifyAnnounceVo;
+import dto.SysNoticeVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
 
@@ -45,4 +48,9 @@ public interface SrmIssuesListDao extends BaseDao<SrmIssuesListDo> {
     List<SrmIssuesListDo> getListByMesId(@Param("mesIds")List<String> mesIds);
 
     void insertFile(@Param("model") SysFileItemDo sysFileItemDo);
+
+    @Select("SELECT sna.*,GROUP_CONCAT(snau.RECIPIENTID) as 'recipientIds' FROM sys_notify_announce sna LEFT JOIN sys_notify_announce_user snau ON sna.ID = snau.ANNOUNCEID AND snau.DELETED = 0 where sna.DELETED = 0 AND sna.NOTIFYTITLE like CONCAT('生产问题--','%') AND sna.CREATEDATE >= DATE_FORMAT(NOW(),'%Y-%m-%d %H:00:00') AND sna.CREATEDATE <= NOW() GROUP BY sna.ID")
+    List<SysNoticeVo> selectNoticeByProduct();
+
+    void updateNoticeByProduct(@Param("idList") List<String> idList);
 }

+ 2 - 0
cx-question/cx-question-common/src/main/java/com/rongwei/bscommon/sys/service/SrmIssuesListService.java

@@ -19,4 +19,6 @@ public interface SrmIssuesListService extends IService<SrmIssuesListDo> {
     void saveFishBoneImg(SrmIssuesListDo srmIssuesListDo) throws IOException;
 
     List<SrmIssuesListDo> getListByMesId(List<String> mesIds);
+
+    void productionOverdue();
 }

+ 25 - 0
cx-question/cx-question-common/src/main/java/com/rongwei/bscommon/sys/service/impl/SrmIssuesListServiceImpl.java

@@ -9,7 +9,9 @@ import com.rongwei.commonservice.service.SysConfigService;
 import com.rongwei.rwadmincommon.system.vo.SysUserVo;
 import com.rongwei.rwcommon.utils.SecurityUtil;
 import com.rongwei.rwcommonentity.commonservers.domain.SysFileItemDo;
+import com.rongwei.rwcommonentity.commonservers.vo.SysNotifyAnnounceVo;
 import com.rongwei.safecommon.utils.CXCommonUtils;
+import dto.SysNoticeVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import sun.misc.BASE64Decoder;
@@ -17,7 +19,9 @@ import sun.misc.BASE64Decoder;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
+import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -104,4 +108,25 @@ public class SrmIssuesListServiceImpl extends ServiceImpl<SrmIssuesListDao, SrmI
     public List<SrmIssuesListDo> getListByMesId(List<String> mesIds){
         return srmIssuesListDao.getListByMesId(mesIds);
     }
+
+    @Override
+    public void productionOverdue() {
+        //查询需要推送和修改的消息
+        List<SysNoticeVo> list = this.baseMapper.selectNoticeByProduct();
+        //没有消息,直接结束
+        if (list.size() <= 0){
+            return;
+        }
+        //有消息将消息的NOTIFYTYPE改为production_overdue
+        List<String> idList = list.stream().map(SysNotifyAnnounceVo::getId).collect(Collectors.toList());
+        this.baseMapper.updateNoticeByProduct(idList);
+        //将消息发送给app
+        for (SysNoticeVo sysNoticeVo : list) {
+            String title = sysNoticeVo.getNotifytitle();
+            String content = sysNoticeVo.getNotifycontent();
+            List<String> userIdList = Arrays.asList(sysNoticeVo.getRecipientIds().split(","));
+            CXCommonUtils.pushApp(title,content,userIdList);
+        }
+
+    }
 }

+ 14 - 0
cx-question/cx-question-entity/src/main/java/dto/SysNoticeVo.java

@@ -0,0 +1,14 @@
+package dto;
+
+import com.rongwei.rwcommonentity.commonservers.vo.SysNotifyAnnounceVo;
+import lombok.Data;
+
+/**
+ * @author :sc
+ * @since :2024/2/6
+ */
+@Data
+public class SysNoticeVo extends SysNotifyAnnounceVo {
+    //接收人id,使用英文逗号隔开
+    private String recipientIds;
+}

+ 10 - 0
cx-question/cx-question-entity/src/main/resources/mybatis/SrmIssuesListDao.xml

@@ -118,6 +118,16 @@ VALUES
 	    #{model.modifyusername}
 	)
     </insert>
+    <update id="updateNoticeByProduct">
+        UPDATE sys_notify_announce set NOTIFYTYPE = 'issuetracking'
+        <where>
+            DELETED = 0
+            AND ID in
+            <foreach collection="idList" item="id" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </where>
+    </update>
 
     <select id="getProblemByTaskRun" resultType="com.rongwei.bsentity.domin.SrmIssuesListDo">
         SELECT

+ 9 - 0
cx-question/cx-question-server/src/main/java/com/rongwei/controller/QuestionController.java

@@ -68,4 +68,13 @@ public class QuestionController {
         return R.ok();
     }
 
+
+    /**
+     * 每个小时的5分0秒,执行一次,将对应时间段0分0秒-5分0秒钟创建的消息(sys_notify_announce表),并且标题为“生产问题--xxxx”的消息,修改NOTIFYTYPE为"issuetracking",发送app推送
+     */
+    @PostMapping("/productionOverdue")
+    public R productionOverdue(){
+        srmIssuesListService.productionOverdue();
+        return R.ok();
+    }
 }