瀏覽代碼

订单未及时评审提醒

DLC 1 年之前
父節點
當前提交
62a2318ea7

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

@@ -180,6 +180,10 @@ public class SaveConstans {
          * 每周点检异常问题提醒类型 维修
          */
         public static final String HIDDEN_DANGER_TASK_MAINTAIN = "maintainHiddenDanger";
+        /**
+         * 订单未及时评审提醒
+         */
+        public static final String ORDEROUTTIME_AUDIT = "orderouttimeaudit";
     }
 
     public static class NotifyTitle {
@@ -282,6 +286,11 @@ public class SaveConstans {
          * 每周点检异常问题提醒
          */
         public static final String WEEK_HIDDEN_DANGER_TASK = "每周点检异常问题提醒";
+
+        /**
+         * 订单评审提醒
+         */
+        public static final String ORDEROUTTIMEAUDIT_TITLE = "订单评审提醒";
     }
 
     public static class NotifyContent {
@@ -382,6 +391,10 @@ public class SaveConstans {
         public static final String END_UNFINISHED_TASK_CONTENT = "截止【%s】本月末【%s】有保养任务有【%s】个、润滑任务有【%s】个已经跨月未登记完成,请各车间相关保养负责人及时跟进处理,具体任务详见附件清单。";
 
         public static final String HIDDEN_DANGER_TASK_CONTENT = "各车间在近一周内点巡检发现了【%d】个问题项,均已生成了隐患任务记录,请各部门车间及时安排人员对待整改问题及时跟踪处理,具体隐患信息详见附件清单";
+        /**
+         * 订单评审提醒内容
+         */
+        public static final String ORDEROUTTIME_AUDIT_CONTENT = "订单【%s】待评审,请及时处理";
     }
 
     /**

+ 6 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductionOrderDao.java

@@ -29,6 +29,12 @@ public interface ApsProductionOrderDao extends BaseMapper<ApsProductionOrderDo>
 
     @Select("select b.ID AS 'id',a.PID AS 'pid' from (select * from sys_dict where DICTTYPE = 'productType' AND DELETED = 0) a RIGHT JOIN (select * from sys_dict where DELETED = 0 AND ID in ('${join}')) b ON a.ID = b.PID")
     List<ProductTypeIdAndPidVo> selectProductTypeIdAndPid(@Param("join") String join);
+
+    @Select("select o.ID,o.ORDERNO,o.CREATEUSERID,o.CREATEUSERNAME,u.EMAIL as MODIFYUSERNAME from aps_production_order o\n" +
+            "left join sys_user u on o.CREATEUSERID=u.ID and u.DELETED='0'\n" +
+            "where o.DELETED='0' and (o.AUDITSTATUS='待计划评审' or o.AUDITSTATUS='待技术评审') and o.ID='2024f94745144c779fcbd3a9f4d89254'\n" +
+            "\tand ((IFNULL(o.CHANGEDATE,'')='' and TIMESTAMPDIFF(HOUR,o.ORDERDATE,NOW())>48) or (IFNULL(o.CHANGEDATE,'')!='' and TIMESTAMPDIFF(HOUR,o.CHANGEDATE,NOW())>48))")
+    List<ApsProductionOrderDo> getOrderOuttimeAudit();
 }
 
 

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

@@ -17,4 +17,6 @@ public interface ApsProductionOrderService extends IService<ApsProductionOrderDo
     R publishCancel(List<String> productionOrderIds) ;
 
     R checkAndSaveOrUpdateOrder(CheckAndSaveOrUpdateOrderReq req);
+
+    void orderOuttimeAudit();
 }

+ 32 - 1
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProductionOrderServiceImpl.java

@@ -9,7 +9,6 @@ import com.rongwei.bscommon.sys.dao.*;
 import com.rongwei.bscommon.sys.service.ApsProductionOrderService;
 import com.rongwei.bscommon.sys.utils.ApsUtils;
 import com.rongwei.bsentity.domain.ApsBlankOrderDo;
-import com.rongwei.bsentity.domain.ApsProductDetailDo;
 import com.rongwei.bsentity.domain.ApsProductionMergeOrderDo;
 import com.rongwei.bsentity.domain.ApsProductionOrderDo;
 import com.rongwei.bsentity.vo.ApsProductDetailVo;
@@ -17,6 +16,9 @@ import com.rongwei.bsentity.vo.CheckAndSaveOrUpdateOrderReq;
 import com.rongwei.bsentity.vo.ProductDetailIdAndPlanOutPutRollCountAllVo;
 import com.rongwei.bsentity.vo.ProductTypeIdAndPidVo;
 import com.rongwei.rwcommon.base.R;
+import com.rongwei.rwcommon.vo.MailDo;
+import com.rongwei.safecommon.fegin.CXCommonFeginClient;
+import com.rongwei.safecommon.utils.CXCommonUtils;
 import com.rongwei.safecommon.utils.SaveConstans;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -24,10 +26,15 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Arrays;
 import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import static com.rongwei.safecommon.utils.SaveConstans.NotifyContent.ORDEROUTTIME_AUDIT_CONTENT;
+import static com.rongwei.safecommon.utils.SaveConstans.NotifyTitle.ORDEROUTTIMEAUDIT_TITLE;
+import static com.rongwei.safecommon.utils.SaveConstans.NotifyType.ORDEROUTTIME_AUDIT;
+
 /**
  *
  */
@@ -47,6 +54,8 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
     private ApsProcessOperationBackupDao apsProcessOperationBackupDao;
     @Autowired
     private ApsProcessOperationProcessEquBackupDao apsProcessOperationProcessEquBackupDao;
+    @Autowired
+    private CXCommonFeginClient autoCommonFeginClient;
 
     public static final String ERROR_MSG = "%s上诉订单的排程交货期大于承诺交货期";
 
@@ -225,6 +234,28 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
         return null;
     }
 
+    /*
+    订单未及时评审提醒
+     */
+    @Override
+    public void orderOuttimeAudit() {
+        log.info("订单未及时评审提醒开始");
+        List<ApsProductionOrderDo> apsProductionOrderDos = this.baseMapper.getOrderOuttimeAudit();
+        for (ApsProductionOrderDo apsProductionOrderDo : apsProductionOrderDos) {
+            //系统通知(移动端和PC端个人工作台)
+            CXCommonUtils.sendNotify(ORDEROUTTIMEAUDIT_TITLE, String.format(ORDEROUTTIME_AUDIT_CONTENT, apsProductionOrderDo.getOrderno()), null, Arrays.asList(apsProductionOrderDo.getCreateuserid().split(",")), apsProductionOrderDo.getId(), ORDEROUTTIME_AUDIT, false);
+
+            //邮件提醒
+            MailDo mailDo = new MailDo();
+            mailDo.setReceiveEmail(apsProductionOrderDo.getModifyusername().split(","));
+            mailDo.setNeedTransReceive(false);
+            mailDo.setCcEmail(new String[]{});
+            mailDo.setSubject(ORDEROUTTIMEAUDIT_TITLE);
+            mailDo.setContent(String.format(ORDEROUTTIME_AUDIT_CONTENT, apsProductionOrderDo.getOrderno()));
+            autoCommonFeginClient.sendHtmlMail(mailDo);
+        }
+    }
+
 }
 
 

+ 13 - 3
cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ApsProductionOrderController.java

@@ -29,21 +29,23 @@ public class ApsProductionOrderController {
 
     /**
      * 发布
+     *
      * @param productionOrderIds
      * @return
      */
     @PostMapping("/publish")
-    public R publish(@RequestBody List<String> productionOrderIds){
+    public R publish(@RequestBody List<String> productionOrderIds) {
         return apsProductionOrderService.publish(productionOrderIds);
     }
 
     /**
      * 取消发布
+     *
      * @param productionOrderIds
      * @return
      */
     @PostMapping("/publish/cancel")
-    public R publishCancel(@RequestBody List<String> productionOrderIds){
+    public R publishCancel(@RequestBody List<String> productionOrderIds) {
         return apsProductionOrderService.publishCancel(productionOrderIds);
     }
 
@@ -51,8 +53,16 @@ public class ApsProductionOrderController {
      * 订单评审,提交计划评审(校验和保存)
      */
     @PostMapping("/checkAndSaveOrUpdateOrder")
-    public R checkAndSaveOrUpdateOrder(@RequestBody CheckAndSaveOrUpdateOrderReq req){
+    public R checkAndSaveOrUpdateOrder(@RequestBody CheckAndSaveOrUpdateOrderReq req) {
         return apsProductionOrderService.checkAndSaveOrUpdateOrder(req);
     }
 
+    /*
+    订单未及时评审提醒
+     */
+    @PostMapping("/orderOuttimeAudit")
+    public void orderOuttimeAudit() {
+        apsProductionOrderService.orderOuttimeAudit();
+    }
+
 }