From b2c1822dc9ae8a67872193d182d9335d9a99655c Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期六, 22 六月 2024 15:16:53 +0800
Subject: [PATCH] 执法评价相关添加

---
 project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java                     |    4 
 project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateServiceImpl.java      |   40 ++++
 project-enforce/src/main/java/com/project/enforce/service/impl/EnforceComplaintLogServiceImpl.java  |   81 ++++++++++
 project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceComplaintLogQueryBo.java |   12 +
 project-enforce/src/main/java/com/project/enforce/service/IEnforceOrderService.java                 |   15 +
 project-admin/src/main/java/com/project/admin/controller/enforce/EnforceEvaluateController.java     |   15 +
 project-enforce/src/main/java/com/project/enforce/service/IEnforceEvaluateService.java              |    6 
 project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceComplaintLogVo.java              |   12 +
 project-admin/src/main/java/com/project/admin/controller/enforce/EnforceComplaintLogController.java |   34 ++++
 project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/ComplaintResultBo.java           |   17 ++
 project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java        |   17 ++
 project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/OrderComplaintBo.java            |   18 ++
 project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateLogServiceImpl.java   |   12 
 project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java         |   77 ++++++++-
 project-admin/src/main/java/com/project/admin/controller/system/SysProfileController.java           |   37 ++--
 project-enforce/src/main/java/com/project/enforce/domain/EnforceComplaintLog.java                   |   12 +
 project-enforce/src/main/java/com/project/enforce/service/IEnforceComplaintLogService.java          |   24 +++
 project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceComplaintLogBo.java       |   12 +
 18 files changed, 410 insertions(+), 35 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 b658a0e..78ea21f 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
@@ -7,9 +7,11 @@
 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.ComplaintResultBo;
 import com.project.enforce.domain.bo.editBo.EnforceComplaintLogBo;
 import com.project.enforce.domain.bo.queryBo.EnforceComplaintLogQueryBo;
 import com.project.enforce.domain.vo.EnforceComplaintLogVo;
+import com.project.enforce.domain.vo.OrderNodeVo;
 import com.project.enforce.service.IEnforceComplaintLogService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -66,7 +68,7 @@
     }
 
 
-    @ApiOperation("鏂板鎶曡瘔璁板綍")
+    @ApiOperation("鍙戣捣鎶曡瘔")
     //@PreAuthorize("@ss.hasPermi('enforce:log:add')")
     @Log(title = "鎶曡瘔璁板綍", businessType = BusinessType.INSERT)
     @PostMapping("/add")
@@ -97,4 +99,34 @@
     {
         return toAjax(iEnforceComplaintLogService.deleteByIds(Arrays.asList(ids)) ? 1 : 0);
     }
+
+
+    @ApiOperation("鍝嶅簲鎶曡瘔")
+    //@PreAuthorize("@ss.hasPermi('enforce:log:edit')")
+    @Log(title = "鍝嶅簲鎶曡瘔", businessType = BusinessType.UPDATE)
+    @PostMapping("/inComplaint")
+    @RepeatSubmit
+    public AjaxResult inComplaint(@RequestBody ComplaintResultBo bo)
+    {
+        return toAjax(iEnforceComplaintLogService.inComplaint(bo) ? 1 : 0);
+    }
+
+    @ApiOperation("澶勭悊缁撴灉")
+    //@PreAuthorize("@ss.hasPermi('enforce:log:edit')")
+    @Log(title = "澶勭悊缁撴灉", businessType = BusinessType.UPDATE)
+    @PostMapping("/doComplaint")
+    @RepeatSubmit
+    public AjaxResult doComplaint(@RequestBody ComplaintResultBo bo)
+    {
+        return toAjax(iEnforceComplaintLogService.doComplaint(bo) ? 1 : 0);
+    }
+
+
+    @ApiOperation("鎶曡瘔鍗曡妭鐐�")
+    @GetMapping("/orderNodeList")
+    public AjaxResult orderNodeList(@RequestParam("id") Long id)
+    {
+        List<OrderNodeVo> list = iEnforceComplaintLogService.orderNodeList(id);
+        return AjaxResult.success(list);
+    }
 }
diff --git a/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceEvaluateController.java b/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceEvaluateController.java
index aafa6e7..0aa0b27 100644
--- a/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceEvaluateController.java
+++ b/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceEvaluateController.java
@@ -30,7 +30,7 @@
 
     private final IEnforceEvaluateService enforceEvaluateService;
 
-    @ApiOperation("鑾峰彇鎵ф硶璇勪环璇︾粏淇℃伅")
+    @ApiOperation("鑾峰彇鎵ф硶璇勪环閰嶇疆璇︽儏")
     @GetMapping("/detail")
     public AjaxResult getInfo()
     {
@@ -38,7 +38,7 @@
     }
 
 
-    @ApiOperation("淇濆瓨鎵ф硶璇勪环")
+    @ApiOperation("淇濆瓨鎵ф硶璇勪环閰嶇疆")
     //@PreAuthorize("@ss.hasPermi('enforce:log:add')")
     @Log(title = "鎵ф硶璇勪环璁剧疆", businessType = BusinessType.INSERT)
     @PostMapping("/save")
@@ -49,4 +49,15 @@
     }
 
 
+    @ApiOperation("淇濆瓨鎵ф硶璇勪环閰嶇疆")
+    //@PreAuthorize("@ss.hasPermi('enforce:log:add')")
+    @Log(title = "鎵ф硶璇勪环璁剧疆", businessType = BusinessType.INSERT)
+    @PostMapping("/saveOrder")
+    @RepeatSubmit
+    public AjaxResult saveOrder(@RequestBody EnforceEvaluateBo bo)
+    {
+        return toAjax(enforceEvaluateService.saveOrder(bo) ? 1 : 0);
+    }
+
+
 }
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 d26563b..ed62903 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
@@ -12,6 +12,7 @@
 import com.project.common.utils.StringUtils;
 import com.project.common.utils.poi.ExcelUtil;
 import com.project.enforce.domain.bo.editBo.EnforceOrderBo;
+import com.project.enforce.domain.bo.editBo.OrderComplaintBo;
 import com.project.enforce.domain.bo.editBo.OrderResultBo;
 import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo;
 import com.project.enforce.domain.bo.queryBo.OrderCheckedQueryBo;
@@ -133,6 +134,7 @@
         return AjaxResult.success(iEnforceOrderService.doResultOrder(resultBo));
     }
 
+
     @ApiOperation("鎵ф硶鍗曡妭鐐�")
     @GetMapping("/orderNodeList")
     public AjaxResult orderNodeList(@RequestParam("orderId") Long orderId)
@@ -141,6 +143,21 @@
         return AjaxResult.success(list);
     }
 
+    @ApiOperation("鎵ф硶鍗曟姇璇�")
+    @Log(title = "鎵ф硶鍗曟姇璇�", businessType = BusinessType.UPDATE)
+    @PostMapping("/orderComplaint")
+    public AjaxResult orderComplaint(OrderComplaintBo bo)
+    {
+        return AjaxResult.success(iEnforceOrderService.orderComplaint(bo));
+    }
+
+    @ApiOperation("鎵ф硶鍗曟姇璇夎妭鐐�")
+    @GetMapping("/orderComplaintNodeList")
+    public AjaxResult orderComplaintNodeList(@RequestParam("orderId") Long orderId)
+    {
+        List<OrderNodeVo> list = iEnforceOrderService.orderComplaintNodeList(orderId);
+        return AjaxResult.success(list);
+    }
 
     @ApiOperation("瀵煎嚭鎵ф硶鍗曞垪琛�")
     //@PreAuthorize("@ss.hasPermi('enforce:order:export')")
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 48741d9..f36229a 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,22 +1,11 @@
 package com.project.admin.controller.system;
 
-import com.project.common.config.ProjectConfig;
-import com.project.common.core.domain.entity.SysDept;
-import com.project.framework.web.service.SysPermissionService;
-import com.project.system.service.ISysDeptService;
-import lombok.RequiredArgsConstructor;
-import org.springframework.web.bind.annotation.GetMapping;
-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.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
 import com.project.common.annotation.Log;
+import com.project.common.config.ProjectConfig;
 import com.project.common.constant.UserConstants;
 import com.project.common.core.controller.BaseController;
 import com.project.common.core.domain.AjaxResult;
+import com.project.common.core.domain.entity.SysDept;
 import com.project.common.core.domain.entity.SysUser;
 import com.project.common.core.domain.model.LoginUser;
 import com.project.common.enums.BusinessType;
@@ -24,8 +13,15 @@
 import com.project.common.utils.StringUtils;
 import com.project.common.utils.file.FileUploadUtils;
 import com.project.common.utils.file.MimeTypeUtils;
+import com.project.framework.web.service.SysPermissionService;
 import com.project.framework.web.service.TokenService;
+import com.project.system.domain.SysCompany;
+import com.project.system.service.ISysCompanyService;
+import com.project.system.service.ISysDeptService;
 import com.project.system.service.ISysUserService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.util.Set;
 
@@ -43,6 +39,7 @@
     private final ISysDeptService deptService;
     private final TokenService tokenService;
     private final SysPermissionService permissionService;
+    private final ISysCompanyService companyService;
 
 
     /**
@@ -52,9 +49,17 @@
     public AjaxResult profile()
     {
         SysUser user = SecurityUtils.getLoginUser().getUser();
-        SysDept sysDept = deptService.selectDeptById(userService.getById(user.getUserId()).getDeptId());
-        sysDept.setDeptName(deptService.getDeptAllName(sysDept.getDeptId()));
-        user.setDept(sysDept);
+        if ("02".equals(user.getUserType())){
+            SysCompany company = companyService.getById(userService.getById(user.getUserId()).getDeptId());
+            SysDept sysDept = new SysDept();
+            sysDept.setDeptName(company.getCompanyName());
+            user.setDept(sysDept);
+        } else {
+            SysDept sysDept = deptService.selectDeptById(userService.getById(user.getUserId()).getDeptId());
+            sysDept.setDeptName(deptService.getDeptAllName(sysDept.getDeptId()));
+            user.setDept(sysDept);
+        }
+
         // 瑙掕壊闆嗗悎
         Set<String> roles = permissionService.getRolePermission(user);
         // 鏉冮檺闆嗗悎
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 b01f7e4..9de9954 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
@@ -90,6 +90,18 @@
     @ApiModelProperty("澶勭悊缁撴灉鏃堕棿")
     private Date resultTime;
 
+    @ApiModelProperty("鍝嶅簲浜�")
+    private String inUser;
+
+    @ApiModelProperty("澶勭悊缁撴灉浜�")
+    private String resultUser;
+
+    @ApiModelProperty("鍝嶅簲浜篿d")
+    private Long inId;
+
+    @ApiModelProperty("澶勭悊缁撴灉浜篿d")
+    private Long resultId;
+
 
     @ApiModelProperty("鎶曡瘔鍐呭")
     private String complaintReason;
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/ComplaintResultBo.java b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/ComplaintResultBo.java
new file mode 100644
index 0000000..f1b3290
--- /dev/null
+++ b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/ComplaintResultBo.java
@@ -0,0 +1,17 @@
+package com.project.enforce.domain.bo.editBo;
+
+import lombok.Data;
+
+/**
+ * 鍔熻兘鎻忚堪锛�
+ *
+ * @author ZQN
+ * @version 1.0
+ */
+
+@Data
+public class ComplaintResultBo
+{
+    private Long id;
+    private String result;
+}
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 1639001..cc6b0ba 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
@@ -82,6 +82,18 @@
     @ApiModelProperty("澶勭悊缁撴灉鏃堕棿")
     private Date resultTime;
 
+    @ApiModelProperty("鍝嶅簲浜�")
+    private String inUser;
+
+    @ApiModelProperty("澶勭悊缁撴灉浜�")
+    private String resultUser;
+
+    @ApiModelProperty("鍝嶅簲浜篿d")
+    private Long inId;
+
+    @ApiModelProperty("澶勭悊缁撴灉浜篿d")
+    private Long resultId;
+
     /** 鎶曡瘔鍐呭 */
     @ApiModelProperty("鎶曡瘔鍐呭")
     private String complaintReason;
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/OrderComplaintBo.java b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/OrderComplaintBo.java
new file mode 100644
index 0000000..946c5d7
--- /dev/null
+++ b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/OrderComplaintBo.java
@@ -0,0 +1,18 @@
+package com.project.enforce.domain.bo.editBo;
+
+import lombok.Data;
+
+/**
+ * 鍔熻兘鎻忚堪锛�
+ *
+ * @author ZQN
+ * @version 1.0
+ */
+
+@Data
+public class OrderComplaintBo
+{
+    private Long orderId;
+    private String complaintType;
+    private String complaintReason;
+}
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 42db15b..74e2435 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
@@ -83,6 +83,18 @@
 	@ApiModelProperty("澶勭悊缁撴灉鏃堕棿")
 	private Date resultTime;
 
+	@ApiModelProperty("鍝嶅簲浜�")
+	private String inUser;
+
+	@ApiModelProperty("澶勭悊缁撴灉浜�")
+	private String resultUser;
+
+	@ApiModelProperty("鍝嶅簲浜篿d")
+	private Long inId;
+
+	@ApiModelProperty("澶勭悊缁撴灉浜篿d")
+	private Long resultId;
+
 
 	/** 鎶曡瘔鍐呭 */
 	@ApiModelProperty("鎶曡瘔鍐呭")
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 6854c9d..3f26818 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
@@ -76,6 +76,18 @@
 	@ApiModelProperty("澶勭悊缁撴灉鏃堕棿")
 	private Date resultTime;
 
+	@ApiModelProperty("鍝嶅簲浜�")
+	private String inUser;
+
+	@ApiModelProperty("澶勭悊缁撴灉浜�")
+	private String resultUser;
+
+	@ApiModelProperty("鍝嶅簲浜篿d")
+	private Long inId;
+
+	@ApiModelProperty("澶勭悊缁撴灉浜篿d")
+	private Long resultId;
+
 	@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 8971dc3..0f55ef1 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
@@ -184,4 +184,8 @@
 
 	@ApiModelProperty("鍚岃浜烘暟缁�")
 	private List<EnforcePeer> peers;
+
+
+	@ApiModelProperty("璇勪环鏁版嵁")
+	private EnforceEvaluateVo evaluateVo;
 }
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 5f78b3a..812f1b1 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
@@ -2,9 +2,11 @@
 
 import com.project.common.mybatis.IBaseService;
 import com.project.enforce.domain.EnforceComplaintLog;
+import com.project.enforce.domain.bo.editBo.ComplaintResultBo;
 import com.project.enforce.domain.bo.editBo.EnforceComplaintLogBo;
 import com.project.enforce.domain.bo.queryBo.EnforceComplaintLogQueryBo;
 import com.project.enforce.domain.vo.EnforceComplaintLogVo;
+import com.project.enforce.domain.vo.OrderNodeVo;
 
 import java.util.Collection;
 import java.util.List;
@@ -48,4 +50,26 @@
 	 * @return  true鎴愬姛 false澶辫触
 	 */
 	Boolean deleteByIds(Collection<Long> ids);
+
+	/**
+	 * 鎶曡瘔鍗曡妭鐐�
+	 * @param id 涓婚敭闆嗗悎
+	 * @return  true鎴愬姛 false澶辫触
+	 */
+    List<OrderNodeVo> orderNodeList(Long id);
+
+
+	/**
+	 * 鍝嶅簲鎶曡瘔
+	 * @param bo	鍙傛暟
+	 * @return	true鎴愬姛 false澶辫触
+	 */
+	Boolean inComplaint(ComplaintResultBo bo);
+
+	/**
+	 * 澶勭悊鎶曡瘔缁撴灉
+	 * @param bo	鍙傛暟
+	 * @return	true鎴愬姛 false澶辫触
+	 */
+	Boolean doComplaint(ComplaintResultBo bo);
 }
diff --git a/project-enforce/src/main/java/com/project/enforce/service/IEnforceEvaluateService.java b/project-enforce/src/main/java/com/project/enforce/service/IEnforceEvaluateService.java
index e4d465c..a27ad5f 100644
--- a/project-enforce/src/main/java/com/project/enforce/service/IEnforceEvaluateService.java
+++ b/project-enforce/src/main/java/com/project/enforce/service/IEnforceEvaluateService.java
@@ -26,6 +26,12 @@
      */
     EnforceEvaluateVo getInfo();
 
+    /**
+     * 淇濆瓨鎵ф硶鍗曡瘎浠�
+     * @param bo    鍙傛暟
+     * @return  缁撴灉
+     */
+    Boolean saveOrder(EnforceEvaluateBo 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 70ad5e1..93d3cea 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
@@ -3,6 +3,7 @@
 import com.project.common.mybatis.IBaseService;
 import com.project.enforce.domain.EnforceOrder;
 import com.project.enforce.domain.bo.editBo.EnforceOrderBo;
+import com.project.enforce.domain.bo.editBo.OrderComplaintBo;
 import com.project.enforce.domain.bo.editBo.OrderResultBo;
 import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo;
 import com.project.enforce.domain.bo.queryBo.OrderCheckedQueryBo;
@@ -115,4 +116,18 @@
 	 * @return	缁撴灉
 	 */
 	Boolean doResultOrder(OrderResultBo resultBo);
+
+	/**
+	 * 鎵ф硶鍗曟姇璇�
+	 * @param bo	鍙傛暟
+	 * @return	缁撴灉
+	 */
+	Boolean orderComplaint(OrderComplaintBo bo);
+
+	/**
+	 * 鎵ф硶鎶曡瘔鑺傜偣鍒楄〃
+	 * @param orderId	鎵ф硶鍗昳d
+	 * @return	鑺傜偣
+	 */
+	List<OrderNodeVo> orderComplaintNodeList(Long orderId);
 }
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 64157bd..e47ca72 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
@@ -4,11 +4,17 @@
 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.core.domain.entity.SysUser;
+import com.project.common.exception.base.BaseException;
+import com.project.common.utils.DateUtils;
+import com.project.common.utils.SecurityUtils;
 import com.project.common.utils.StringUtils;
 import com.project.enforce.domain.EnforceComplaintLog;
+import com.project.enforce.domain.bo.editBo.ComplaintResultBo;
 import com.project.enforce.domain.bo.editBo.EnforceComplaintLogBo;
 import com.project.enforce.domain.bo.queryBo.EnforceComplaintLogQueryBo;
 import com.project.enforce.domain.vo.EnforceComplaintLogVo;
+import com.project.enforce.domain.vo.OrderNodeVo;
 import com.project.enforce.mapper.EnforceComplaintLogMapper;
 import com.project.enforce.service.IEnforceComplaintLogService;
 import com.project.system.service.ISysDeptService;
@@ -17,6 +23,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
@@ -76,6 +83,53 @@
         return this.removeByIds(ids);
     }
 
+    @Override//鎶曡瘔鍗曡妭鐐�
+    public List<OrderNodeVo> orderNodeList(Long id)
+    {
+        List<OrderNodeVo> vos = new ArrayList<>();
+        EnforceComplaintLog order = this.getById(id);
+        if (order.getComplaintTime()!=null){
+            vos.add(new OrderNodeVo("鍙戣捣鎶曡瘔",order.getCompanyUser(),order.getComplaintTime(), null));
+        }
+        if (order.getInTime()!=null){
+            vos.add(new OrderNodeVo("鍝嶅簲鎶曡瘔",order.getInUser(),order.getInTime(), null));
+        }
+        if (order.getResultTime()!=null){
+            vos.add(new OrderNodeVo("鎶曡瘔缁撴灉",order.getExecuteUser(),order.getResultTime(), order.getComplaintResult()));
+        }
+        return vos;
+    }
+
+    @Override//鍝嶅簲鎶曡瘔
+    @Transactional
+    public Boolean inComplaint(ComplaintResultBo bo)
+    {
+        SysUser loginUser = SecurityUtils.getLoginUser().getUser();
+        return this.update(lu()
+                .set(EnforceComplaintLog::getInId,loginUser.getUserId())
+                .set(EnforceComplaintLog::getInUser,loginUser.getNickName())
+                .set(EnforceComplaintLog::getInTime, DateUtils.getNowDate())
+                .eq(EnforceComplaintLog::getId, bo.getId())
+        );
+    }
+
+    @Override//澶勭悊缁撴灉
+    @Transactional
+    public Boolean doComplaint(ComplaintResultBo bo)
+    {
+        if (StringUtils.isEmpty(bo.getResult())){
+            throw new BaseException("璇峰~鍐欏鐞嗙粨鏋�");
+        }
+        SysUser loginUser = SecurityUtils.getLoginUser().getUser();
+        return this.update(lu()
+                .set(EnforceComplaintLog::getResultId,loginUser.getUserId())
+                .set(EnforceComplaintLog::getResultUser,loginUser.getNickName())
+                .set(EnforceComplaintLog::getResultTime, DateUtils.getNowDate())
+                .set(EnforceComplaintLog::getComplaintResult, bo.getResult())
+                .eq(EnforceComplaintLog::getId, bo.getId())
+        );
+    }
+
 
 //-------------------------------------------------------------------------------------
 
@@ -85,6 +139,33 @@
         if (StringUtils.isEmpty(entity.getExecuteDeptName()) && entity.getExecuteDeptName()!=null){
             entity.setExecuteDeptName(deptService.getDeptAllName(entity.getExecuteDeptId()));
         }
+        if (entity.getCompanyId()==null
+                || StringUtils.isEmpty(entity.getCompanyName())
+                || StringUtils.isEmpty(entity.getCompanyUser())
+                || StringUtils.isEmpty(entity.getCompanyPhone())
+        ){
+            throw new BaseException("鎶曡瘔浼佷笟涓嶈兘涓虹┖锛�");
+        }
+        if (entity.getExecuteDeptId() == null
+                || StringUtils.isEmpty(entity.getExecuteDeptName())
+        ){
+            throw new BaseException("鎶曡瘔鍗曚綅涓嶈兘涓虹┖锛�");
+        }
+        if (StringUtils.isEmpty(entity.getComplaintType())){
+            throw new BaseException("璇烽�夋嫨瑕佹姇璇夌被鍨嬶紒");
+        }
+        if (StringUtils.isEmpty(entity.getComplaintReason())){
+            throw new BaseException("璇峰~鍐欐姇璇夊唴瀹癸紒");
+        }
+        if (entity.getId()==null){
+            if (entity.getOrderId()!=null){ //鎵ф硶鍗曟姇璇�
+                int count = this.count(lq().eq(EnforceComplaintLog::getOrderId, entity.getOrderId()));
+                if (count >0){
+                    throw new BaseException("璇ユ墽娉曞崟宸叉姇璇夛紒");
+                }
+            }
+            entity.setComplaintTime(DateUtils.getNowDate());
+        }
     }
 
     //鑾峰彇鏌ヨ鍙傛暟
diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateLogServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateLogServiceImpl.java
index 1fa97b1..1134a0e 100644
--- a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateLogServiceImpl.java
+++ b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateLogServiceImpl.java
@@ -47,11 +47,13 @@
         EnforceEvaluateLog db = this.baseMapper.selectById(id);
         EnforceEvaluateLogVo vo = Convert.convert(EnforceEvaluateLogVo.class, db);
         String questionStatic = vo.getQuestionStatic();
-        try {
-            EnforceEvaluateVo evaluateVo = JsonUtils.jsonToPojo(questionStatic, EnforceEvaluateVo.class);
-            vo.setEvaluateVo(evaluateVo);
-        } catch (Exception e) {
-            throw new BaseException("璇勪环闂埜瑙f瀽寮傚父锛�");
+        if (StringUtils.isNotEmpty(questionStatic)){
+            try {
+                EnforceEvaluateVo evaluateVo = JsonUtils.jsonToPojo(questionStatic, EnforceEvaluateVo.class);
+                vo.setEvaluateVo(evaluateVo);
+            } catch (Exception e) {
+                throw new BaseException("璇勪环闂埜瑙f瀽寮傚父锛�");
+            }
         }
         return vo;
     }
diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateServiceImpl.java
index 54dcde0..f81186c 100644
--- a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateServiceImpl.java
+++ b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateServiceImpl.java
@@ -1,9 +1,14 @@
 package com.project.enforce.service.impl;
 
+import cn.hutool.core.convert.Convert;
 import com.project.common.exception.base.BaseException;
+import com.project.common.utils.JsonUtils;
+import com.project.common.utils.NumberUtils;
 import com.project.common.utils.StringUtils;
 import com.project.enforce.domain.EnforceEvaluateAnswer;
+import com.project.enforce.domain.EnforceEvaluateLog;
 import com.project.enforce.domain.EnforceEvaluateQuestion;
+import com.project.enforce.domain.EnforceOrder;
 import com.project.enforce.domain.bo.editBo.EnforceEvaluateBo;
 import com.project.enforce.domain.vo.EnforceEvaluateVo;
 import com.project.enforce.service.*;
@@ -12,6 +17,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -41,7 +47,7 @@
         if (StringUtils.isEmpty(questionList)){
             throw new BaseException("璇勪环椤逛笉鍙负绌猴紒");
         }
-        for (EnforceEvaluateQuestion question : bo.getQuestionList()) {
+        for (EnforceEvaluateQuestion question : questionList) {
             if (question.getQuestionType()==1 && StringUtils.isEmpty(question.getAnswerList())){
                 throw new BaseException("閫夋嫨绫诲瀷绛旀涓嶅彲涓虹┖锛�");
             }
@@ -87,5 +93,37 @@
         return vo;
     }
 
+    @Override
+    @Transactional
+    public Boolean saveOrder(EnforceEvaluateBo bo)
+    {
+        if (bo.getOrderId()==null){
+            throw new BaseException("璇烽�夋嫨璇勪环鎵ф硶鍗曪紒");
+        }
+        List<EnforceEvaluateQuestion> questionList = bo.getQuestionList();
+        if (StringUtils.isEmpty(questionList)){
+            throw new BaseException("璇勪环椤逛笉鍙负绌猴紒");
+        }
+        int count = evaluateLogService.count(EnforceEvaluateLog::getOrderId, bo.getOrderId());
+        if (count>0) {
+            throw new BaseException("璇ユ墽娉曞崟宸茶瘎浠凤紒");
+        }
+        BigDecimal totalScore = BigDecimal.ZERO;
+        for (EnforceEvaluateQuestion question : questionList) {
+            totalScore = NumberUtils.add(totalScore, question.getGetScore());
+        }
+        EnforceOrder order = orderService.getById(bo.getOrderId());
+        EnforceEvaluateLog evaluateLog = Convert.convert(EnforceEvaluateLog.class, order);
+        evaluateLog.setQuestionRemark(bo.getQuestionRemark());
+        evaluateLog.setTotalScore(NumberUtils.divToBigDecSca2(totalScore,1));
+        evaluateLog.setQuestionStatic(JsonUtils.objectToJson(bo.getQuestionList()));
+
+        evaluateLogService.saveOrUpdate(evaluateLog);
+        return orderService.update(orderService.lu()
+                .set(EnforceOrder::getIsEva,1)
+                .set(EnforceOrder::getTotalScore, totalScore)
+        );
+    }
+
 
 }
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 8f39224..c470d09 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
@@ -10,21 +10,18 @@
 import com.project.common.exception.base.BaseException;
 import com.project.common.sms.YPSmsApi;
 import com.project.common.utils.DateUtils;
+import com.project.common.utils.JsonUtils;
 import com.project.common.utils.SecurityUtils;
 import com.project.common.utils.StringUtils;
-import com.project.enforce.domain.EnforceCheckLog;
-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.editBo.OrderResultBo;
+import com.project.enforce.domain.*;
+import com.project.enforce.domain.bo.editBo.*;
 import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo;
 import com.project.enforce.domain.bo.queryBo.OrderCheckedQueryBo;
+import com.project.enforce.domain.vo.EnforceEvaluateVo;
 import com.project.enforce.domain.vo.EnforceOrderVo;
 import com.project.enforce.domain.vo.OrderNodeVo;
 import com.project.enforce.mapper.EnforceOrderMapper;
-import com.project.enforce.service.IEnforceCheckLogService;
-import com.project.enforce.service.IEnforceOrderService;
-import com.project.enforce.service.IEnforcePeerService;
+import com.project.enforce.service.*;
 import com.project.system.service.ISysDeptService;
 import com.project.system.service.ISysOrderNoService;
 import com.project.system.service.ISysUserService;
@@ -52,6 +49,8 @@
     private final ISysOrderNoService orderNoService;
     private final IEnforcePeerService peerService;
     private final IEnforceCheckLogService checkLogService;
+    private final IEnforceComplaintLogService complaintLogService;
+    private final IEnforceEvaluateLogService evaluateLogService;
 
     @Override//鍒楄〃鏌ヨ
     @DataScope(deptAlias = "apply_dept_id", userAlias = "apply_id")
@@ -96,7 +95,10 @@
     @Override//淇℃伅鍏紡鍒楄〃
     public List<EnforceOrderVo> showList()
     {
-        List<EnforceOrder> list = this.list(lq().eq(EnforceOrder::getIsShow, 1));
+        List<EnforceOrder> list = this.list(lq()
+                .eq(EnforceOrder::getIsShow, 1)
+                .eq(EnforceOrder::getOrderStatus, 4)
+        );
         return Convert.toList(EnforceOrderVo.class, list);
     }
 
@@ -107,6 +109,20 @@
         EnforceOrderVo vo = Convert.convert(EnforceOrderVo.class, db);
         List<EnforcePeer> peers = peerService.list(peerService.lq().eq(EnforcePeer::getOrderId, orderId).eq(EnforcePeer::getPeerType,2));
         vo.setPeers(peers);
+        if (db.getIsEva()==1){
+            EnforceEvaluateLog one = evaluateLogService.getOne(evaluateLogService.lq().eq(EnforceEvaluateLog::getOrderId, orderId));
+            if (one!=null){
+                String questionStatic = one.getQuestionStatic();
+                if (StringUtils.isNotEmpty(questionStatic)){
+                    try {
+                        EnforceEvaluateVo evaluateVo = JsonUtils.jsonToPojo(questionStatic, EnforceEvaluateVo.class);
+                        vo.setEvaluateVo(evaluateVo);
+                    } catch (Exception e) {
+                        throw new BaseException("璇勪环闂埜瑙f瀽寮傚父锛�");
+                    }
+                }
+            }
+        }
         return vo;
     }
 
@@ -223,7 +239,8 @@
         return this.updateById(order);
     }
 
-    @Override
+    @Override//涓婃姤缁撴灉
+    @Transactional
     public Boolean doResultOrder(OrderResultBo resultBo)
     {
         if (resultBo.getRegionStatus()==null){
@@ -243,6 +260,46 @@
         );
     }
 
+    @Override//鎵ф硶鍗曟姇璇�
+    @Transactional
+    public Boolean orderComplaint(OrderComplaintBo bo)
+    {
+        if (bo.getOrderId()==null){
+            throw new BaseException("璇烽�夋嫨瑕佹姇璇夌殑鎵ф硶鍗曪紒");
+        }
+        if (StringUtils.isEmpty(bo.getComplaintType())){
+            throw new BaseException("璇烽�夋嫨瑕佹姇璇夌被鍨嬶紒");
+        }
+        if (StringUtils.isEmpty(bo.getComplaintReason())){
+            throw new BaseException("璇峰~鍐欐姇璇夊唴瀹癸紒");
+        }
+        EnforceOrder order = this.getById(bo.getOrderId());
+        //娣诲姞鎶曡瘔璁板綍
+        EnforceComplaintLogBo complaintLogBo = Convert.convert(EnforceComplaintLogBo.class, order);
+        complaintLogBo.setComplaintType(bo.getComplaintType());
+        complaintLogBo.setComplaintReason(bo.getComplaintReason());
+        Boolean addLog = complaintLogService.insertByBo(complaintLogBo);
+        if (addLog){
+            return this.update(lu()
+                    .set(EnforceOrder::getIsComplaint,1)
+                    .set(EnforceOrder::getComplaintType,bo.getComplaintType())
+                    .set(EnforceOrder::getComplaintReason,bo.getComplaintReason())
+                    .eq(EnforceOrder::getOrderId,bo.getOrderId())
+            );
+        }
+        return false;
+    }
+
+    @Override//鎵ф硶鍗曟姇璇夎妭鐐�
+    public List<OrderNodeVo> orderComplaintNodeList(Long orderId)
+    {
+        EnforceComplaintLog log = complaintLogService.getOne(complaintLogService.lq().eq(EnforceComplaintLog::getOrderId, orderId));
+        if (log==null){
+            return null;
+        }
+        return complaintLogService.orderNodeList(log.getId());
+    }
+
 
 //-------------------------------------------------------------------------------------
 

--
Gitblit v1.9.1