From 3467fa64f4be6efc9b742913419e7c3a501c541b Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期四, 20 六月 2024 16:52:21 +0800
Subject: [PATCH] 云片短信对接,审批流程优化
---
project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java | 11
project-system/src/main/java/com/project/system/service/ISysDictDataService.java | 20
project-common/src/main/java/com/project/common/sms/YPSmsApi.java | 37 +
project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceComplaintLogQueryBo.java | 13
project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java | 2
project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceOrderBo.java | 13
project-enforce/src/main/java/com/project/enforce/service/IEnforceOrderService.java | 16
project-system/src/main/java/com/project/system/service/impl/SysDeptServiceImpl.java | 37 +
project-report/src/main/java/com/project/report/service/IReportService.java | 39 +
project-system/src/main/resources/mapper/system/SysUserMapper.xml | 4
project-system/src/main/java/com/project/system/service/ISysDeptService.java | 8
project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java | 4
project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceComplaintLogVo.java | 16
project-report/src/main/resources/mapper/report/ReportMapper.xml | 126 +++++
project-enforce/src/main/java/com/project/enforce/mapper/EnforcePeerServiceImpl.java | 106 ++++
project-admin/src/main/java/com/project/admin/controller/enforce/EnforcePeerController.java | 100 ++++
project-common/src/main/java/com/project/common/enums/OrderPre.java | 6
project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java | 127 ++++-
project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java | 9
project-enforce/src/main/java/com/project/enforce/domain/EnforceComplaintLog.java | 12
project-enforce/src/main/java/com/project/enforce/mapper/EnforceOrderMapper.java | 3
project-enforce/src/main/java/com/project/enforce/service/IEnforcePeerService.java | 53 ++
project-enforce/src/main/java/com/project/enforce/service/impl/YPSmsService.java | 65 ++
project-system/src/main/java/com/project/system/mapper/SysUserMapper.java | 12
project-enforce/src/main/java/com/project/enforce/mapper/EnforcePeerMapper.java | 13
project-admin/src/main/java/com/project/admin/controller/report/ReportController.java | 37 +
project-enforce/src/main/java/com/project/enforce/domain/EnforcePeer.java | 68 ++
project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java | 19
project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforcePeerQueryBo.java | 56 ++
project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java | 8
project-report/src/main/java/com/project/report/mapper/ReportMapper.java | 30 +
project-system/src/main/java/com/project/system/mapper/SysDictDataMapper.java | 3
project-enforce/src/main/java/com/project/enforce/domain/vo/EnforcePeerVo.java | 45 +
project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java | 132 ++++
project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java | 17
project-enforce/src/main/resources/mapper/enforce/EnforcePeerMapper.xml | 21
project-admin/src/main/java/com/project/admin/controller/system/SysProfileController.java | 5
project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml | 39 -
project-system/src/main/java/com/project/system/service/ISysUserService.java | 9
project-system/src/main/java/com/project/system/service/impl/SysDictDataServiceImpl.java | 5
project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforcePeerBo.java | 50 ++
project-report/src/main/java/com/project/report/domain/bo/query/ReportQueryBo.java | 29 +
project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceComplaintLogBo.java | 9
43 files changed, 1,259 insertions(+), 175 deletions(-)
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 f02c617..8458e58 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
@@ -33,6 +33,14 @@
private final IEnforceOrderService iEnforceOrderService;
+ @ApiOperation("鎵ф硶鍗曞垪琛�")
+ @GetMapping("/list")
+ public TableDataInfo list(EnforceOrderQueryBo bo)
+ {
+ startPage();
+ List<EnforceOrderVo> list = iEnforceOrderService.queryList(bo);
+ return getDataTable(list);
+ }
@ApiOperation("淇℃伅鍏紡鍒楄〃")
@GetMapping("/showList")
@@ -40,15 +48,6 @@
{
startPage();
List<EnforceOrderVo> list = iEnforceOrderService.showList();
- return getDataTable(list);
- }
-
- @ApiOperation("鎵ф硶鍗曞垪琛�")
- @GetMapping("/list")
- public TableDataInfo list(EnforceOrderQueryBo bo)
- {
- startPage();
- List<EnforceOrderVo> list = iEnforceOrderService.queryList(bo);
return getDataTable(list);
}
diff --git a/project-admin/src/main/java/com/project/admin/controller/enforce/EnforcePeerController.java b/project-admin/src/main/java/com/project/admin/controller/enforce/EnforcePeerController.java
new file mode 100644
index 0000000..1ae8a80
--- /dev/null
+++ b/project-admin/src/main/java/com/project/admin/controller/enforce/EnforcePeerController.java
@@ -0,0 +1,100 @@
+package com.project.admin.controller.enforce;
+
+import com.project.common.annotation.Log;
+import com.project.common.annotation.RepeatSubmit;
+import com.project.common.core.controller.BaseController;
+import com.project.common.core.domain.AjaxResult;
+import com.project.common.core.page.TableDataInfo;
+import com.project.common.enums.BusinessType;
+import com.project.common.utils.poi.ExcelUtil;
+import com.project.enforce.domain.bo.editBo.EnforcePeerBo;
+import com.project.enforce.domain.bo.queryBo.EnforcePeerQueryBo;
+import com.project.enforce.domain.vo.EnforcePeerVo;
+import com.project.enforce.service.IEnforcePeerService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 鎵ф硶鍗曞悓琛屼汉Controller
+ *
+ * @author manton
+ */
+@Api(value = "鎵ф硶闃熷憳鎺у埗鍣�", tags = {"鎵ф硶鍗曢槦鍛樼鐞�"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/enforce/peer")
+public class EnforcePeerController extends BaseController {
+
+ private final IEnforcePeerService iEnforcePeerService;
+
+
+ @ApiOperation("鏌ヨ鎵ф硶鍗曢槦鍛樺垪琛�")
+ @GetMapping("/list")
+ public TableDataInfo list(EnforcePeerQueryBo bo)
+ {
+ startPage();
+ List<EnforcePeerVo> list = iEnforcePeerService.queryList(bo);
+ return getDataTable(list);
+ }
+
+
+
+ @ApiOperation("瀵煎嚭鎵ф硶鍗曢槦鍛樺垪琛�")
+ //@PreAuthorize("@ss.hasPermi('enforce:peer:export')")
+ @Log(title = "鎵ф硶鍗曞悓琛屼汉", businessType = BusinessType.EXPORT)
+ @GetMapping("/export")
+ @RepeatSubmit
+ public AjaxResult export(EnforcePeerQueryBo bo)
+ {
+ List<EnforcePeerVo> list = iEnforcePeerService.queryList(bo);
+ ExcelUtil<EnforcePeerVo> util = new ExcelUtil<EnforcePeerVo>(EnforcePeerVo.class);
+ return util.exportExcel(list, "鎵ф硶鍗曞悓琛屼汉");
+ }
+
+
+ @ApiOperation("鑾峰彇鎵ф硶鍗曢槦鍛樿缁嗕俊鎭�")
+ @GetMapping("/{id}")
+ public AjaxResult getInfo(@PathVariable("id" ) Long id)
+ {
+ return AjaxResult.success(iEnforcePeerService.queryById(id));
+ }
+
+
+ @ApiOperation("鏂板鎵ф硶鍗曢槦鍛�")
+ //@PreAuthorize("@ss.hasPermi('enforce:peer:add')")
+ @Log(title = "鎵ф硶鍗曢槦鍛�", businessType = BusinessType.INSERT)
+ @PostMapping("/add")
+ @RepeatSubmit
+ public AjaxResult add(@RequestBody EnforcePeerBo bo)
+ {
+ return toAjax(iEnforcePeerService.insertByBo(bo) ? 1 : 0);
+ }
+
+
+ @ApiOperation("淇敼鎵ф硶鍗曢槦鍛�")
+ //@PreAuthorize("@ss.hasPermi('enforce:peer:edit')")
+ @Log(title = "鎵ф硶鍗曢槦鍛�", businessType = BusinessType.UPDATE)
+ @PostMapping("/upd")
+ @RepeatSubmit
+ public AjaxResult upd(@RequestBody EnforcePeerBo bo)
+ {
+ return toAjax(iEnforcePeerService.updateByBo(bo) ? 1 : 0);
+ }
+
+
+ @ApiOperation("鍒犻櫎鎵ф硶鍗曢槦鍛�")
+ //@PreAuthorize("@ss.hasPermi('enforce:peer:remove')")
+ @Log(title = "鎵ф硶鍗曢槦鍛�" , businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ @RepeatSubmit
+ public AjaxResult remove(@PathVariable Long[] ids)
+ {
+ return toAjax(iEnforcePeerService.deleteByIds(Arrays.asList(ids)) ? 1 : 0);
+ }
+}
diff --git a/project-admin/src/main/java/com/project/admin/controller/report/ReportController.java b/project-admin/src/main/java/com/project/admin/controller/report/ReportController.java
index 323b4c7..6082639 100644
--- a/project-admin/src/main/java/com/project/admin/controller/report/ReportController.java
+++ b/project-admin/src/main/java/com/project/admin/controller/report/ReportController.java
@@ -2,6 +2,7 @@
import com.project.common.core.controller.BaseController;
import com.project.common.core.domain.AjaxResult;
+import com.project.report.domain.bo.query.ReportQueryBo;
import com.project.report.service.IReportService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -32,17 +33,45 @@
@ApiOperation("鎵ф硶娆℃暟鏈堝害鍒嗗竷")
@GetMapping("/getMonthCount")
- public AjaxResult getMonthCount(Long deptId)
+ public AjaxResult getMonthCount(ReportQueryBo bo)
{
- return AjaxResult.success(reportService.getMonthCount(deptId));
+ return AjaxResult.success(reportService.getMonthCount(bo));
}
@ApiOperation("鎵ф硶娆℃暟閮ㄩ棬鍒嗗竷")
@GetMapping("/getDeptCount")
- public AjaxResult getDeptCount(String yearMonth)
+ public AjaxResult getDeptCount(ReportQueryBo bo)
{
- return AjaxResult.success(reportService.getDeptCount(yearMonth));
+ return AjaxResult.success(reportService.getDeptCount(bo));
+ }
+
+ @ApiOperation("浼佷笟琚墽娉曟鏁板垎甯�")
+ @GetMapping("/getCompanyCount")
+ public AjaxResult getCompanyCount(ReportQueryBo bo)
+ {
+ return AjaxResult.success(reportService.getCompanyCount(bo));
+ }
+
+ @ApiOperation("鎵ф硶绫诲瀷鍗犳瘮")
+ @GetMapping("/getEnforceTypeCount")
+ public AjaxResult getEnforceTypeCount(ReportQueryBo bo)
+ {
+ return AjaxResult.success(reportService.getEnforceTypeCount(bo));
+ }
+
+ @ApiOperation("鎶曡瘔鐘舵�佸崰姣�")
+ @GetMapping("/getComplaintStatusCount")
+ public AjaxResult getComplaintStatusCount(ReportQueryBo bo)
+ {
+ return AjaxResult.success(reportService.getComplaintStatusCount(bo));
+ }
+
+ @ApiOperation("鎶曡瘔绫诲瀷鍗犳瘮")
+ @GetMapping("/getComplaintTypeCount")
+ public AjaxResult getComplaintTypeCount(ReportQueryBo bo)
+ {
+ return AjaxResult.success(reportService.getComplaintTypeCount(bo));
}
}
diff --git a/project-admin/src/main/java/com/project/admin/controller/system/SysProfileController.java b/project-admin/src/main/java/com/project/admin/controller/system/SysProfileController.java
index 65cb3e9..7dacc7f 100644
--- a/project-admin/src/main/java/com/project/admin/controller/system/SysProfileController.java
+++ b/project-admin/src/main/java/com/project/admin/controller/system/SysProfileController.java
@@ -1,6 +1,8 @@
package com.project.admin.controller.system;
import com.project.common.config.ProjectConfig;
+import com.project.common.core.domain.entity.SysDept;
+import com.project.system.service.ISysDeptService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@@ -35,6 +37,7 @@
public class SysProfileController extends BaseController
{
private final ISysUserService userService;
+ private final ISysDeptService deptService;
private final TokenService tokenService;
@@ -45,6 +48,8 @@
public AjaxResult profile()
{
SysUser user = userService.getById(getUserId());
+ SysDept sysDept = deptService.selectDeptById(user.getDeptId());
+ user.setDept(sysDept);
AjaxResult ajax = AjaxResult.success(user);
ajax.put("roleGroup", userService.selectUserRoleGroup(user.getUserName()));
ajax.put("postGroup", userService.selectUserPostGroup(user.getUserName()));
diff --git a/project-common/src/main/java/com/project/common/enums/OrderPre.java b/project-common/src/main/java/com/project/common/enums/OrderPre.java
index b8ec924..683b7f2 100644
--- a/project-common/src/main/java/com/project/common/enums/OrderPre.java
+++ b/project-common/src/main/java/com/project/common/enums/OrderPre.java
@@ -10,11 +10,7 @@
*/
public enum OrderPre {
- CZDD("鍏呭�煎崟", 1),
- XSDD("閿�鍞崟", 2),
- ID("ID", 3),
- TKDD("閫�娆惧崟", 4),
- TXDD("鎻愮幇鍗�", 5)
+ ZFD("鎵ф硶鍗�", 1)
;
diff --git a/project-common/src/main/java/com/project/common/sms/YPSmsApi.java b/project-common/src/main/java/com/project/common/sms/YPSmsApi.java
index ef68dea..b3d1067 100644
--- a/project-common/src/main/java/com/project/common/sms/YPSmsApi.java
+++ b/project-common/src/main/java/com/project/common/sms/YPSmsApi.java
@@ -25,9 +25,14 @@
public class YPSmsApi {
/**
- * 璇锋眰鍦板潃
+ * 鏅鸿兘鍖归厤妯℃澘鍙戦�佸湴鍧�
*/
- private static final String YP_SMS_URI = "http://yunpian.com/v1/sms/send.json";
+ private static final String YP_SMS_URI = "https://sms.yunpian.com/v2/sms/single_send.json";
+
+ /**
+ * 妯℃澘鍙戦�佸湴鍧�
+ */
+ private static final String YP_SMS_TMP_URI = "https://sms.yunpian.com/v2/sms/tpl_single_send.json";
/**
* KEY
@@ -40,25 +45,31 @@
private static final String SIGN = "銆愰噾鏄庢簮銆�";
/**
+ * 鎵ф硶鍗曠敵璇锋ā鏉�
+ */
+ public static final String APPLY_TMP = "{} 鎻愪氦浜嗘柊鐨勭敵璇峰崟锛岃鎮ㄥ強鏃跺鎵癸紒";
+
+ /**
+ * 鎵ф硶鍗曞鏍稿悗妯℃澘
+ */
+ public static final String CHECK_TMP = "鎮ㄦ彁浜ょ殑鐢宠鍗曞凡琚鎵逛汉 {}, 璇锋偍鍙婃椂鏌ョ湅锛�";
+
+ /**
+ * 浼佷笟閫氱煡妯℃澘
+ */
+ public static final String COMPANY_TMP = "{} 鍗曚綅棰勮灏嗕簬 {} 鍒拌吹鍗曚綅杩涜妫�鏌ワ紝璇锋彁鍓嶇煡鏅擄紒";
+
+ /**
* 楠岃瘉鐮佹ā鏉�
*/
- public static final String VERIFY_CODE_TEMPLATE = "鎮ㄧ殑楠岃瘉鐮佹槸{}";
+ public static final String CODE_TMP = "鎮ㄧ殑楠岃瘉鐮佹槸{}";
- /**
- * 瀹℃壒閫氱煡妯℃澘
- */
- public static final String CHECK_NOTICE_TEMPLATE = SIGN + "{}鎻愪氦浜嗘墽娉曠敵璇峰崟锛岃鎮ㄥ強鏃跺鎵癸紒";
-
- /**
- * 瀹℃壒閫氳繃妯℃澘
- */
- public static final String CHECK_PASS_TEMPLATE = SIGN + "鎮ㄦ彁浜ょ殑鎵ф硶鐢宠鍗曞凡瀹℃壒閫氳繃锛岃鎮ㄥ強鏃舵煡鐪嬶紒";
/**
- * 鍙戦�佺煭淇�
+ * 绠�鍗曞彂閫佺煭淇�
* @param mobile 銆�鎺ュ彈鐨勬墜鏈哄彿
* @param msg 銆�鐭俊鍐呭
*/
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/EnforceComplaintLog.java b/project-enforce/src/main/java/com/project/enforce/domain/EnforceComplaintLog.java
index b3a10ca..68b1881 100644
--- a/project-enforce/src/main/java/com/project/enforce/domain/EnforceComplaintLog.java
+++ b/project-enforce/src/main/java/com/project/enforce/domain/EnforceComplaintLog.java
@@ -9,6 +9,9 @@
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
+
+import java.util.Date;
+
/**
* 鎶曡瘔璁板綍瀵硅薄 enforce_complaint_log
*
@@ -73,6 +76,15 @@
@ApiModelProperty("鎶曡瘔绫诲瀷")
private String complaintType;
+ @ApiModelProperty("鎶曡瘔鏃堕棿")
+ private Date complaintTime;
+
+ @ApiModelProperty("鍝嶅簲鏃堕棿")
+ private Date inTime;
+
+ @ApiModelProperty("澶勭悊缁撴灉鏃堕棿")
+ private Date resultTime;
+
@ApiModelProperty("鎶曡瘔鍐呭")
private String complaintReason;
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 cebd7b4..1fc4dea 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
@@ -100,6 +100,9 @@
@ApiModelProperty("璁″垝鎵ф硶鏃堕棿")
private Date planTime;
+ @ApiModelProperty("鎵爜鍏ュ満鏃堕棿")
+ private Date inTime;
+
@ApiModelProperty("鎵ф硶闃熷憳浜烘暟")
private Integer userNum;
@@ -113,7 +116,7 @@
private String warnReason;
- @ApiModelProperty("璁㈠崟鐘舵�侊細-1鎾ゅ洖锛�0寰呮彁浜わ紝1宸叉彁浜わ紝2寰呮墽琛岋紝3宸叉墽琛岋紝4宸茶瘎浠�")
+ @ApiModelProperty("璁㈠崟鐘舵�侊細-1鎾ゅ洖锛�0寰呮彁浜わ紝1宸叉彁浜わ紝2宸插鎵瑰緟鎵ц锛�3宸叉墽琛屽緟涓婃姤锛�4宸蹭笂鎶�")
private Integer orderStatus;
@@ -136,6 +139,9 @@
@ApiModelProperty("褰撳墠瀹℃壒灞傜骇:")
private Integer checkLevel;
+ @ApiModelProperty("褰撳墠瀹℃壒浜篿ds")
+ private String checkIds;
+
@ApiModelProperty("鎵ц浜篿d")
private Long executeId;
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/EnforcePeer.java b/project-enforce/src/main/java/com/project/enforce/domain/EnforcePeer.java
new file mode 100644
index 0000000..8aa79b9
--- /dev/null
+++ b/project-enforce/src/main/java/com/project/enforce/domain/EnforcePeer.java
@@ -0,0 +1,68 @@
+package com.project.enforce.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * 鎵ф硶鍗曞悓琛屼汉瀵硅薄 enforce_peer
+ *
+ * @author manton
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("enforce_peer")
+@ApiModel("鎵ф硶鍗曞悓琛屼汉瀹炰綋瀵硅薄")
+public class EnforcePeer implements Serializable {
+
+ private static final long serialVersionUID=1L;
+
+
+ @TableId(value = "id")
+ @ApiModelProperty("ID")
+ private Long id;
+
+
+ @ApiModelProperty("鎵ф硶鍗昳d")
+ private Long orderId;
+
+
+ @ApiModelProperty("鍚岃浜虹被鍨嬶細1鐢宠鑰咃紝2鍚岃浜�")
+ private Integer peerType;
+
+
+ @ApiModelProperty("鍚岃浜篿d")
+ private Long peerId;
+
+
+ @ApiModelProperty("鍚岃浜�")
+ private String peerUser;
+
+
+ @ApiModelProperty("鍚岃浜虹數璇�")
+ private String peerPhone;
+
+
+ @ApiModelProperty("鍚岃浜哄崟浣�")
+ private Long peerDeptId;
+
+
+ @ApiModelProperty("鍚岃浜哄崟浣�")
+ private String peerDeptName;
+
+
+ /**
+ * 閫昏緫鍒犻櫎鐘舵��
+ */
+ @TableLogic(value = "0",delval = "1")
+ private Integer delFlag;
+
+}
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceComplaintLogBo.java b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceComplaintLogBo.java
index 41ec2e8..dcaf252 100644
--- a/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceComplaintLogBo.java
+++ b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceComplaintLogBo.java
@@ -67,6 +67,15 @@
@ApiModelProperty("鎶曡瘔绫诲瀷")
private String complaintType;
+ @ApiModelProperty("鎶曡瘔鏃堕棿")
+ private Date complaintTime;
+
+ @ApiModelProperty("鍝嶅簲鏃堕棿")
+ private Date inTime;
+
+ @ApiModelProperty("澶勭悊缁撴灉鏃堕棿")
+ private Date resultTime;
+
/** 鎶曡瘔鍐呭 */
@ApiModelProperty("鎶曡瘔鍐呭")
private String complaintReason;
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 a2cebdc..2febe57 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
@@ -1,12 +1,14 @@
package com.project.enforce.domain.bo.editBo;
import com.fasterxml.jackson.annotation.JsonFormat;
+import com.project.enforce.domain.EnforcePeer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
+import java.util.List;
/**
* 鎵ф硶鍗曠紪杈戝璞� enforce_order
@@ -95,9 +97,15 @@
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date planTime;
+ @ApiModelProperty("鎵爜鍏ュ満鏃堕棿")
+ private Date inTime;
+
/** 鎵ф硶闃熷憳浜烘暟 */
@ApiModelProperty("鎵ф硶闃熷憳浜烘暟")
private Integer userNum;
+
+ @ApiModelProperty("鍚岃浜烘暟缁�")
+ private List<EnforcePeer> peers;
/** 棰勮鐘舵�侊細0姝e父锛�1棰勮 */
@ApiModelProperty("棰勮鐘舵�侊細0姝e父锛�1棰勮")
@@ -108,7 +116,7 @@
private String warnReason;
/** 璁㈠崟鐘舵�侊細-1鎾ゅ洖锛�0寰呮彁浜わ紝1宸叉彁浜わ紝2寰呮墽琛岋紝3宸叉墽琛岋紝4宸茶瘎浠� */
- @ApiModelProperty("璁㈠崟鐘舵�侊細-1鎾ゅ洖锛�0寰呮彁浜わ紝1宸叉彁浜わ紝2寰呮墽琛岋紝3宸叉墽琛岋紝4宸茶瘎浠�")
+ @ApiModelProperty("璁㈠崟鐘舵�侊細-1鎾ゅ洖锛�0寰呮彁浜わ紝1宸叉彁浜わ紝2宸插鎵瑰緟鎵ц锛�3宸叉墽琛屽緟涓婃姤锛�4宸蹭笂鎶�")
private Integer orderStatus;
/** 瀹℃壒浜哄崟浣� */
@@ -131,6 +139,9 @@
@ApiModelProperty("褰撳墠瀹℃壒灞傜骇:")
private Integer checkLevel;
+ @ApiModelProperty("褰撳墠瀹℃壒浜篿ds")
+ private String checkIds;
+
/** 鎵ц浜篿d */
@ApiModelProperty("鎵ц浜篿d")
private Long executeId;
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforcePeerBo.java b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforcePeerBo.java
new file mode 100644
index 0000000..5973fbe
--- /dev/null
+++ b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforcePeerBo.java
@@ -0,0 +1,50 @@
+package com.project.enforce.domain.bo.editBo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * 鎵ф硶鍗曞悓琛屼汉缂栬緫瀵硅薄 enforce_peer
+ *
+ * @author manton
+ */
+
+@Data
+@ApiModel("鎵ф硶鍗曞悓琛屼汉鎿嶄綔瀵硅薄")
+public class EnforcePeerBo {
+
+
+ /** ID */
+ @ApiModelProperty("ID")
+ private Long id;
+
+ /** 鎵ф硶鍗昳d */
+ @ApiModelProperty("鎵ф硶鍗昳d")
+ private Long orderId;
+
+ /** 鍚岃浜虹被鍨嬶細1鐢宠鑰咃紝2鍚岃浜� */
+ @ApiModelProperty("鍚岃浜虹被鍨嬶細1鐢宠鑰咃紝2鍚岃浜�")
+ private Integer peerType;
+
+ /** 鍚岃浜篿d */
+ @ApiModelProperty("鍚岃浜篿d")
+ private Long peerId;
+
+ /** 鍚岃浜� */
+ @ApiModelProperty("鍚岃浜�")
+ private String peerUser;
+
+ /** 鍚岃浜虹數璇� */
+ @ApiModelProperty("鍚岃浜虹數璇�")
+ private String peerPhone;
+
+ /** 鍚岃浜哄崟浣� */
+ @ApiModelProperty("鍚岃浜哄崟浣�")
+ private Long peerDeptId;
+
+ /** 鍚岃浜哄崟浣� */
+ @ApiModelProperty("鍚岃浜哄崟浣�")
+ private String peerDeptName;
+}
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceComplaintLogQueryBo.java b/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceComplaintLogQueryBo.java
index 0955138..b87178e 100644
--- a/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceComplaintLogQueryBo.java
+++ b/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceComplaintLogQueryBo.java
@@ -6,6 +6,8 @@
import lombok.Data;
import lombok.EqualsAndHashCode;
+import java.util.Date;
+
/**
* 鎶曡瘔璁板綍鍒嗛〉鏌ヨ瀵硅薄 enforce_complaint_log
@@ -64,6 +66,17 @@
/** 鎶曡瘔绫诲瀷 */
@ApiModelProperty("鎶曡瘔绫诲瀷")
private String complaintType;
+
+ @ApiModelProperty("鎶曡瘔鏃堕棿")
+ private Date complaintTime;
+
+ @ApiModelProperty("鍝嶅簲鏃堕棿")
+ private Date inTime;
+
+ @ApiModelProperty("澶勭悊缁撴灉鏃堕棿")
+ private Date resultTime;
+
+
/** 鎶曡瘔鍐呭 */
@ApiModelProperty("鎶曡瘔鍐呭")
private String complaintReason;
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 662a385..7c9414f 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
@@ -93,6 +93,9 @@
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date planTime;
+ @ApiModelProperty("鎵爜鍏ュ満鏃堕棿")
+ private Date inTime;
+
/** 鎵ф硶闃熷憳浜烘暟 */
@ApiModelProperty("鎵ф硶闃熷憳浜烘暟")
private Integer userNum;
@@ -103,7 +106,7 @@
@ApiModelProperty("棰勮鍘熷洜")
private String warnReason;
/** 璁㈠崟鐘舵�侊細-1鎾ゅ洖锛�0寰呮彁浜わ紝1宸叉彁浜わ紝2寰呮墽琛岋紝3宸叉墽琛岋紝4宸茶瘎浠� */
- @ApiModelProperty("璁㈠崟鐘舵�侊細-1鎾ゅ洖锛�0寰呮彁浜わ紝1宸叉彁浜わ紝2寰呮墽琛岋紝3宸叉墽琛岋紝4宸茶瘎浠�")
+ @ApiModelProperty("璁㈠崟鐘舵�侊細-1鎾ゅ洖锛�0寰呮彁浜わ紝1宸叉彁浜わ紝2宸插鎵瑰緟鎵ц锛�3宸叉墽琛屽緟涓婃姤锛�4宸蹭笂鎶�")
private Integer orderStatus;
/** 瀹℃壒浜哄崟浣� */
@ApiModelProperty("瀹℃壒浜哄崟浣�")
@@ -120,6 +123,10 @@
/** 褰撳墠瀹℃壒灞傜骇: */
@ApiModelProperty("褰撳墠瀹℃壒灞傜骇:")
private Integer checkLevel;
+
+ @ApiModelProperty("褰撳墠瀹℃壒浜篿ds")
+ private String checkIds;
+
/** 鎵ц浜篿d */
@ApiModelProperty("鎵ц浜篿d")
private Long executeId;
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforcePeerQueryBo.java b/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforcePeerQueryBo.java
new file mode 100644
index 0000000..e579411
--- /dev/null
+++ b/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforcePeerQueryBo.java
@@ -0,0 +1,56 @@
+package com.project.enforce.domain.bo.queryBo;
+
+import com.project.common.core.domain.BaseQuery;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+/**
+ * 鎵ф硶鍗曞悓琛屼汉鍒嗛〉鏌ヨ瀵硅薄 enforce_peer
+ *
+ * @author manton
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@ApiModel("鎵ф硶鍗曞悓琛屼汉鍒嗛〉鏌ヨ瀵硅薄")
+public class EnforcePeerQueryBo extends BaseQuery{
+
+ /** 鍒嗛〉澶у皬 */
+ @ApiModelProperty("鍒嗛〉澶у皬")
+ private Integer pageSize;
+ /** 褰撳墠椤垫暟 */
+ @ApiModelProperty("褰撳墠椤垫暟")
+ private Integer pageNum;
+ /** 鎺掑簭鍒� */
+ @ApiModelProperty("鎺掑簭鍒�")
+ private String orderByColumn;
+ /** 鎺掑簭鐨勬柟鍚慸esc鎴栬�卆sc */
+ @ApiModelProperty(value = "鎺掑簭鐨勬柟鍚�", example = "asc,desc")
+ private String isAsc;
+
+
+ /** 鎵ф硶鍗昳d */
+ @ApiModelProperty("鎵ф硶鍗昳d")
+ private Long orderId;
+ /** 鍚岃浜虹被鍨嬶細1鐢宠鑰咃紝2鍚岃浜� */
+ @ApiModelProperty("鍚岃浜虹被鍨嬶細1鐢宠鑰咃紝2鍚岃浜�")
+ private Integer peerType;
+ /** 鍚岃浜篿d */
+ @ApiModelProperty("鍚岃浜篿d")
+ private Long peerId;
+ /** 鍚岃浜� */
+ @ApiModelProperty("鍚岃浜�")
+ private String peerUser;
+ /** 鍚岃浜虹數璇� */
+ @ApiModelProperty("鍚岃浜虹數璇�")
+ private String peerPhone;
+ /** 鍚岃浜哄崟浣� */
+ @ApiModelProperty("鍚岃浜哄崟浣�")
+ private Long peerDeptId;
+ /** 鍚岃浜哄崟浣� */
+ @ApiModelProperty("鍚岃浜哄崟浣�")
+ private String peerDeptName;
+
+}
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceComplaintLogVo.java b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceComplaintLogVo.java
index 82ccebb..52fe0b6 100644
--- a/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceComplaintLogVo.java
+++ b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceComplaintLogVo.java
@@ -1,9 +1,12 @@
package com.project.enforce.domain.vo;
+import com.fasterxml.jackson.annotation.JsonFormat;
import com.project.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+
+import java.util.Date;
/**
@@ -53,6 +56,19 @@
@Excel(name = "鎶曡瘔绫诲瀷")
@ApiModelProperty("鎶曡瘔绫诲瀷")
private String complaintType;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty("鎶曡瘔鏃堕棿")
+ private Date complaintTime;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty("鍝嶅簲鏃堕棿")
+ private Date inTime;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty("澶勭悊缁撴灉鏃堕棿")
+ private Date resultTime;
+
@Excel(name = "鎶曡瘔鍐呭")
@ApiModelProperty("鎶曡瘔鍐呭")
private String complaintReason;
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 6145a70..ab80c57 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
@@ -84,6 +84,9 @@
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date planTime;
+ @ApiModelProperty("鎵爜鍏ュ満鏃堕棿")
+ private Date inTime;
+
@Excel(name = "鎵ф硶闃熷憳浜烘暟")
@ApiModelProperty("鎵ф硶闃熷憳浜烘暟")
private Integer userNum;
@@ -93,8 +96,8 @@
@Excel(name = "棰勮鍘熷洜")
@ApiModelProperty("棰勮鍘熷洜")
private String warnReason;
- @Excel(name = "璁㈠崟鐘舵�侊細-1鎾ゅ洖锛�0寰呮彁浜わ紝1宸叉彁浜わ紝2寰呮墽琛岋紝3宸叉墽琛岋紝4宸茶瘎浠�")
- @ApiModelProperty("璁㈠崟鐘舵�侊細-1鎾ゅ洖锛�0寰呮彁浜わ紝1宸叉彁浜わ紝2寰呮墽琛岋紝3宸叉墽琛岋紝4宸茶瘎浠�")
+ @Excel(name = "璁㈠崟鐘舵�侊細-1鎾ゅ洖锛�0寰呮彁浜わ紝1宸叉彁浜わ紝2宸插鎵瑰緟鎵ц锛�3宸叉墽琛屽緟涓婃姤锛�4宸蹭笂鎶�")
+ @ApiModelProperty("璁㈠崟鐘舵�侊細-1鎾ゅ洖锛�0寰呮彁浜わ紝1宸叉彁浜わ紝2宸插鎵瑰緟鎵ц锛�3宸叉墽琛屽緟涓婃姤锛�4宸蹭笂鎶�")
private Integer orderStatus;
@Excel(name = "瀹℃壒浜哄崟浣�")
@ApiModelProperty("瀹℃壒浜哄崟浣�")
@@ -111,6 +114,10 @@
@Excel(name = "褰撳墠瀹℃壒灞傜骇:")
@ApiModelProperty("褰撳墠瀹℃壒灞傜骇:")
private Integer checkLevel;
+
+ @ApiModelProperty("褰撳墠瀹℃壒浜篿ds")
+ private String checkIds;
+
@Excel(name = "鎵ц浜篿d")
@ApiModelProperty("鎵ц浜篿d")
private Long executeId;
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforcePeerVo.java b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforcePeerVo.java
new file mode 100644
index 0000000..722ed8a
--- /dev/null
+++ b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforcePeerVo.java
@@ -0,0 +1,45 @@
+package com.project.enforce.domain.vo;
+
+import com.project.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * 鎵ф硶鍗曞悓琛屼汉瑙嗗浘瀵硅薄 mall_package
+ *
+ * @author manton
+ */
+@Data
+@ApiModel("鎵ф硶鍗曞悓琛屼汉瑙嗗浘瀵硅薄")
+public class EnforcePeerVo {
+ private static final long serialVersionUID = 1L;
+
+ /** ID */
+ @ApiModelProperty("ID")
+ private Long id;
+
+ @Excel(name = "鎵ф硶鍗昳d")
+ @ApiModelProperty("鎵ф硶鍗昳d")
+ private Long orderId;
+ @Excel(name = "鍚岃浜虹被鍨嬶細1鐢宠鑰咃紝2鍚岃浜�")
+ @ApiModelProperty("鍚岃浜虹被鍨嬶細1鐢宠鑰咃紝2鍚岃浜�")
+ private Integer peerType;
+ @Excel(name = "鍚岃浜篿d")
+ @ApiModelProperty("鍚岃浜篿d")
+ private Long peerId;
+ @Excel(name = "鍚岃浜�")
+ @ApiModelProperty("鍚岃浜�")
+ private String peerUser;
+ @Excel(name = "鍚岃浜虹數璇�")
+ @ApiModelProperty("鍚岃浜虹數璇�")
+ private String peerPhone;
+ @Excel(name = "鍚岃浜哄崟浣�")
+ @ApiModelProperty("鍚岃浜哄崟浣�")
+ private Long peerDeptId;
+ @Excel(name = "鍚岃浜哄崟浣�")
+ @ApiModelProperty("鍚岃浜哄崟浣�")
+ private String peerDeptName;
+
+}
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 4c291ba..e3c2a9b 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
@@ -1,7 +1,6 @@
package com.project.enforce.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.project.common.vo.KeyVal;
import com.project.enforce.domain.EnforceOrder;
import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo;
import com.project.enforce.domain.vo.EnforceOrderVo;
@@ -18,7 +17,5 @@
List<EnforceOrderVo> selectCheckList(EnforceOrderQueryBo bo);
- List<KeyVal> getMonthCount(Long deptId);
- List<KeyVal> getDeptCount(String yearMonth);
}
diff --git a/project-enforce/src/main/java/com/project/enforce/mapper/EnforcePeerMapper.java b/project-enforce/src/main/java/com/project/enforce/mapper/EnforcePeerMapper.java
new file mode 100644
index 0000000..a6dd957
--- /dev/null
+++ b/project-enforce/src/main/java/com/project/enforce/mapper/EnforcePeerMapper.java
@@ -0,0 +1,13 @@
+package com.project.enforce.mapper;
+
+import com.project.enforce.domain.EnforcePeer;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 鎵ф硶鍗曞悓琛屼汉Mapper鎺ュ彛
+ *
+ * @author manton
+ */
+public interface EnforcePeerMapper extends BaseMapper<EnforcePeer> {
+
+}
diff --git a/project-enforce/src/main/java/com/project/enforce/mapper/EnforcePeerServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/mapper/EnforcePeerServiceImpl.java
new file mode 100644
index 0000000..3b357ab
--- /dev/null
+++ b/project-enforce/src/main/java/com/project/enforce/mapper/EnforcePeerServiceImpl.java
@@ -0,0 +1,106 @@
+package com.project.enforce.mapper;
+
+import cn.hutool.core.convert.Convert;
+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.StringUtils;
+import com.project.enforce.domain.EnforcePeer;
+import com.project.enforce.domain.bo.editBo.EnforcePeerBo;
+import com.project.enforce.domain.bo.queryBo.EnforcePeerQueryBo;
+import com.project.enforce.domain.vo.EnforcePeerVo;
+import com.project.enforce.service.IEnforcePeerService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 鎵ф硶鍗曞悓琛屼汉Service涓氬姟灞傚鐞�
+ *
+ * @author manton
+ */
+@Service
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+public class EnforcePeerServiceImpl extends ServiceImpl<EnforcePeerMapper, EnforcePeer> implements IEnforcePeerService {
+
+
+
+ @Override//鍒楄〃鏌ヨ
+ public List<EnforcePeerVo> queryList(EnforcePeerQueryBo bo)
+ {
+ QueryWrapper<EnforcePeer> qw = getQw(bo);
+ List<EnforcePeer> list = this.list(qw);
+ return Convert.toList(EnforcePeerVo.class , list);
+ }
+
+ @Override//id鏌ヨ
+ public EnforcePeerVo queryById(Long id)
+ {
+ EnforcePeer db = this.baseMapper.selectById(id);
+ return Convert.convert(EnforcePeerVo.class , db);
+ }
+
+
+ @Override//娣诲姞
+ @Transactional
+ public Boolean insertByBo(EnforcePeerBo bo)
+ {
+ EnforcePeer add = Convert.convert(EnforcePeer.class, bo);
+ validEntityBeforeSave(add);
+ return this.save(add);
+ }
+
+ @Override//淇敼
+ @Transactional
+ public Boolean updateByBo(EnforcePeerBo bo)
+ {
+ EnforcePeer update = Convert.convert(EnforcePeer.class, bo);
+ validEntityBeforeSave(update);
+ return this.updateById(update);
+ }
+
+ @Override//鍒犻櫎
+ @Transactional
+ public Boolean deleteByIds(Collection<Long> ids)
+ {
+
+ //鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠�
+
+ return this.removeByIds(ids);
+ }
+
+
+//-------------------------------------------------------------------------------------
+
+ //淇濆瓨鍓嶆牎楠�
+ private void validEntityBeforeSave(EnforcePeer entity)
+ {
+ //鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫
+ }
+
+ //鑾峰彇鏌ヨ鍙傛暟
+ private QueryWrapper<EnforcePeer> getQw(EnforcePeerQueryBo bo)
+ {
+ QueryWrapper<EnforcePeer> qw = Wrappers.query();
+
+ qw.eq(bo.getOrderId()!=null, "order_id", bo.getOrderId());
+ qw.eq(bo.getPeerType() != null, "peer_type", bo.getPeerType());
+ qw.eq(bo.getPeerId() != null, "peer_id", bo.getPeerId());
+ qw.eq(StringUtils.isNotEmpty(bo.getPeerUser()), "peer_user", bo.getPeerUser());
+ qw.eq(StringUtils.isNotEmpty(bo.getPeerPhone()), "peer_phone", bo.getPeerPhone());
+ qw.eq(bo.getPeerDeptId() != null, "peer_dept_id", bo.getPeerDeptId());
+ qw.like(StringUtils.isNotEmpty(bo.getPeerDeptName()), "peer_dept_name", bo.getPeerDeptName());
+ if (StringUtils.isNotEmpty(bo.getIsAsc()) && StringUtils.isNotEmpty(bo.getOrderByColumn())){
+ if ("acs".equals(bo.getIsAsc())) {
+ qw.orderByAsc(bo.getOrderByColumn());
+ } else if ("desc".equals(bo.getIsAsc())) {
+ qw.orderByDesc(bo.getOrderByColumn());
+ }
+ }
+ return qw;
+ }
+}
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 6a0c78e..e980db3 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
@@ -1,7 +1,6 @@
package com.project.enforce.service;
import com.project.common.mybatis.IBaseService;
-import com.project.common.vo.KeyVal;
import com.project.enforce.domain.EnforceOrder;
import com.project.enforce.domain.bo.editBo.EnforceOrderBo;
import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo;
@@ -63,17 +62,12 @@
/**
- * 鎵ф硶娆℃暟鏈堝害鍒嗗竷
- * @param deptId 鏈烘瀯id
- * @return 鏈堝害鍒嗗竷
+ * 鑾峰彇涓嬩竴绾у鎵逛汉鐢佃瘽
+ * @param checkLevel 褰撳墠瀹℃壒绾у埆
+ * @param applyDeptId 鐢宠閮ㄩ棬id
+ * @return 瀹℃壒浜篿ds
*/
- List<KeyVal> getMonthCount(Long deptId);
+ List<String> getCheckPhones(Integer checkLevel, Long applyDeptId);
- /**
- * 鎵ф硶娆℃暟閮ㄩ棬鍒嗗竷
- * @param yearMonth 骞存湀
- * @return 閮ㄩ棬鍒嗗竷
- */
- List<KeyVal> getDeptCount(String yearMonth);
}
diff --git a/project-enforce/src/main/java/com/project/enforce/service/IEnforcePeerService.java b/project-enforce/src/main/java/com/project/enforce/service/IEnforcePeerService.java
new file mode 100644
index 0000000..1d53d2a
--- /dev/null
+++ b/project-enforce/src/main/java/com/project/enforce/service/IEnforcePeerService.java
@@ -0,0 +1,53 @@
+package com.project.enforce.service;
+
+import com.project.enforce.domain.EnforcePeer;
+import com.project.enforce.domain.vo.EnforcePeerVo;
+import com.project.enforce.domain.bo.editBo.EnforcePeerBo;
+import com.project.enforce.domain.bo.queryBo.EnforcePeerQueryBo;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.project.common.mybatis.IBaseService;
+import cn.hutool.core.convert.Convert;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 鎵ф硶鍗曞悓琛屼汉Service鎺ュ彛
+ *
+ * @author manton
+ */
+public interface IEnforcePeerService extends IBaseService<EnforcePeer> {
+
+ /**
+ * 鏌ヨ鍒楄〃
+ */
+ List<EnforcePeerVo> queryList(EnforcePeerQueryBo bo);
+
+ /**
+ * 鏌ヨ鍗曚釜
+ * @return EnforcePeerVo
+ */
+ EnforcePeerVo queryById(Long id);
+
+
+ /**
+ * 鏍规嵁鏂板涓氬姟瀵硅薄鎻掑叆鎵ф硶鍗曞悓琛屼汉
+ * @param bo 鎵ф硶鍗曞悓琛屼汉鏂板涓氬姟瀵硅薄
+ * @return true鎴愬姛 false澶辫触
+ */
+ Boolean insertByBo(EnforcePeerBo bo);
+
+ /**
+ * 鏍规嵁缂栬緫涓氬姟瀵硅薄淇敼鎵ф硶鍗曞悓琛屼汉
+ * @param bo 鎵ф硶鍗曞悓琛屼汉缂栬緫涓氬姟瀵硅薄
+ * @return true鎴愬姛 false澶辫触
+ */
+ Boolean updateByBo(EnforcePeerBo bo);
+
+ /**
+ * 鏍¢獙骞跺垹闄ゆ暟鎹�
+ * @param ids 涓婚敭闆嗗悎
+ * @return true鎴愬姛 false澶辫触
+ */
+ Boolean deleteByIds(Collection<Long> ids);
+}
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 29fa7fe..c6b20d5 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
@@ -14,7 +14,6 @@
import com.project.system.domain.bo.editBo.CheckBo;
import com.project.system.domain.bo.editBo.SysCompanyBo;
import com.project.system.service.ISysCompanyService;
-import com.project.system.service.ISysUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -37,7 +36,7 @@
private final ISysCompanyService companyService;
private final IEnforceOrderService orderService;
private final IEnforceCheckLogService checkLogService;
- private final ISysUserService userService;
+ private final YPSmsService smsService;
@Override
@Transactional
@@ -71,16 +70,24 @@
addCheckLog(order, bo);
if (bo.getCheckStatus()==-1){
order.setCheckStatus(-1);
+ //瀹℃壒鎷掔粷锛岀粰鐢宠浜哄彂閫佺煭淇★紝濡傛灉閫氱煡浼佷笟涔熺粰浼佷笟鍙戦�佺煭淇�
+ smsService.sendCheckMsg(order.getApplyPhone(), order.getCheckStatus());
} else {
- String roleKey = "check_enforce_" + (order.getCheckLevel() + 1);
- List<Long> ids = userService.getNumByRoleKey(roleKey, order.getCheckDeptId());
- if (StringUtils.isNotEmpty(ids)){
+ List<String> phones = orderService.getCheckPhones(order.getCheckLevel(), order.getApplyDeptId());
+ if (StringUtils.isNotEmpty(phones)){
order.setCheckStatus(1);
+ //缁欎笅涓�绾у鎵逛汉鍙戦�佺煭淇�
+ smsService.sendApplyMsg(phones, order.getApplyUser());
} else {
order.setCheckStatus(2);
order.setOrderStatus(2);
+ //瀹℃壒閫氳繃锛岀粰鐢宠浜哄彂閫佺煭淇★紝濡傛灉閫氱煡浼佷笟涔熺粰浼佷笟鍙戦�佺煭淇�
+ smsService.sendCheckMsg(order.getApplyPhone(), order.getCheckStatus());
+ if (order.getIsNoticeCompany()==1){
+ smsService.sendCompanyMsg(order.getCompanyPhone(), order.getApplyDeptName(), order.getPlanTime());
+ }
}
- //瀹℃壒鐧昏鍔�1
+ //瀹℃壒绛夌骇鍔�1
order.setCheckLevel(order.getCheckLevel()+1);
}
order.setCheckReason(bo.getCheckReason());
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 db43b7e..fce5771 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
@@ -5,28 +5,30 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.project.common.annotation.DataScope;
-import com.project.common.constant.CheckLevelCodeConstants;
-import com.project.common.core.domain.entity.SysRole;
import com.project.common.core.domain.entity.SysUser;
-import com.project.common.exception.base.BaseException;
+import com.project.common.enums.OrderPre;
+import com.project.common.sms.YPSmsApi;
import com.project.common.utils.SecurityUtils;
import com.project.common.utils.StringUtils;
-import com.project.common.vo.KeyVal;
import com.project.enforce.domain.EnforceOrder;
+import com.project.enforce.domain.EnforcePeer;
import com.project.enforce.domain.bo.editBo.EnforceOrderBo;
import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo;
import com.project.enforce.domain.vo.EnforceOrderVo;
import com.project.enforce.mapper.EnforceOrderMapper;
import com.project.enforce.service.IEnforceOrderService;
+import com.project.enforce.service.IEnforcePeerService;
import com.project.system.service.ISysDeptService;
+import com.project.system.service.ISysOrderNoService;
+import com.project.system.service.ISysUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collection;
import java.util.List;
-import java.util.stream.Collectors;
/**
* 鎵ф硶鍗昐ervice涓氬姟灞傚鐞�
@@ -37,9 +39,10 @@
@RequiredArgsConstructor(onConstructor_ = @Autowired)
public class EnforceOrderServiceImpl extends ServiceImpl<EnforceOrderMapper, EnforceOrder> implements IEnforceOrderService {
+ private final ISysUserService userService;
private final ISysDeptService deptService;
- private final EnforceOrderMapper orderMapper;
-
+ private final ISysOrderNoService orderNoService;
+ private final IEnforcePeerService peerService;
@Override//鍒楄〃鏌ヨ
@DataScope(deptAlias = "apply_dept_id", userAlias = "apply_user_id")
@@ -55,22 +58,8 @@
public List<EnforceOrderVo> queryCheckList(EnforceOrderQueryBo bo)
{
SysUser loginUser = SecurityUtils.getLoginUser().getUser();
- if (bo.getIsCheckQuery()!=null && bo.getIsCheckQuery()==1){
- List<String> roleKeys = loginUser.getRoles().stream().map(SysRole::getRoleKey).collect(Collectors.toList());
- if (roleKeys.contains(CheckLevelCodeConstants.CHECK_LEVEL_ONE) && roleKeys.contains(CheckLevelCodeConstants.CHECK_LEVEL_TWO)){
- bo.setCheckLevel(null);
- } else if (roleKeys.contains(CheckLevelCodeConstants.CHECK_LEVEL_ONE)){
- bo.setCheckLevel(0);
- } else if (roleKeys.contains(CheckLevelCodeConstants.CHECK_LEVEL_TWO)) {
- bo.setCheckLevel(1);
- } else {
- throw new BaseException("鎮ㄦ病鏈夊鎵规潈闄愶紝璇烽噸璇曪紒");
- }
- }
-
- bo.setCheckDeptId(deptService.getCheckDeptIdByLoginDeptId(loginUser.getDeptId()));
+ bo.setCheckIds(loginUser.getPhonenumber());
bo.setApplyDeptIds(deptService.getApplyDeptIdsByLoginUserId(loginUser.getUserId()));
-
return this.baseMapper.selectCheckList(bo);
}
@@ -94,8 +83,33 @@
public Boolean insertByBo(EnforceOrderBo bo)
{
EnforceOrder add = Convert.convert(EnforceOrder.class, bo);
+ add.setCheckLevel(0);
validEntityBeforeSave(add);
- return this.save(add);
+ List<String> phones = getCheckPhones(add.getCheckLevel(), add.getApplyDeptId());
+ if (StringUtils.isNotEmpty(phones)){
+ String checkPhones = StringUtils.join(phones, ",");
+ add.setCheckIds(checkPhones);
+ }
+ this.save(add);
+ bo.getPeers().add(new EnforcePeer()
+ .setPeerType(1)
+ .setPeerId(add.getApplyId())
+ .setPeerUser(add.getApplyUser())
+ .setPeerPhone(add.getApplyPhone())
+ .setPeerDeptId(add.getApplyDeptId())
+ .setPeerDeptName(add.getApplyDeptName())
+ );
+ //澶勭悊鎵ф硶浜哄憳淇℃伅
+ for (EnforcePeer peer : bo.getPeers())
+ {
+ peer.setOrderId(add.getOrderId());
+ peer.setPeerDeptName(deptService.getDeptAllName(peer.getPeerDeptId()));
+ }
+ boolean savePeers = peerService.saveOrUpdateBatch(bo.getPeers());
+ if (savePeers && StringUtils.isNotEmpty(phones)) {
+ sendApplyMsg(phones, add.getApplyUser());
+ }
+ return savePeers;
}
@Override//淇敼
@@ -117,26 +131,48 @@
return this.removeByIds(ids);
}
- @Override//鏈堝害鍒嗗竷
- public List<KeyVal> getMonthCount(Long deptId) {
- return orderMapper.getMonthCount(deptId);
- }
-
- @Override//閮ㄩ棬鍒嗗竷
- public List<KeyVal> getDeptCount(String yearMonth)
+ @Override
+ public List<String> getCheckPhones(Integer checkLevel, Long applyDeptId)
{
- return orderMapper.getDeptCount(yearMonth);
+ return getCheckPhones(checkLevel, applyDeptId, 0);
}
//-------------------------------------------------------------------------------------
+
+ /**
+ * 鍙戦�佸鎵圭煭淇�
+ * @param phones 鎵嬫満鍙�
+ * @param applyUser 鐢宠浜�
+ */
+ @Async
+ public void sendApplyMsg(List<String> phones, String applyUser)
+ {
+ String applyMsg = StringUtils.format(StringUtils.format(YPSmsApi.APPLY_TMP, applyUser));
+ phones.forEach(phone->{
+ YPSmsApi.sendSms(phone, applyMsg) ;
+ });
+ }
+
//淇濆瓨鍓嶆牎楠�
private void validEntityBeforeSave(EnforceOrder entity)
{
if (entity.getOrderId()==null){
+ String orderNo = orderNoService.getOrderNo(OrderPre.ZFD.getIndex());
+ entity.setOrderNo(orderNo);
entity.setCheckDeptId(deptService.getCheckDeptIdByLoginDeptId(entity.getApplyDeptId()));
}
+ if (StringUtils.isEmpty(entity.getApplyDeptName())){
+ entity.setApplyDeptName(deptService.getDeptAllName(entity.getApplyDeptId()));
+ }
+ if (StringUtils.isEmpty(entity.getExecuteDeptName())){
+ entity.setExecuteDeptName(deptService.getDeptAllName(entity.getExecuteDeptId()));
+ }
+ if (StringUtils.isEmpty(entity.getCheckDeptName())){
+ entity.setCheckDeptName(deptService.getDeptAllName(entity.getCheckDeptId()));
+ }
+
}
//鑾峰彇鏌ヨ鍙傛暟
@@ -162,6 +198,7 @@
qw.like(StringUtils.isNotEmpty(bo.getApplyDeptName()), "apply_dept_name", bo.getApplyDeptName());
qw.eq(bo.getApplyTime() != null, "apply_time", bo.getApplyTime());
qw.eq(bo.getPlanTime() != null, "plan_time", bo.getPlanTime());
+ qw.eq(bo.getInTime() != null, "in_time", bo.getInTime());
qw.eq(bo.getUserNum() != null, "user_num", bo.getUserNum());
qw.eq(bo.getWarnStatus() != null, "warn_status", bo.getWarnStatus());
qw.eq(StringUtils.isNotEmpty(bo.getWarnReason()), "warn_reason", bo.getWarnReason());
@@ -194,4 +231,32 @@
}
return qw;
}
+
+
+ /**
+ * 鑾峰彇瀹℃壒浜篿d
+ * @param checkLevel 瀹℃壒绾у埆锛氶粯璁�0
+ * @param deptId 鐢宠閮ㄩ棬id
+ */
+ private List<String> getCheckPhones(Integer checkLevel, Long deptId, int current)
+ {
+ if (checkLevel==3){
+ if (current==1){
+ return null;
+ }
+ checkLevel = 0;
+ deptId = deptService.getById(deptId).getParentId();
+ current++;
+ getCheckPhones(checkLevel, deptId, current);
+ }
+ checkLevel++;
+ String checkKey = "check_enforce_";
+ List<String> phones = userService.getPhonesByRoleKey(checkKey + checkLevel, deptId);
+ if (StringUtils.isNotEmpty(phones)){
+ return phones;
+ }
+ return getCheckPhones(checkLevel, deptId, current);
+ }
+
+
}
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
new file mode 100644
index 0000000..ae27e73
--- /dev/null
+++ b/project-enforce/src/main/java/com/project/enforce/service/impl/YPSmsService.java
@@ -0,0 +1,65 @@
+package com.project.enforce.service.impl;
+
+import com.project.common.sms.YPSmsApi;
+import com.project.common.utils.DateUtils;
+import com.project.common.utils.StringUtils;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 鍔熻兘鎻忚堪锛�
+ *
+ * @author ZQN
+ * @version 1.0
+ */
+
+@Service
+public class YPSmsService
+{
+ /**
+ * 鐢宠鍙戦�佸鎵圭煭淇�
+ * @param phones 鎵嬫満鍙�
+ * @param applyUser 鐢宠浜�
+ */
+ @Async
+ public void sendApplyMsg(List<String> phones, String applyUser)
+ {
+ String applyMsg = StringUtils.format(StringUtils.format(YPSmsApi.APPLY_TMP, applyUser));
+ phones.forEach(phone->{
+ YPSmsApi.sendSms(phone, applyMsg) ;
+ });
+ }
+
+ /**
+ * 瀹℃壒鍚庡彂閫佺粨鏋滅煭淇�
+ * @param phone 鎵嬫満鍙�
+ * @param checkStatus 鐘舵�侊細-1鎷掔粷锛�2閫氳繃
+ */
+ @Async
+ public void sendCheckMsg(String phone, Integer checkStatus)
+ {
+ String result = "鎷掔粷";
+ if (checkStatus>0){
+ result = "瀹℃壒閫氳繃";
+ }
+ String applyMsg = StringUtils.format(StringUtils.format(YPSmsApi.CHECK_TMP, result));
+ YPSmsApi.sendSms(phone, applyMsg) ;
+ }
+
+ /**
+ * 閫氱煡浼佷笟寮�鍚彂閫佷紒涓氱煭淇�
+ * @param phone 鎵嬫満鍙�
+ * @param applyDeptName 鎵ф硶閮ㄩ棬
+ * @param planTime 鏃堕棿
+ */
+ @Async
+ public void sendCompanyMsg(String phone, String applyDeptName, Date planTime)
+ {
+ String date = DateUtils.getFormatDatedd(planTime);
+ String applyMsg = StringUtils.format(StringUtils.format(YPSmsApi.COMPANY_TMP, applyDeptName, date));
+ YPSmsApi.sendSms(phone, applyMsg) ;
+ }
+}
diff --git a/project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml b/project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml
index ce87128..ab4be13 100644
--- a/project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml
+++ b/project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml
@@ -24,6 +24,7 @@
<result property="applyDeptName" column="apply_dept_name" />
<result property="applyTime" column="apply_time" />
<result property="planTime" column="plan_time" />
+ <result property="inTime" column="in_time" />
<result property="userNum" column="user_num" />
<result property="warnStatus" column="warn_status" />
<result property="warnReason" column="warn_reason" />
@@ -72,19 +73,12 @@
<if test="companyName != null and companyName != ''">
AND company_name like concat('%', #{companyName}, '%')
</if>
-
<if test="orderStatus != null and orderStatus != ''">
AND order_status = #{orderStatus}
</if>
-
- <if test="checkDeptId != null ">
- AND check_dept_id = #{checkDeptId}
+ <if test="checkIds != null and checkIds != '' ">
+ AND check_ids like concat('%', #{checkIds}, '%')
</if>
-
- <if test="checkLevel != null ">
- AND check_level = #{checkLevel}
- </if>
-
<if test="applyDeptIds != null ">
AND apply_dept_id in
<foreach collection="applyDeptIds" item="applyDeptId" open="(" separator="," close=")">
@@ -94,32 +88,5 @@
</where>
</select>
- <select id="getMonthCount"
- parameterType="Long"
- resultType="com.project.common.vo.KeyVal">
- select
- MONTH(apply_time) AS k,
- IFNULL(count(order_id),0) as v
- from enforce_order
- where 1=1
- <if test="deptId != null ">
- AND apply_dept_id = #{deptId}
- </if>
- GROUP BY k
- </select>
-
- <select id="getDeptCount"
- parameterType="String"
- resultType="com.project.common.vo.KeyVal">
- select
- MONTH(check_dept_id) AS k,
- IFNULL(count(order_id),0) as v
- from enforce_order
- where 1=1
- <if test="yearMonth!=null and yearMonth!=''">
- AND apply_time like concat('%', #{yearMonth}, '%')
- </if>
- GROUP BY k
- </select>
</mapper>
diff --git a/project-enforce/src/main/resources/mapper/enforce/EnforcePeerMapper.xml b/project-enforce/src/main/resources/mapper/enforce/EnforcePeerMapper.xml
new file mode 100644
index 0000000..892179f
--- /dev/null
+++ b/project-enforce/src/main/resources/mapper/enforce/EnforcePeerMapper.xml
@@ -0,0 +1,21 @@
+<?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.project.enforce.mapper.EnforcePeerMapper">
+
+ <resultMap type="EnforcePeer" id="EnforcePeerResult">
+ <result property="id" column="id" />
+ <result property="orderId" column="order_id" />
+ <result property="peerType" column="peer_type" />
+ <result property="peerId" column="peer_id" />
+ <result property="peerUser" column="peer_user" />
+ <result property="peerPhone" column="peer_phone" />
+ <result property="peerDeptId" column="peer_dept_id" />
+ <result property="peerDeptName" column="peer_dept_name" />
+ <result property="delFlag" column="del_flag" />
+ </resultMap>
+
+
+
+</mapper>
\ No newline at end of file
diff --git a/project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java b/project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java
index d0faebe..8cb0c51 100644
--- a/project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java
+++ b/project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java
@@ -142,7 +142,7 @@
}
private boolean sendYp(String phone, String code ){
- String result = YPSmsApi.sendSms(phone, StringUtils.format(YPSmsApi.VERIFY_CODE_TEMPLATE, code, Constants.PHONE_EXPIRATION));
+ String result = YPSmsApi.sendSms(phone, StringUtils.format(YPSmsApi.CODE_TMP, code, Constants.PHONE_EXPIRATION));
if (result.contains("\"code\":0,\"msg\":\"OK\"")){
log.info("鍙戦�佹垚鍔� ->楠岃瘉鐮侊細"+code);
return true;
diff --git a/project-report/src/main/java/com/project/report/domain/bo/query/ReportQueryBo.java b/project-report/src/main/java/com/project/report/domain/bo/query/ReportQueryBo.java
new file mode 100644
index 0000000..3981e79
--- /dev/null
+++ b/project-report/src/main/java/com/project/report/domain/bo/query/ReportQueryBo.java
@@ -0,0 +1,29 @@
+package com.project.report.domain.bo.query;
+
+import com.project.common.core.domain.BaseQuery;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 鍔熻兘鎻忚堪锛�
+ *
+ * @author ZQN
+ * @version 1.0
+ */
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class ReportQueryBo extends BaseQuery
+{
+
+ @ApiModelProperty("閮ㄩ棬id")
+ private Long deptId;
+
+ @ApiModelProperty("鎶曡瘔澶勭悊鐘舵�侊細0鏈鐞嗭紝1宸插鐞�")
+ private Integer doComplaint;
+
+
+
+
+}
diff --git a/project-report/src/main/java/com/project/report/mapper/ReportMapper.java b/project-report/src/main/java/com/project/report/mapper/ReportMapper.java
new file mode 100644
index 0000000..76e1307
--- /dev/null
+++ b/project-report/src/main/java/com/project/report/mapper/ReportMapper.java
@@ -0,0 +1,30 @@
+package com.project.report.mapper;
+
+import com.project.common.vo.KeyVal;
+import com.project.report.domain.bo.query.ReportQueryBo;
+
+import java.util.List;
+
+/**
+ * 鍔熻兘鎻忚堪锛�
+ *
+ * @author ZQN
+ * @version 1.0
+ */
+
+
+public interface ReportMapper
+{
+
+ List<KeyVal> getMonthCount(ReportQueryBo bo);
+
+ List<KeyVal> getDeptCount(ReportQueryBo bo);
+
+ List<KeyVal> getCompanyCount(ReportQueryBo bo);
+
+ List<KeyVal> getEnforceTypeCount(ReportQueryBo bo);
+
+ List<KeyVal> getComplaintStatusCount(ReportQueryBo bo);
+
+ List<KeyVal> getComplaintTypeCount(ReportQueryBo bo);
+}
diff --git a/project-report/src/main/java/com/project/report/service/IReportService.java b/project-report/src/main/java/com/project/report/service/IReportService.java
index 0f5d6eb..0a89986 100644
--- a/project-report/src/main/java/com/project/report/service/IReportService.java
+++ b/project-report/src/main/java/com/project/report/service/IReportService.java
@@ -1,6 +1,7 @@
package com.project.report.service;
import com.project.common.vo.KeyVal;
+import com.project.report.domain.bo.query.ReportQueryBo;
import java.util.List;
import java.util.Map;
@@ -22,15 +23,45 @@
/**
* 鎵ф硶娆℃暟鏈堝害鍒嗗竷
- * @param deptId 閮ㄩ棬id
+ * @param bo 閮ㄩ棬id
* @return 鎵ф硶娆℃暟
*/
- List<KeyVal> getMonthCount(Long deptId);
+ List<KeyVal> getMonthCount(ReportQueryBo bo);
/**
* 鎵ф硶娆℃暟閮ㄩ棬鍒嗗竷
- * @param yearMonth 骞存湀
+ * @param bo 骞存湀
* @return 鎵ф硶娆℃暟
*/
- List<KeyVal> getDeptCount(String yearMonth);
+ List<KeyVal> getDeptCount(ReportQueryBo bo);
+
+ /**
+ * 浼佷笟琚墽娉曟鏁板垎甯�
+ * @param bo 骞存湀
+ * @return 浼佷笟琚墽娉曟鏁�
+ */
+ List<KeyVal> getCompanyCount(ReportQueryBo bo);
+
+
+ /**
+ * 鎵ф硶绫诲瀷鍗犳瘮
+ * @param bo 骞存湀
+ * @return 鎵ф硶绫诲瀷
+ */
+ List<KeyVal> getEnforceTypeCount(ReportQueryBo bo);
+
+
+ /**
+ * 鎶曡瘔鐘舵�佸崰姣�
+ * @param bo 骞存湀
+ * @return 鎶曡瘔鐘舵��
+ */
+ List<KeyVal> getComplaintStatusCount(ReportQueryBo bo);
+
+ /**
+ * 鎵ф硶绫诲瀷鍗犳瘮
+ * @param bo 骞存湀
+ * @return 鎵ф硶绫诲瀷鍗犳瘮
+ */
+ List<KeyVal> getComplaintTypeCount(ReportQueryBo bo);
}
diff --git a/project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java b/project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java
index b3df464..b02da7c 100644
--- a/project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java
+++ b/project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java
@@ -1,22 +1,26 @@
package com.project.report.service.impl;
import com.project.common.core.domain.entity.SysDept;
+import com.project.common.core.domain.entity.SysDictData;
import com.project.common.core.domain.entity.SysUser;
import com.project.common.vo.KeyVal;
import com.project.enforce.domain.EnforceOrder;
import com.project.enforce.service.IEnforceComplaintLogService;
import com.project.enforce.service.IEnforceOrderService;
+import com.project.report.domain.bo.query.ReportQueryBo;
+import com.project.report.mapper.ReportMapper;
import com.project.report.service.IReportService;
import com.project.system.domain.SysCompany;
import com.project.system.domain.SysDoc;
-import com.project.system.service.ISysCompanyService;
-import com.project.system.service.ISysDeptService;
-import com.project.system.service.ISysDocService;
-import com.project.system.service.ISysUserService;
+import com.project.system.service.*;
import lombok.RequiredArgsConstructor;
+import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service;
-import java.util.*;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -34,41 +38,124 @@
private final ISysDeptService deptService;
private final ISysUserService userService;
private final ISysDocService docService;
+ private final ISysDictDataService dictDataService;
private final IEnforceOrderService orderService;
private final IEnforceComplaintLogService complaintLogService;
+ private final ReportMapper reportMapper;
+
private final String[] months = {"1","2","3","4","5","6","7","8","9","10","11","12"};
+ private final String[] complaintStatus = {"-1","0","1","2"};
@Override//姹囨��
public Map<String, Object> getTotalInfo()
{
-
int companyNum = companyService.count(companyService.lq().eq(SysCompany::getCompanyStatus, 0));
int enforceCompanyNum = orderService.count(orderService.lq().groupBy(EnforceOrder::getCompanyId));
int enforceDeptNum = deptService.count(deptService.lq().eq(SysDept::getParentId,100));
int enforceUserNum = userService.count(userService.lq().ne(SysUser::getUserType,"02"));
int enforceOrderNum = orderService.count();
+ int enforceOrderCheckedNum = orderService.count(orderService.lq().eq(EnforceOrder::getOrderStatus,2));
+ int enforceOrderCompleteNum = orderService.count(orderService.lq().eq(EnforceOrder::getOrderStatus,4));
int complaintNum = complaintLogService.count();
int docNum = docService.count(docService.lq().eq(SysDoc::getDocStatus,0));
-
Map<String, Object> result = new HashMap<>(7);
result.put("companyNum", companyNum);
result.put("enforceCompanyNum", enforceCompanyNum);
result.put("enforceDeptNum", enforceDeptNum);
result.put("enforceUserNum", enforceUserNum);
result.put("enforceOrderNum", enforceOrderNum);
+ result.put("enforceOrderCheckedNum", enforceOrderCheckedNum);
+ result.put("enforceOrderCompleteNum", enforceOrderCompleteNum);
result.put("complaintNum", complaintNum);
result.put("docNum", docNum);
return result;
}
@Override//鎵ф硶鍗曚綅鎵ф硶娆℃暟鏈堝害鍒嗗竷
- public List<KeyVal> getMonthCount(Long deptId)
+ public List<KeyVal> getMonthCount(ReportQueryBo bo)
{
- List<KeyVal> list = orderService.getMonthCount(deptId);
- Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK,KeyVal::getV));
+ List<KeyVal> list = reportMapper.getMonthCount(bo);
+ return getKeyVal(list, months);
+ }
- return Arrays.stream(months).map(e -> {
+ @Override//鎵ф硶鍗曚綅鎵ф硶娆℃暟閮ㄩ棬鍒嗗竷
+ public List<KeyVal> getDeptCount(ReportQueryBo bo)
+ {
+ List<KeyVal> list = reportMapper.getDeptCount(bo);
+ Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK,KeyVal::getV));
+ List<SysDept> deptList = deptService.list(deptService.lq().eq(SysDept::getParentId, 100));
+ return deptList.stream().map(e -> {
+ KeyVal keyVal;
+ if (resultMap.get(e.getDeptId().toString()) == null) {
+ keyVal = new KeyVal(e.getDeptName(), 0);
+ } else {
+ keyVal = new KeyVal(e.getDeptName(), resultMap.get(e.getDeptId().toString()));
+ }
+ return keyVal;
+ }).collect(Collectors.toList());
+ }
+
+ @Override//浼佷笟琚墽娉曟鏁板垎甯�
+ public List<KeyVal> getCompanyCount(ReportQueryBo bo)
+ {
+ List<KeyVal> list = reportMapper.getCompanyCount(bo);
+ Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK, KeyVal::getV));
+
+ List<SysCompany> companies = companyService.list(companyService.lq().eq(SysCompany::getCompanyStatus, 0));
+
+ return companies.stream().map(e -> {
+ KeyVal keyVal;
+ if (resultMap.get(e.getCompanyId().toString()) == null) {
+ keyVal = new KeyVal(e.getCompanyName(), 0);
+ } else {
+ keyVal = new KeyVal(e.getCompanyName(), resultMap.get(e.getCompanyId().toString()));
+ }
+ return keyVal;
+ }).collect(Collectors.toList());
+ }
+
+ @Override//鎵ф硶绫诲瀷
+ public List<KeyVal> getEnforceTypeCount(ReportQueryBo bo)
+ {
+ List<KeyVal> list = reportMapper.getEnforceTypeCount(bo);
+ Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK, KeyVal::getV));
+ List<SysDictData> dictDataList = dictDataService.list(dictDataService.lq().eq(SysDictData::getDictType,"enforce_type"));
+ return getKeyVal(resultMap, dictDataList);
+ }
+
+
+ @Override//鎶曡瘔澶勭悊鐘舵��
+ public List<KeyVal> getComplaintStatusCount(ReportQueryBo bo)
+ {
+ List<KeyVal> list = reportMapper.getComplaintStatusCount(bo);
+ return getKeyVal(list, complaintStatus);
+ }
+
+
+ @Override//鎶曡瘔绫诲瀷
+ public List<KeyVal> getComplaintTypeCount(ReportQueryBo bo)
+ {
+ List<KeyVal> list = reportMapper.getComplaintTypeCount(bo);
+ Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK, KeyVal::getV));
+ List<SysDictData> dictDataList = dictDataService.list(dictDataService.lq().eq(SysDictData::getDictType,"complaint_type"));
+ return getKeyVal(resultMap, dictDataList);
+ }
+
+
+//-----------------------------------------------------------------------------
+
+ /**
+ * 閫氳繃鏁扮粍鑾峰彇杩斿洖鏁版嵁
+ * @param list 缁撴灉
+ * @param array 鏁扮粍
+ * @return 缁撴灉
+ */
+ @NotNull
+ private List<KeyVal> getKeyVal(List<KeyVal> list, String[] array)
+ {
+ Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK,KeyVal::getV));
+ return Arrays.stream(array).map(e -> {
KeyVal keyVal;
if (resultMap.get(e) == null) {
keyVal = new KeyVal(e, 0);
@@ -79,20 +166,21 @@
}).collect(Collectors.toList());
}
- @Override//鎵ф硶鍗曚綅鎵ф硶娆℃暟閮ㄩ棬鍒嗗竷
- public List<KeyVal> getDeptCount(String yearMonth)
+ /**
+ * 閫氳繃瀛楀吀鑾峰彇杩斿洖鏁版嵁
+ * @param resultMap 缁撴灉
+ * @param dictDataList 瀛楀吀
+ * @return 缁撴灉
+ */
+ @NotNull
+ private List<KeyVal> getKeyVal(Map<String, Object> resultMap, List<SysDictData> dictDataList)
{
- List<KeyVal> list = orderService.getDeptCount(yearMonth);
- Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK,KeyVal::getV));
-
- List<SysDept> depts = deptService.list(deptService.lq().eq(SysDept::getParentId, 100));
-
- return depts.stream().map(e -> {
+ return dictDataList.stream().map(e -> {
KeyVal keyVal;
- if (resultMap.get(e.getDeptId().toString()) == null) {
- keyVal = new KeyVal(e.getDeptName(), 0);
+ if (resultMap.get(e.getDictValue()) == null) {
+ keyVal = new KeyVal(e.getDictLabel(), 0);
} else {
- keyVal = new KeyVal(e.getDeptName(), resultMap.get(e.getDeptId().toString()));
+ keyVal = new KeyVal(e.getDictLabel(), resultMap.get(e.getDictValue()));
}
return keyVal;
}).collect(Collectors.toList());
diff --git a/project-report/src/main/resources/mapper/report/ReportMapper.xml b/project-report/src/main/resources/mapper/report/ReportMapper.xml
new file mode 100644
index 0000000..2032c8d
--- /dev/null
+++ b/project-report/src/main/resources/mapper/report/ReportMapper.xml
@@ -0,0 +1,126 @@
+<?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.project.report.mapper.ReportMapper">
+
+ <!-- 鎵ф硶娆℃暟鏈堝害鍒嗗竷-->
+ <select id="getMonthCount"
+ parameterType="com.project.report.domain.bo.query.ReportQueryBo"
+ resultType="com.project.common.vo.KeyVal">
+ select
+ MONTH(apply_time) AS k,
+ IFNULL(count(order_id),0) as v
+ from enforce_order
+ where 1=1
+ <if test="deptId != null ">
+ AND apply_dept_id = #{deptId}
+ </if>
+ <if test="beginTime!=null and beginTime!=''">
+ AND apply_time >= #{beginTime}
+ </if>
+ <if test="endTime!=null and endTime!=''">
+ AND apply_time <= #{endTime}
+ </if>
+ GROUP BY k
+ </select>
+
+ <!-- 鎵ф硶娆℃暟閮ㄩ棬鍒嗗竷-->
+ <select id="getDeptCount"
+ parameterType="com.project.report.domain.bo.query.ReportQueryBo"
+ resultType="com.project.common.vo.KeyVal">
+ select
+ check_dept_id AS k,
+ IFNULL(count(order_id),0) as v
+ from enforce_order
+ where 1=1
+ <if test="beginTime!=null and beginTime!=''">
+ AND apply_time >= #{beginTime}
+ </if>
+ <if test="endTime!=null and endTime!=''">
+ AND apply_time <= #{endTime}
+ </if>
+ GROUP BY k
+ </select>
+
+ <!-- 琚墽娉曟鏁颁紒涓氬垎甯�-->
+ <select id="getCompanyCount"
+ parameterType="com.project.report.domain.bo.query.ReportQueryBo"
+ resultType="com.project.common.vo.KeyVal">
+ select
+ company_id AS k,
+ IFNULL(count(order_id),0) as v
+ from enforce_order
+ where 1=1
+ <if test="beginTime!=null and beginTime!=''">
+ AND apply_time >= #{beginTime}
+ </if>
+ <if test="endTime!=null and endTime!=''">
+ AND apply_time <= #{endTime}
+ </if>
+ GROUP BY k order by v desc
+ </select>
+
+ <!-- 鎵ф硶绫诲瀷鍒嗗竷-->
+ <select id="getEnforceTypeCount"
+ parameterType="com.project.report.domain.bo.query.ReportQueryBo"
+ resultType="com.project.common.vo.KeyVal">
+ select
+ enforce_type AS k,
+ IFNULL(count(order_id),0) as v
+ from enforce_order
+ where 1=1
+ <if test="beginTime!=null and beginTime!=''">
+ AND apply_time >= #{beginTime}
+ </if>
+ <if test="endTime!=null and endTime!=''">
+ AND apply_time <= #{endTime}
+ </if>
+ GROUP BY k
+ </select>
+
+ <!-- 鎶曡瘔澶勭悊鐘舵��-->
+ <select id="getComplaintStatusCount"
+ parameterType="com.project.report.domain.bo.query.ReportQueryBo"
+ resultType="com.project.common.vo.KeyVal">
+ select
+ complaint_status AS k,
+ IFNULL(count(id),0) as v
+ from enforce_complaint_log
+ where 1=1
+ <if test="beginTime!=null and beginTime!=''">
+ AND apply_time >= #{beginTime}
+ </if>
+ <if test="endTime!=null and endTime!=''">
+ AND apply_time <= #{endTime}
+ </if>
+ GROUP BY k
+ </select>
+
+ <!-- 鎵ф硶绫诲瀷鍒嗗竷-->
+ <select id="getComplaintTypeCount"
+ parameterType="com.project.report.domain.bo.query.ReportQueryBo"
+ resultType="com.project.common.vo.KeyVal">
+ select
+ complaint_type AS k,
+ IFNULL(count(id),0) as v
+ from enforce_complaint_log
+ where 1=1
+ <if test="beginTime!=null and beginTime!=''">
+ AND apply_time >= #{beginTime}
+ </if>
+ <if test="endTime!=null and endTime!=''">
+ AND apply_time <= #{endTime}
+ </if>
+ <if test="doComplaint!=null ">
+ <if test="doComplaint == 0 ">
+ AND complaint_status = 0
+ </if>
+ <if test="doComplaint == 1 ">
+ AND complaint_status != 0
+ </if>
+ </if>
+ GROUP BY k
+ </select>
+
+</mapper>
diff --git a/project-system/src/main/java/com/project/system/mapper/SysDictDataMapper.java b/project-system/src/main/java/com/project/system/mapper/SysDictDataMapper.java
index dc02d75..9789738 100644
--- a/project-system/src/main/java/com/project/system/mapper/SysDictDataMapper.java
+++ b/project-system/src/main/java/com/project/system/mapper/SysDictDataMapper.java
@@ -1,5 +1,6 @@
package com.project.system.mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.project.common.core.domain.entity.SysDictData;
import org.apache.ibatis.annotations.Param;
@@ -10,7 +11,7 @@
*
* @author project
*/
-public interface SysDictDataMapper
+public interface SysDictDataMapper extends BaseMapper<SysDictData>
{
/**
* 鏍规嵁鏉′欢鍒嗛〉鏌ヨ瀛楀吀鏁版嵁
diff --git a/project-system/src/main/java/com/project/system/mapper/SysUserMapper.java b/project-system/src/main/java/com/project/system/mapper/SysUserMapper.java
index 75c3d29..eae3dbc 100644
--- a/project-system/src/main/java/com/project/system/mapper/SysUserMapper.java
+++ b/project-system/src/main/java/com/project/system/mapper/SysUserMapper.java
@@ -1,10 +1,10 @@
package com.project.system.mapper;
-import java.util.List;
-
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Param;
import com.project.common.core.domain.entity.SysUser;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* 鐢ㄦ埛琛� 鏁版嵁灞�
@@ -136,10 +136,10 @@
/**
- * 鏌ヨ瑙掕壊鏍囪瘑瀵瑰簲浜烘暟
+ * 鑾峰彇瑙掕壊鏍囪瘑浜烘墜鏈哄彿
* @param roleKey 鏍囪瘑
* @param deptId 閮ㄩ棬id
- * @return 浜烘暟
+ * @return phoneList
*/
- List<Long> getNumByRoleKey(@Param("roleKey") String roleKey,@Param("deptId") Long deptId);
+ List<String> getPhonesByRoleKey(@Param("roleKey") String roleKey,@Param("deptId") Long deptId);
}
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 bd16bdf..72de54a 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
@@ -138,4 +138,12 @@
* @return 绠¤緰鏈烘瀯ids
*/
List<Long> getApplyDeptIdsByLoginUserId(Long userId);
+
+ /**
+ * 鑾峰彇鍗曚綅鍏ㄥ悕
+ * @param deptId 閮ㄩ棬id
+ * @return 鍏ㄥ悕
+ */
+ String getDeptAllName(Long deptId);
+
}
diff --git a/project-system/src/main/java/com/project/system/service/ISysDictDataService.java b/project-system/src/main/java/com/project/system/service/ISysDictDataService.java
index 5cc4bf7..19a1730 100644
--- a/project-system/src/main/java/com/project/system/service/ISysDictDataService.java
+++ b/project-system/src/main/java/com/project/system/service/ISysDictDataService.java
@@ -1,18 +1,20 @@
package com.project.system.service;
-import java.util.List;
import com.project.common.core.domain.entity.SysDictData;
+import com.project.common.mybatis.IBaseService;
+
+import java.util.List;
/**
* 瀛楀吀 涓氬姟灞�
- *
+ *
* @author project
*/
-public interface ISysDictDataService
+public interface ISysDictDataService extends IBaseService<SysDictData>
{
/**
* 鏍规嵁鏉′欢鍒嗛〉鏌ヨ瀛楀吀鏁版嵁
- *
+ *
* @param dictData 瀛楀吀鏁版嵁淇℃伅
* @return 瀛楀吀鏁版嵁闆嗗悎淇℃伅
*/
@@ -20,7 +22,7 @@
/**
* 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏搁敭鍊兼煡璇㈠瓧鍏告暟鎹俊鎭�
- *
+ *
* @param dictType 瀛楀吀绫诲瀷
* @param dictValue 瀛楀吀閿��
* @return 瀛楀吀鏍囩
@@ -38,7 +40,7 @@
/**
* 鏍规嵁瀛楀吀鏁版嵁ID鏌ヨ淇℃伅
- *
+ *
* @param dictCode 瀛楀吀鏁版嵁ID
* @return 瀛楀吀鏁版嵁
*/
@@ -46,14 +48,14 @@
/**
* 鎵归噺鍒犻櫎瀛楀吀鏁版嵁淇℃伅
- *
+ *
* @param dictCodes 闇�瑕佸垹闄ょ殑瀛楀吀鏁版嵁ID
*/
public void deleteDictDataByIds(Long[] dictCodes);
/**
* 鏂板淇濆瓨瀛楀吀鏁版嵁淇℃伅
- *
+ *
* @param dictData 瀛楀吀鏁版嵁淇℃伅
* @return 缁撴灉
*/
@@ -61,7 +63,7 @@
/**
* 淇敼淇濆瓨瀛楀吀鏁版嵁淇℃伅
- *
+ *
* @param dictData 瀛楀吀鏁版嵁淇℃伅
* @return 缁撴灉
*/
diff --git a/project-system/src/main/java/com/project/system/service/ISysUserService.java b/project-system/src/main/java/com/project/system/service/ISysUserService.java
index 6151278..7908b0a 100644
--- a/project-system/src/main/java/com/project/system/service/ISysUserService.java
+++ b/project-system/src/main/java/com/project/system/service/ISysUserService.java
@@ -1,8 +1,9 @@
package com.project.system.service;
-import java.util.List;
import com.project.common.core.domain.entity.SysUser;
import com.project.common.mybatis.IBaseService;
+
+import java.util.List;
/**
* 鐢ㄦ埛 涓氬姟灞�
@@ -214,9 +215,9 @@
public int deleteUserByDeptId(Long deptId);
/**
- * 鑾峰彇瑙掕壊鏍囪瘑浜烘暟
+ * 鑾峰彇瑙掕壊鏍囪瘑浜烘墜鏈哄彿
* @param roleKey 瑙掕壊鏍囪瘑
- * @return 浜烘暟
+ * @return idList
*/
- List<Long> getNumByRoleKey(String roleKey, Long deptId);
+ List<String> getPhonesByRoleKey(String roleKey, Long deptId);
}
diff --git a/project-system/src/main/java/com/project/system/service/impl/SysDeptServiceImpl.java b/project-system/src/main/java/com/project/system/service/impl/SysDeptServiceImpl.java
index 9d3b4be..a582612 100644
--- a/project-system/src/main/java/com/project/system/service/impl/SysDeptServiceImpl.java
+++ b/project-system/src/main/java/com/project/system/service/impl/SysDeptServiceImpl.java
@@ -1,5 +1,7 @@
package com.project.system.service.impl;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.project.common.annotation.DataScope;
import com.project.common.constant.UserConstants;
@@ -19,6 +21,7 @@
import org.springframework.stereotype.Service;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.stream.Collectors;
@@ -320,6 +323,18 @@
return deptMapper.getApplyDeptIdsByLoginUserId(userId);
}
+ @Override
+ public String getDeptAllName(Long deptId)
+ {
+ List<String> names = new ArrayList<>();
+ names = getAncestorsNames(deptId, names);
+ if (CollectionUtil.isEmpty(names)){
+ return "";
+ }
+ Collections.reverse(names);
+ return StrUtil.join("-", names);
+ }
+
/**
* 閫掑綊鍒楄〃
*/
@@ -362,4 +377,26 @@
{
return getChildList(list, t).size() > 0;
}
+
+
+ /**
+ * 鑾峰彇绁栫睄names鍒楄〃
+ *
+ * @param deptId 褰撳墠閮ㄩ棬id
+ * @param names 绁栫睄id鍒楄〃
+ * @return names鍒楄〃
+ */
+ public List<String> getAncestorsNames(long deptId, List<String> names) {
+ SysDept dept = this.getById(deptId);
+ if (dept == null) {
+ return new ArrayList<>();
+ }
+ if (dept.getParentId() != null && dept.getParentId() == 100) {
+ names.add(dept.getDeptName());
+ return names;
+ } else {
+ names.add(dept.getDeptName());
+ return getAncestorsNames(dept.getParentId(), names);
+ }
+ }
}
diff --git a/project-system/src/main/java/com/project/system/service/impl/SysDictDataServiceImpl.java b/project-system/src/main/java/com/project/system/service/impl/SysDictDataServiceImpl.java
index a1a098e..183ed06 100644
--- a/project-system/src/main/java/com/project/system/service/impl/SysDictDataServiceImpl.java
+++ b/project-system/src/main/java/com/project/system/service/impl/SysDictDataServiceImpl.java
@@ -1,8 +1,11 @@
package com.project.system.service.impl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.project.common.core.domain.entity.SysDept;
import com.project.common.core.domain.entity.SysDictData;
import com.project.common.exception.base.BaseException;
import com.project.common.utils.DictUtils;
+import com.project.system.mapper.SysDeptMapper;
import com.project.system.mapper.SysDictDataMapper;
import com.project.system.service.ISysDictDataService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -16,7 +19,7 @@
* @author project
*/
@Service
-public class SysDictDataServiceImpl implements ISysDictDataService
+public class SysDictDataServiceImpl extends ServiceImpl<SysDictDataMapper, SysDictData> implements ISysDictDataService
{
@Autowired
private SysDictDataMapper dictDataMapper;
diff --git a/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java b/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java
index 50ef0de..9e244fe 100644
--- a/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java
+++ b/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java
@@ -547,8 +547,8 @@
}
@Override
- public List<Long> getNumByRoleKey(String roleKey, Long deptId)
+ public List<String> getPhonesByRoleKey(String roleKey, Long deptId)
{
- return userMapper.getNumByRoleKey(roleKey, deptId);
+ return userMapper.getPhonesByRoleKey(roleKey, deptId);
}
}
diff --git a/project-system/src/main/resources/mapper/system/SysUserMapper.xml b/project-system/src/main/resources/mapper/system/SysUserMapper.xml
index 70b1c79..7280b60 100644
--- a/project-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/project-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -235,8 +235,8 @@
</delete>
- <select id="getNumByRoleKey" resultType="Long">
- select u.user_id
+ <select id="getPhonesByRoleKey" resultType="String">
+ select u.phonenumber
from sys_user u
join sys_user_role ur on u.user_id = ur.user_id
join sys_role r on r.role_id=ur.role_id
--
Gitblit v1.9.1