From 51ad03fcc8ffdb52469216558031a1bd31ed1fa6 Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期二, 23 七月 2024 09:57:47 +0800
Subject: [PATCH] 0723添加异常预警,消息推送,企业确认流程,企业自助建议反馈

---
 project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java                |    2 
 project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java                     |    5 
 project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java                          |    4 
 project-enforce/src/main/java/com/project/enforce/service/impl/EnforceComplaintLogServiceImpl.java  |   29 +++-
 project-quartz/src/main/java/com/project/quartz/task/ProjectTask.java                               |   34 +----
 project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceOrderBo.java              |    4 
 project-enforce/src/main/java/com/project/enforce/service/IEnforceOrderService.java                 |   13 ++
 project-enforce/src/main/java/com/project/enforce/service/impl/EnforceCompanyLogServiceImpl.java    |    8 +
 project-system/src/main/java/com/project/system/service/ISysDeptService.java                        |    2 
 project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceCompanyLogVo.java                |    2 
 project-admin/src/main/java/com/project/admin/controller/enforce/EnforceComplaintLogController.java |   22 +++
 project-admin/src/main/resources/application.yml                                                    |    3 
 project-system/src/main/java/com/project/system/sms/YPSmsApi.java                                   |    6 +
 project-quartz/pom.xml                                                                              |    6 +
 project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java        |   11 +
 project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceDistinctVo.java                  |   19 +++
 project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceCompanyLogBo.java         |    2 
 project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java         |   70 ++++++++++-
 project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java        |    4 
 project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml                            |   13 ++
 project-enforce/src/main/java/com/project/enforce/service/IEnforceComplaintLogService.java          |   11 +
 project-enforce/src/main/java/com/project/enforce/mapper/EnforceOrderMapper.java                    |    2 
 project-enforce/src/main/java/com/project/enforce/service/impl/YPSmsService.java                    |   17 ++
 project-admin/src/main/java/com/project/admin/controller/system/SysDeptController.java              |   32 +++--
 24 files changed, 260 insertions(+), 61 deletions(-)

diff --git a/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceComplaintLogController.java b/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceComplaintLogController.java
index 78ea21f..3c0cb27 100644
--- a/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceComplaintLogController.java
+++ b/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceComplaintLogController.java
@@ -36,7 +36,7 @@
     private final IEnforceComplaintLogService iEnforceComplaintLogService;
 
 
-    @ApiOperation("鏌ヨ鎶曡瘔璁板綍鍒楄〃")
+    @ApiOperation("鈥斺�旇褰曞垪琛�")
     @GetMapping("/list")
     public TableDataInfo list(EnforceComplaintLogQueryBo bo)
     {
@@ -46,6 +46,26 @@
     }
 
 
+    @ApiOperation("鎴戠殑鎶曡瘔鈥斺�旇褰曞垪琛�")
+    @GetMapping("/complaintList")
+    public TableDataInfo complaintList(EnforceComplaintLogQueryBo bo)
+    {
+        startPage();
+        List<EnforceComplaintLogVo> list = iEnforceComplaintLogService.complaintList(bo);
+        return getDataTable(list);
+    }
+
+
+
+    @ApiOperation("璇夋眰寤鸿鈥斺�旇褰曞垪琛�")
+    @GetMapping("/pleaseList")
+    public TableDataInfo pleaseList(EnforceComplaintLogQueryBo bo)
+    {
+        startPage();
+        List<EnforceComplaintLogVo> list = iEnforceComplaintLogService.queryPleaseList(bo);
+        return getDataTable(list);
+    }
+
 
     @ApiOperation("瀵煎嚭鎶曡瘔璁板綍鍒楄〃")
     //@PreAuthorize("@ss.hasPermi('enforce:log:export')")
diff --git a/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java b/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java
index bf08edc..80bf645 100644
--- a/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java
+++ b/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java
@@ -230,4 +230,15 @@
     {
         return toAjax(iEnforceOrderService.deleteByIds(Arrays.asList(orderIds)) ? 1 : 0);
     }
+
+
+    @ApiOperation("浼佷笟纭鈥斺�旀墽娉曞崟")
+    //@PreAuthorize("@ss.hasPermi('enforce:order:remove')")
+    @Log(title = "浼佷笟纭鎵ф硶鍗�" , businessType = BusinessType.UPDATE)
+    @PostMapping("/confirm/{orderId}")
+    @RepeatSubmit
+    public AjaxResult remove(@PathVariable Long orderId)
+    {
+        return toAjax(iEnforceOrderService.confirm(orderId) ? 1 : 0);
+    }
 }
diff --git a/project-admin/src/main/java/com/project/admin/controller/system/SysDeptController.java b/project-admin/src/main/java/com/project/admin/controller/system/SysDeptController.java
index a2ee3fa..bc670cd 100644
--- a/project-admin/src/main/java/com/project/admin/controller/system/SysDeptController.java
+++ b/project-admin/src/main/java/com/project/admin/controller/system/SysDeptController.java
@@ -1,18 +1,5 @@
 package com.project.admin.controller.system;
 
-import java.util.List;
-import org.apache.commons.lang3.ArrayUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
 import com.project.common.annotation.Log;
 import com.project.common.constant.UserConstants;
 import com.project.common.core.controller.BaseController;
@@ -21,10 +8,17 @@
 import com.project.common.enums.BusinessType;
 import com.project.common.utils.StringUtils;
 import com.project.system.service.ISysDeptService;
+import org.apache.commons.lang3.ArrayUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 
 /**
  * 閮ㄩ棬淇℃伅
- * 
+ *
  * @author project
  */
 @RestController
@@ -37,6 +31,16 @@
     /**
      * 鑾峰彇閮ㄩ棬鍒楄〃
      */
+    @GetMapping("/allList")
+    public AjaxResult allList(@RequestParam("parentId") Long parentId)
+    {
+        List<SysDept> depts = deptService.list(deptService.lq().eq(SysDept::getParentId, parentId));
+        return success(depts);
+    }
+
+    /**
+     * 鑾峰彇閮ㄩ棬鍒楄〃
+     */
     @PreAuthorize("@ss.hasPermi('system:dept:list')")
     @GetMapping("/list")
     public AjaxResult list(SysDept dept)
diff --git a/project-admin/src/main/resources/application.yml b/project-admin/src/main/resources/application.yml
index 6f63bda..04194ef 100644
--- a/project-admin/src/main/resources/application.yml
+++ b/project-admin/src/main/resources/application.yml
@@ -143,6 +143,9 @@
             - /system/company/add
             - /system/dict/**
             - /system/doc/**
+            - /system/company/**
+            - /system/dept/allList
+            - /enforce/company/log/**
             - /tool/**
             - /verify/**
             - /report/**
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java b/project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java
index 973090d..7056983 100644
--- a/project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java
+++ b/project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java
@@ -107,6 +107,9 @@
     @ApiModelProperty("鎵爜鍏ュ満鏃堕棿")
     private Date inTime;
 
+    @ApiModelProperty("浼佷笟纭鏃堕棿")
+    private Date confirmTime;
+
 
     @ApiModelProperty("鎵ф硶闃熷憳浜烘暟")
     private Integer userNum;
@@ -199,6 +202,7 @@
     private Integer isEva;
 
 
+
     @ApiModelProperty("璇勪环鎬诲緱鍒�")
     private BigDecimal totalScore;
 
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceCompanyLogBo.java b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceCompanyLogBo.java
index 4e25f7a..9153b80 100644
--- a/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceCompanyLogBo.java
+++ b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceCompanyLogBo.java
@@ -73,7 +73,7 @@
     /** 鏉ヨ鏃堕棿 */
     @ApiModelProperty("鏉ヨ鏃堕棿")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date comeTime;
+    private String comeTime;
 
     /** 鏇存柊浜� */
     @ApiModelProperty("鏇存柊浜�")
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceOrderBo.java b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceOrderBo.java
index 10af5ea..6998497 100644
--- a/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceOrderBo.java
+++ b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceOrderBo.java
@@ -213,4 +213,8 @@
     /** 鎶曡瘔鍐呭 */
     @ApiModelProperty("鎶曡瘔鍐呭")
     private String complaintReason;
+
+    @ApiModelProperty("浼佷笟纭鏃堕棿")
+    private Date confirmTime;
+
 }
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java b/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java
index b86c265..a3b9983 100644
--- a/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java
+++ b/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java
@@ -187,6 +187,10 @@
 	@ApiModelProperty("鎶曡瘔绫诲瀷")
 	private String complaintType;
 
+	@ApiModelProperty("浼佷笟纭鏃堕棿")
+	private Date confirmTime;
+
+
 	@ApiModelProperty("鐢宠閮ㄩ棬ids")
 	private List<Long> applyDeptIds;
 
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceCompanyLogVo.java b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceCompanyLogVo.java
index 0572bad..1d58f24 100644
--- a/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceCompanyLogVo.java
+++ b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceCompanyLogVo.java
@@ -60,7 +60,7 @@
 	@ApiModelProperty("鎵ц浜哄崟浣�")
 	private String comeDeptName;
 	@Excel(name = "鏉ヨ鏃堕棿" , width = 30, dateFormat = "yyyy-MM-dd")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd")
 	@ApiModelProperty("鏉ヨ鏃堕棿")
 	private Date comeTime;
 	@Excel(name = "澶囨敞")
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceDistinctVo.java b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceDistinctVo.java
new file mode 100644
index 0000000..a369f89
--- /dev/null
+++ b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceDistinctVo.java
@@ -0,0 +1,19 @@
+package com.project.enforce.domain.vo;
+
+import lombok.Data;
+
+/**
+ * 鍔熻兘鎻忚堪锛�
+ *
+ * @author ZQN
+ * @version 1.0
+ */
+
+@Data
+public class EnforceDistinctVo
+{
+    private Long companyId;
+    private Long checkDeptId;
+    private String applyTimeStr;
+    private Integer applyNum;
+}
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java
index 0f55ef1..19fd8cd 100644
--- a/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java
+++ b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java
@@ -94,6 +94,10 @@
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date inTime;
 
+	@ApiModelProperty("浼佷笟纭鏃堕棿")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date confirmTime;
+
 	@Excel(name = "鎵ф硶闃熷憳浜烘暟")
 	@ApiModelProperty("鎵ф硶闃熷憳浜烘暟")
 	private Integer userNum;
@@ -182,6 +186,7 @@
 	private String complaintReason;
 
 
+
 	@ApiModelProperty("鍚岃浜烘暟缁�")
 	private List<EnforcePeer> peers;
 
diff --git a/project-enforce/src/main/java/com/project/enforce/mapper/EnforceOrderMapper.java b/project-enforce/src/main/java/com/project/enforce/mapper/EnforceOrderMapper.java
index 459a525..361934d 100644
--- a/project-enforce/src/main/java/com/project/enforce/mapper/EnforceOrderMapper.java
+++ b/project-enforce/src/main/java/com/project/enforce/mapper/EnforceOrderMapper.java
@@ -4,6 +4,7 @@
 import com.project.enforce.domain.EnforceOrder;
 import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo;
 import com.project.enforce.domain.bo.queryBo.OrderCheckedQueryBo;
+import com.project.enforce.domain.vo.EnforceDistinctVo;
 import com.project.enforce.domain.vo.EnforceOrderVo;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
@@ -28,4 +29,5 @@
     @Select("SELECT COUNT(DISTINCT company_id) FROM enforce_order where check_status>=2")
     Integer getDistinctCompanyNum();
 
+    List<EnforceDistinctVo> selectDistinctCheckDeptIdAndCompanyId();
 }
diff --git a/project-enforce/src/main/java/com/project/enforce/service/IEnforceComplaintLogService.java b/project-enforce/src/main/java/com/project/enforce/service/IEnforceComplaintLogService.java
index 812f1b1..785c910 100644
--- a/project-enforce/src/main/java/com/project/enforce/service/IEnforceComplaintLogService.java
+++ b/project-enforce/src/main/java/com/project/enforce/service/IEnforceComplaintLogService.java
@@ -23,6 +23,16 @@
 	 */
     List<EnforceComplaintLogVo> queryList(EnforceComplaintLogQueryBo bo);
 
+	/**
+	 * 鎶曡瘔鍒楄〃
+	 */
+	List<EnforceComplaintLogVo> complaintList(EnforceComplaintLogQueryBo bo);
+
+	/**
+	 * 寤鸿鍒楄〃
+	 */
+	List<EnforceComplaintLogVo> queryPleaseList(EnforceComplaintLogQueryBo bo);
+
     /**
 	 * 鏌ヨ鍗曚釜
 	 * @return  EnforceComplaintLogVo
@@ -72,4 +82,5 @@
 	 * @return	true鎴愬姛 false澶辫触
 	 */
 	Boolean doComplaint(ComplaintResultBo bo);
+
 }
diff --git a/project-enforce/src/main/java/com/project/enforce/service/IEnforceOrderService.java b/project-enforce/src/main/java/com/project/enforce/service/IEnforceOrderService.java
index 7f05381..eb10dce 100644
--- a/project-enforce/src/main/java/com/project/enforce/service/IEnforceOrderService.java
+++ b/project-enforce/src/main/java/com/project/enforce/service/IEnforceOrderService.java
@@ -149,4 +149,17 @@
 	 */
 	Integer getDistinctCompanyNum();
 
+	/**
+	 * 浼佷笟纭
+	 * @param orderId	璁㈠崟id
+	 * @return	缁撴灉
+	 */
+	Boolean confirm(Long orderId);
+
+	/**
+	 * 澶勭悊寮傚父鍗曞瓙
+	 * @return	缁撴灉
+	 */
+	Integer executeEnforceOrderWarn();
+
 }
diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java
index cd265fe..d9e2e25 100644
--- a/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java
+++ b/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java
@@ -64,9 +64,11 @@
                     if (bo.getCheckStatus()== -1){
                         company.setCheckStatus(-1);
                         companyBo.setCompanyStatus(1);
+                        smsService.sendCompanyCheckMsg(company.getCompanyPhone(), -1);
                     } else {
                         company.setCheckStatus(2);
                         companyBo.setCompanyStatus(0);
+                        smsService.sendCompanyCheckMsg(company.getCompanyPhone(), 2);
                     }
                     addCheckLog(company, bo);
                     company.setCheckReason(bo.getCheckReason());
diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceCompanyLogServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceCompanyLogServiceImpl.java
index 7268711..96b50e0 100644
--- a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceCompanyLogServiceImpl.java
+++ b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceCompanyLogServiceImpl.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.project.common.utils.DateUtils;
 import com.project.common.utils.StringUtils;
 import com.project.enforce.domain.EnforceCompanyLog;
 import com.project.enforce.domain.bo.editBo.EnforceCompanyLogBo;
@@ -52,6 +53,7 @@
     public Boolean insertByBo(EnforceCompanyLogBo bo)
     {
         EnforceCompanyLog add = Convert.convert(EnforceCompanyLog.class, bo);
+        add.setComeTime(DateUtils.dateTime(DateUtils.YYYY_MM_DD, bo.getComeTime()));
         validEntityBeforeSave(add);
         return this.save(add);
     }
@@ -81,7 +83,7 @@
     //淇濆瓨鍓嶆牎楠�
     private void validEntityBeforeSave(EnforceCompanyLog entity)
     {
-        if (StringUtils.isEmpty(entity.getComeDeptName()) && entity.getComeDeptId()!=null){
+        if (StringUtils.isNotEmpty(entity.getComeDeptName()) && entity.getComeDeptId()!=null){
             entity.setComeDeptName(deptService.getDeptAllName(entity.getComeDeptId()));
         }
     }
@@ -103,7 +105,9 @@
             qw.eq(StringUtils.isNotEmpty(bo.getComePhone()), "come_phone", bo.getComePhone());
             qw.eq(bo.getComeDeptId() != null, "come_dept_id", bo.getComeDeptId());
             qw.like(StringUtils.isNotEmpty(bo.getComeDeptName()), "come_dept_name", bo.getComeDeptName());
-            qw.eq(bo.getComeTime() != null, "come_time", bo.getComeTime());
+            qw.ge(StringUtils.isNotEmpty(bo.getBeginTime()), "come_time", bo.getBeginTime());
+            qw.le(StringUtils.isNotEmpty(bo.getEndTime()), "come_time", bo.getEndTime());
+
         if (StringUtils.isNotEmpty(bo.getIsAsc()) && StringUtils.isNotEmpty(bo.getOrderByColumn())){
             if ("acs".equals(bo.getIsAsc())) {
                 qw.orderByAsc(bo.getOrderByColumn());
diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceComplaintLogServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceComplaintLogServiceImpl.java
index 52e6bee..f74e35d 100644
--- a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceComplaintLogServiceImpl.java
+++ b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceComplaintLogServiceImpl.java
@@ -49,6 +49,23 @@
         return Convert.toList(EnforceComplaintLogVo.class , list);
     }
 
+    @Override//鍒楄〃鏌ヨ
+    public List<EnforceComplaintLogVo> complaintList(EnforceComplaintLogQueryBo bo)
+    {
+        QueryWrapper<EnforceComplaintLog> qw = getQw(bo);
+        qw.ne("complaint_type","-1");
+        List<EnforceComplaintLog> list = this.list(qw);
+        return Convert.toList(EnforceComplaintLogVo.class , list);
+    }
+
+    @Override
+    public List<EnforceComplaintLogVo> queryPleaseList(EnforceComplaintLogQueryBo bo) {
+        QueryWrapper<EnforceComplaintLog> qw = getQw(bo);
+        qw.eq("complaint_type","-1");
+        List<EnforceComplaintLog> list = this.list(qw);
+        return Convert.toList(EnforceComplaintLogVo.class , list);
+    }
+
     @Override//id鏌ヨ
     public EnforceComplaintLogVo queryById(Long id)
     {
@@ -91,7 +108,7 @@
         List<OrderNodeVo> vos = new ArrayList<>();
         EnforceComplaintLog order = this.getById(id);
         if (order.getComplaintTime()!=null){
-            vos.add(new OrderNodeVo("鍙戣捣鎶曡瘔",order.getCompanyUser(),order.getCompanyName(),order.getComplaintTime(), null));
+            vos.add(new OrderNodeVo("鍙戣捣璇夋眰",order.getCompanyUser(),order.getCompanyName(),order.getComplaintTime(), null));
         }
         if (order.getInTime()!=null && StringUtils.isNotEmpty(order.getInUser())){
 
@@ -156,11 +173,11 @@
             ){
                 throw new BaseException("鎶曡瘔浼佷笟涓嶈兘涓虹┖锛�");
             }
-            if (entity.getExecuteDeptId() == null
-                    || StringUtils.isEmpty(entity.getExecuteDeptName())
-            ){
-                throw new BaseException("鎶曡瘔鍗曚綅涓嶈兘涓虹┖锛�");
-            }
+//            if (entity.getExecuteDeptId() == null
+//                    || StringUtils.isEmpty(entity.getExecuteDeptName())
+//            ){
+//                throw new BaseException("鎶曡瘔鍗曚綅涓嶈兘涓虹┖锛�");
+//            }
             if (StringUtils.isEmpty(entity.getComplaintType())){
                 throw new BaseException("璇烽�夋嫨瑕佹姇璇夌被鍨嬶紒");
             }
diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java
index 8fb7825..bfcaa46 100644
--- a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java
+++ b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.project.common.annotation.DataScope;
 import com.project.common.core.domain.entity.SysUser;
+import com.project.common.core.domain.model.DateRange;
 import com.project.common.enums.OrderPre;
 import com.project.common.exception.base.BaseException;
 import com.project.common.utils.DateUtils;
@@ -19,6 +20,7 @@
 import com.project.enforce.domain.bo.editBo.OrderResultBo;
 import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo;
 import com.project.enforce.domain.bo.queryBo.OrderCheckedQueryBo;
+import com.project.enforce.domain.vo.EnforceDistinctVo;
 import com.project.enforce.domain.vo.EnforceEvaluateVo;
 import com.project.enforce.domain.vo.EnforceOrderVo;
 import com.project.enforce.domain.vo.OrderNodeVo;
@@ -34,6 +36,7 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.LinkedList;
 import java.util.List;
 
 /**
@@ -57,7 +60,7 @@
 
     /**
      * 閫氱敤鍒楄〃-鏃犳潈闄�
-     * @param bo	鍙傛暟
+     * @param bo    鍙傛暟
      * @return 鍒楄〃
      */
     @Override
@@ -74,8 +77,59 @@
     }
 
     /**
+     * 浼佷笟纭鎵ф硶鍗�
+     * @param orderId    璁㈠崟id
+     * @return  缁撴灉
+     */
+    @Override
+    @Transactional
+    public Boolean confirm(Long orderId)
+    {
+        EnforceOrder order = this.getById(orderId);
+        if (order.getOrderStatus()!=4){
+            throw new BaseException("璇峰緟鎵ф硶閮ㄩ棬涓婃姤缁撴灉鍚庣‘璁わ紒");
+        }
+        order.setOrderStatus(5);
+        order.setConfirmTime(DateUtils.getNowDate());
+        return this.updateById(order);
+    }
+
+    @Override
+    @Transactional
+    public Integer executeEnforceOrderWarn()
+    {
+        List<EnforceOrder> updList = new LinkedList<>();
+        //鍚屼竴澶╅噸澶嶆墽娉�
+        List<EnforceDistinctVo> list =baseMapper.selectDistinctCheckDeptIdAndCompanyId();
+        if (StringUtils.isNotEmpty(list)){
+            for (EnforceDistinctVo distinctVo : list) {
+                List<EnforceOrder> orderList = this.list(lq()
+                        .eq(EnforceOrder::getCompanyId, distinctVo.getCompanyId())
+                        .eq(EnforceOrder::getCheckDeptId, distinctVo.getCheckDeptId())
+                        .like(EnforceOrder::getApplyTime, distinctVo.getApplyTimeStr())
+                        .orderByDesc(EnforceOrder::getApplyTime)
+                );
+                if (StringUtils.isNotEmpty(orderList)){
+                    List<EnforceOrder> enforceOrders = orderList.subList(0, orderList.size() - 1);
+                    enforceOrders.forEach(order->{order.setWarnStatus(1);order.setWarnReason("鍚屼竴澶╁唴瀵瑰悓涓�浼佷笟閲嶅鎵ф硶");});
+                    updList.addAll(enforceOrders);
+                }
+            }
+        }
+        if (StringUtils.isNotEmpty(updList)){
+            this.updateBatchById(updList);
+        }
+        return updList.size();
+    }
+
+    public static void main(String[] args) {
+        DateRange todayRange = DateUtils.getTodayRange();
+        System.out.println(todayRange);
+    }
+
+    /**
      * 浼佷笟鎵ф硶鍗曞垪琛�
-     * @param bo	鍙傛暟
+     * @param bo    鍙傛暟
      * @return 鍒楄〃
      */
     @Override
@@ -89,7 +143,7 @@
 
     /**
      * 鎵ф硶鐢宠鍗曞垪琛�
-     * @param bo	鍙傛暟
+     * @param bo    鍙傛暟
      * @return 鍒楄〃
      */
     @Override
@@ -104,7 +158,7 @@
 
     /**
      * 鎵ф硶鎵ц鍗曞垪琛�
-     * @param bo	鍙傛暟
+     * @param bo    鍙傛暟
      * @return 鍒楄〃
      */
     @Override
@@ -118,7 +172,7 @@
 
     /**
      * 寰呭鏍稿垪琛�
-     * @param bo	鍙傛暟
+     * @param bo    鍙傛暟
      * @return 鍒楄〃
      */
     @Override
@@ -137,7 +191,7 @@
 
     /**
      * 瀹℃壒璁板綍鍒楄〃
-     * @param bo	鍙傛暟
+     * @param bo    鍙傛暟
      * @return 鍒楄〃
      */
     @Override
@@ -293,7 +347,9 @@
         if (order.getExecuteTime()!=null){
             vos.add(new OrderNodeVo("缁撴灉涓婃姤",order.getExecuteUser(),order.getExecuteDeptName(),order.getExecuteTime(), null));
         }
-
+        if (order.getConfirmTime()!=null){
+            vos.add(new OrderNodeVo("浼佷笟纭",order.getCompanyUser(),order.getCompanyName(),order.getConfirmTime(), null));
+        }
         return vos;
     }
 
diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/YPSmsService.java b/project-enforce/src/main/java/com/project/enforce/service/impl/YPSmsService.java
index 5d014f5..6aaac4e 100644
--- a/project-enforce/src/main/java/com/project/enforce/service/impl/YPSmsService.java
+++ b/project-enforce/src/main/java/com/project/enforce/service/impl/YPSmsService.java
@@ -65,4 +65,21 @@
         String applyMsg = StringUtils.format(StringUtils.format(YPSmsApi.COMPANY_TMP, applyDeptName, date));
         smsApi.sendSms(phone, applyMsg) ;
     }
+
+    /**
+     * 閫氱煡浼佷笟瀹℃牳缁撴灉
+     * @param phone    鎵嬫満鍙�
+     * @param checkStatus   鎵ф硶閮ㄩ棬
+     */
+    @Async
+    public void sendCompanyCheckMsg(String phone, Integer checkStatus)
+    {
+        String companyCheckMsg;
+        if (checkStatus==-1){
+            companyCheckMsg = YPSmsApi.COMPANY_CHECK_FILE_TMP;
+        }  else {
+            companyCheckMsg = YPSmsApi.COMPANY_CHECK_SUCCESS_TMP;
+        }
+        smsApi.sendSms(phone, companyCheckMsg) ;
+    }
 }
diff --git a/project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml b/project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml
index 80bc40f..56c5291 100644
--- a/project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml
+++ b/project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml
@@ -115,4 +115,17 @@
             AND t2.company_code = #{companyCode}
         order by t2.apply_time asc
     </select>
+
+
+    <select id="selectDistinctCheckDeptIdAndCompanyId"
+            resultType="com.project.enforce.domain.vo.EnforceDistinctVo">
+        select t.* from
+            (
+                SELECT company_id, check_dept_id, SUBSTR(apply_time,1,10) as apply_time_str, count( 1 ) AS apply_num
+                FROM enforce_order WHERE warn_status=0
+                GROUP BY company_id, check_dept_id,apply_time_str
+            ) t
+        WHERE
+            t.apply_num > 1
+    </select>
 </mapper>
diff --git a/project-quartz/pom.xml b/project-quartz/pom.xml
index 4c832b6..f8913c1 100644
--- a/project-quartz/pom.xml
+++ b/project-quartz/pom.xml
@@ -17,6 +17,12 @@
 
     <dependencies>
 
+        <dependency>
+            <groupId>com.project</groupId>
+            <artifactId>project-enforce</artifactId>
+        </dependency>
+
+
         <!-- 瀹氭椂浠诲姟 -->
         <dependency>
             <groupId>org.quartz-scheduler</groupId>
diff --git a/project-quartz/src/main/java/com/project/quartz/task/ProjectTask.java b/project-quartz/src/main/java/com/project/quartz/task/ProjectTask.java
index b80abd4..ee3aad2 100644
--- a/project-quartz/src/main/java/com/project/quartz/task/ProjectTask.java
+++ b/project-quartz/src/main/java/com/project/quartz/task/ProjectTask.java
@@ -1,7 +1,7 @@
 package com.project.quartz.task;
 
 import com.project.common.utils.DateUtils;
-import com.project.common.utils.WeChatUtils;
+import com.project.enforce.service.IEnforceOrderService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -19,35 +19,15 @@
 public class ProjectTask
 {
 
+    private final IEnforceOrderService orderService;
 
-    public void refreshWxAccessToken()
+    //姣忓ぉ澶勭悊寮傚父璀﹀憡璁㈠崟
+    public void executeEnforceOrderWarn()
     {
-        WeChatUtils.refreshAccessToken();
-        log.info(DateUtils.getTime() + "鍒锋柊access_token");
+        log.info(DateUtils.getTime()+"_寮傚父璀﹀憡澶勭悊寮�濮�....");
+        Integer size = orderService.executeEnforceOrderWarn();
+        log.info(DateUtils.getTime()+"_寮傚父璀﹀憡澶勭悊瀹屾垚锛屽鐞嗘潯鏁帮細"+size);
     }
-
-
-//    //姣忓ぉ澶勭悊鐏电帀杩旇繕
-//    public void executeIntegralToMoney()
-//    {
-//        log.info(DateUtils.getTime()+"_澶勭悊鐏电帀杩旇繕鍒颁綑棰�");
-//        walletService.executeIntegralToMoney();
-//    }
-//
-//
-//    //姣忓ぉ澶勭悊鎶曡祫杩旇繕
-//    public void executeInvestorToMoney()
-//    {
-//        log.info(DateUtils.getTime()+"_澶勭悊鎶曡祫杩旇繕鍒颁綑棰�");
-//        walletService.executeInvestorToMoney();
-//    }
-//
-//    //姣忓ぉ澶勭悊7澶╄嚜鍔ㄦ敹璐�
-//    public void executeAutoReciver()
-//    {
-//        log.info(DateUtils.getTime()+"_澶勭悊鑷姩鏀惰揣");
-//        orderDataService.autoReciverSend();
-//    }
 
 
 }
diff --git a/project-system/src/main/java/com/project/system/service/ISysDeptService.java b/project-system/src/main/java/com/project/system/service/ISysDeptService.java
index 0902dac..211705c 100644
--- a/project-system/src/main/java/com/project/system/service/ISysDeptService.java
+++ b/project-system/src/main/java/com/project/system/service/ISysDeptService.java
@@ -145,6 +145,4 @@
      * @return  鍏ㄥ悕
      */
     String getDeptAllName(Long deptId);
-
-
 }
diff --git a/project-system/src/main/java/com/project/system/sms/YPSmsApi.java b/project-system/src/main/java/com/project/system/sms/YPSmsApi.java
index 19da555..33200b9 100644
--- a/project-system/src/main/java/com/project/system/sms/YPSmsApi.java
+++ b/project-system/src/main/java/com/project/system/sms/YPSmsApi.java
@@ -71,6 +71,12 @@
     public static final String COMPANY_TMP = SIGN +  "{} 鍗曚綅棰勮灏嗕簬 {} 鍒拌吹鍗曚綅杩涜妫�鏌ワ紝璇锋彁鍓嶇煡鏅擄紒";
 
     /**
+     * 浼佷笟瀹℃牳缁撴灉閫氱煡妯℃澘
+     */
+    public static final String COMPANY_CHECK_SUCCESS_TMP = SIGN +  "鎮ㄧ殑浼佷笟娉ㄥ唽淇℃伅瀹℃牳宸查�氳繃锛岃鐢ㄧ敵璇锋椂濉啓鐨勮仈绯讳汉鎵嬫満鍙风櫥褰曞皬绋嬪簭銆�";
+    public static final String COMPANY_CHECK_FILE_TMP = SIGN +  "鎮ㄧ殑浼佷笟娉ㄥ唽淇℃伅瀹℃牳鏈�氳繃锛岃閲嶆柊鍦ㄥ皬绋嬪簭鎻愪氦淇℃伅杩涜瀹℃牳銆�";
+
+    /**
      * 楠岃瘉鐮佹ā鏉�
      */
     public static final String CODE_TMP = SIGN + "鎮ㄧ殑楠岃瘉鐮佹槸{}";

--
Gitblit v1.9.1