Browse Source

电签相关

huangjn 3 years ago
parent
commit
196c75c399

+ 8 - 2
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/AssessmentUser.java

@@ -46,12 +46,18 @@ public class AssessmentUser extends BaseEntity {
     /**
      * 考核金额(元)
      */
-    @ApiModelProperty("考核金额(元)")
+    @ApiModelProperty("考核金额(元),类型的值")
     private String assessmentMoney;
     /**
      * 考核原因
      */
-    @ApiModelProperty("考核原因")
+    @ApiModelProperty("考核原因,类型的明文")
     private String assessmentContent;
 
+    @ApiModelProperty("被考核人ID")
+    private String assessmentUser;
+
+    @ApiModelProperty("考核类型,类型的ID")
+    private String assessmentType;
+
 }

+ 8 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/OpinionUserClient.java

@@ -12,6 +12,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springblade.core.mp.support.Query;
 
+import java.util.List;
+
 @FeignClient(value = BusinessConstant.APPLICATION_WEATHER_NAME)
 public interface OpinionUserClient {
 
@@ -23,6 +25,12 @@ public interface OpinionUserClient {
     @PostMapping(API_PREFIX + "/cancelAssessment")
     Boolean cancelAssessment(@RequestParam Long id);
 
+    /**
+     * 获取用户的被考核记录
+     */
+    @GetMapping("/queryUserAssessmentByUserId")
+    List<AssessmentUser> queryUserAssessmentByUserId(@RequestParam Long userId);
+
     /**
      * 新增考核
      */

+ 35 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/AssessmentUserContentVO.java

@@ -0,0 +1,35 @@
+package org.springblade.business.vo;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+public class AssessmentUserContentVO {
+
+    private String userName;
+
+    private List<Assessment> assessmentList = new ArrayList<>();
+
+    public void setAssessmentList(String assessmentContent, String assessmentMoney, Integer assessmentNumber){
+        assessmentList.add(new Assessment(assessmentContent, assessmentMoney, assessmentNumber));
+    }
+
+    private class Assessment{
+
+        private String assessmentContent;
+
+        private String assessmentMoney;
+
+        private Integer assessmentNumber;
+
+        private Assessment(String assessmentContent, String assessmentMoney, Integer assessmentNumber){
+            this.assessmentContent = assessmentContent;
+            this.assessmentMoney = assessmentMoney;
+            this.assessmentNumber = assessmentNumber;
+        }
+
+    }
+
+}

+ 3 - 1
blade-service/blade-business/src/main/java/org/springblade/business/controller/BusinessUserOpinionController.java

@@ -19,6 +19,8 @@ import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
 import java.util.Date;
 import java.util.List;
 
@@ -43,7 +45,7 @@ public class BusinessUserOpinionController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "query", value = "分页信息", required = true)
     })
-    public R<IPage<BusinessUserOpinionVO>> queryBusinessUserOpinionListAll(@RequestBody Query query){
+    public R<IPage<BusinessUserOpinionVO>> queryBusinessUserOpinionListAll(Query query){
         return R.data(this.userOpinionService.queryBusinessUserOpinionListAll(query));
     }
 

+ 7 - 0
blade-service/blade-business/src/main/java/org/springblade/business/feignClient/OpinionUserClientImpl.java

@@ -13,6 +13,8 @@ import org.springframework.web.bind.annotation.RestController;
 
 import org.springblade.core.mp.support.Query;
 
+import java.util.List;
+
 @RestController
 @AllArgsConstructor
 public class OpinionUserClientImpl implements OpinionUserClient {
@@ -21,6 +23,11 @@ public class OpinionUserClientImpl implements OpinionUserClient {
 
     private final IAssessmentUserService assessmentUserService;
 
+    @Override
+    public List<AssessmentUser> queryUserAssessmentByUserId(Long userId) {
+        return this.assessmentUserService.list(Wrappers.<AssessmentUser>lambdaQuery().eq(AssessmentUser::getIsDeleted, 0).eq(AssessmentUser::getAssessmentUser, userId));
+    }
+
     @Override
     public Boolean cancelAssessment(Long id) {
         return this.assessmentUserService.update(Wrappers.<AssessmentUser>lambdaUpdate().set(AssessmentUser::getIsDeleted, 1).eq(AssessmentUser::getId, id));

+ 2 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/AssessmentUserMapper.xml

@@ -15,6 +15,8 @@
         <result column="user_opinion_flow_id" property="userOpinionFlowId"/>
         <result column="assessment_money" property="assessmentMoney"/>
         <result column="assessment_content" property="assessmentContent"/>
+        <result column="assessment_user" property="assessmentUser"/>
+        <result column="assessment_type" property="assessmentType"/>
     </resultMap>
 
 

+ 62 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/AssessmentUserController.java

@@ -8,6 +8,7 @@ import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.springblade.business.entity.AssessmentUser;
 import org.springblade.business.feign.OpinionUserClient;
+import org.springblade.business.vo.AssessmentUserContentVO;
 import org.springblade.business.vo.AssessmentUserVOS;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.mp.support.Query;
@@ -15,10 +16,15 @@ import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.manager.service.SaveUserInfoByProjectService;
+import org.springblade.system.entity.DictBiz;
+import org.springblade.system.feign.IDictBizClient;
 import org.springblade.system.user.entity.User;
 import org.springframework.web.bind.annotation.*;
 
+import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.Iterator;
 import java.util.List;
 
 /**
@@ -34,6 +40,62 @@ public class AssessmentUserController extends BladeController {
 
     private final SaveUserInfoByProjectService saveUserInfoByProjectService;
 
+    private final IDictBizClient dictBizClient;
+
+    /**
+     * 查询所有考核人员的考核记录
+     */
+    @GetMapping("/queryAllUserAssessmentContent")
+    @ApiOperationSupport(order = 8)
+    @ApiOperation(value = "查询所有考核人员的考核记录")
+    public R<List<AssessmentUserContentVO>> queryAllUserAssessmentContent(){
+        List<AssessmentUserContentVO> result = new ArrayList<>();
+        //获取考核分类
+        List<DictBiz> dictBizs = this.dictBizClient.getList("assessment_type", "notRoot").getData();
+        //获取当前系统下所有维护人员
+        List<User> assessmentUserList = this.saveUserInfoByProjectService.findMaintenanceUser();
+        assessmentUserList.forEach(user -> {
+            AssessmentUserContentVO vo = new AssessmentUserContentVO();
+            vo.setUserName(user.getRealName());
+
+            //查询当前用户的考核记录
+            List<AssessmentUser> assessmentUsers = this.opinionUserClient.queryUserAssessmentByUserId(user.getId());
+            if(assessmentUsers != null && assessmentUsers.size() > 0){
+                for(DictBiz dictBiz : dictBizs){
+                    //考核金额
+                    BigDecimal assessmentMoney = new BigDecimal("0.00");
+                    int count = 0;
+                    Iterator<AssessmentUser> iterator = assessmentUsers.iterator();
+                    while (iterator.hasNext()){
+                        AssessmentUser assessmentUser = iterator.next();
+                        if(dictBiz.getId().toString().equals(assessmentUser.getAssessmentType())){
+                            //同类型,统计
+                            assessmentMoney = assessmentMoney.add(new BigDecimal(assessmentUser.getAssessmentMoney()));
+                            count++;
+                            iterator.remove();
+                        }
+                    }
+                    //设置参数
+                    vo.setAssessmentList(dictBiz.getDictKey(), assessmentMoney.toString(), count);
+                }
+            }
+            //设置返回结果
+            result.add(vo);
+        });
+
+        return R.data(result);
+    }
+
+    /**
+     * 查询考核类型字典
+     */
+    @GetMapping("/queryAssessmentType")
+    @ApiOperationSupport(order = 7)
+    @ApiOperation(value = "查询考核类型字典")
+    public R<List<DictBiz>> queryAssessmentType(){
+        return this.dictBizClient.getList("assessment_type", "notRoot");
+    }
+
     /**
      * 获取当前系统下所有维护人员
      */

+ 1 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/SaveUserInfoByProjectMapper.xml

@@ -40,6 +40,7 @@
             where
               pau.is_deleted = 0
             and br.id is null
+            group by pau.user_id
         ) as pau on bu.id = pau.user_id
     </select>