Browse Source

【功能开发】app 端:存粮人相关接口

duhuajie 3 weeks ago
parent
commit
1f3ae97175
14 changed files with 362 additions and 35 deletions
  1. 0 4
      delivery-module-core/delivery-module-core-api/src/main/java/com/unis/module/core/enums/project/DeliveryHyState.java
  2. 26 6
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/task/TaskController.java
  3. 6 0
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/task/vo/TaskCaxxRespVO.java
  4. 15 2
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/task/vo/TaskPageReqVO.java
  5. 1 0
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/task/vo/TaskRespVO.java
  6. 38 0
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/dal/dataobject/users/UsersDO.java
  7. 4 8
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/dal/mysql/caxx/CaxxMapper.java
  8. 9 0
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/dal/mysql/dk/DkMapper.java
  9. 15 0
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/dal/mysql/users/UsersMapper.java
  10. 8 0
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/service/task/TaskService.java
  11. 93 13
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/service/task/TaskServiceImpl.java
  12. 133 2
      delivery-module-core/delivery-module-core-biz/src/main/resources/mapper/dk/DkMapper.xml
  13. 12 0
      delivery-module-core/delivery-module-core-biz/src/main/resources/mapper/users/UsersMapper.xml
  14. 2 0
      delivery-module-system/delivery-module-system-api/src/main/java/com/unis/module/system/enums/permission/RoleCodeEnum.java

+ 0 - 4
delivery-module-core/delivery-module-core-api/src/main/java/com/unis/module/core/enums/project/DeliveryHyState.java

@@ -12,13 +12,9 @@ import lombok.Getter;
12
 @Getter
12
 @Getter
13
 @AllArgsConstructor
13
 @AllArgsConstructor
14
 public enum DeliveryHyState {
14
 public enum DeliveryHyState {
15
-    //    核验中	3
16
     WAIT_HY(3, "核验中"),
15
     WAIT_HY(3, "核验中"),
17
-    //    核验不通过	2
18
     NO_HY(2, "核验不通过"),
16
     NO_HY(2, "核验不通过"),
19
-    //    核验通过	1
20
     YES_HY(1, "核验通过"),
17
     YES_HY(1, "核验通过"),
21
-    //    待核验	0
22
     WAIT(0, "待核验"),
18
     WAIT(0, "待核验"),
23
 
19
 
24
     ;
20
     ;

+ 26 - 6
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/task/TaskController.java

@@ -32,22 +32,42 @@ public class TaskController {
32
     public CommonResult<IPage<TaskRespVO>> getTaskList(@Valid @RequestBody TaskPageReqVO pageReqVO) {
32
     public CommonResult<IPage<TaskRespVO>> getTaskList(@Valid @RequestBody TaskPageReqVO pageReqVO) {
33
         return success(taskService.getTaskList(pageReqVO));
33
         return success(taskService.getTaskList(pageReqVO));
34
     }
34
     }
35
+    @PostMapping("/getAllStoreroomList")
36
+    @Operation(summary = "获取存粮人可以 选择的交收库列表(存粮人)")
37
+    public CommonResult<IPage<TaskRespVO>> getAllStoreroomList(@Valid @RequestBody TaskPageReqVO pageReqVO) {
38
+        return success(taskService.getAllStoreroomList(pageReqVO));
39
+    }
40
+    @PostMapping("/getMyStoreroomList")
41
+    @Operation(summary = "获取存粮人选择的交收库列表(存粮人)")
42
+    public CommonResult<IPage<TaskRespVO>> getMyStoreroomList(@Valid @RequestBody TaskPageReqVO pageReqVO) {
43
+        return success(taskService.getMyStoreroomList(pageReqVO));
44
+    }
35
     @PostMapping("/getTasks")
45
     @PostMapping("/getTasks")
36
-    @Operation(summary = "领取任务(多个):参数:kqIds列表,hyState:核验状态(0:待查验,1:查验通过,2:查验不通过3:核验中)")
46
+    @Operation(summary = "领取/核验任务(多个):参数:kqIds列表,hyState:核验状态(0:待查验,1:查验通过,2:查验不通过3:核验中)")
37
     public CommonResult<Boolean> getTasks(@RequestBody TaskPageReqVO reqVO) {
47
     public CommonResult<Boolean> getTasks(@RequestBody TaskPageReqVO reqVO) {
38
         return success(taskService.getTasks(reqVO));
48
         return success(taskService.getTasks(reqVO));
39
     }
49
     }
40
-    @PostMapping("/hyKqxx")
41
-    @Operation(summary = "核验通过/不通过:参数:kqIds列表,hyState:核验状态(0:待查验,1:查验通过,2:查验不通过3:核验中)")
42
-    public CommonResult<Boolean> hyKqxx(@RequestBody TaskPageReqVO reqVO) {
43
-        return success(taskService.hyKqxx(reqVO));
50
+    @PostMapping("/getStoreroom")
51
+    @Operation(summary = "选择交收库(存粮人)")
52
+    public CommonResult<Boolean> getStoreroom(@RequestBody TaskPageReqVO reqVO) {
53
+        return success(taskService.getStoreroom(reqVO));
44
     }
54
     }
55
+//    @PostMapping("/hyKqxx")
56
+//    @Operation(summary = "核验通过/不通过:参数:kqIds列表,hyState:核验状态(0:待查验,1:查验通过,2:查验不通过3:核验中)")
57
+//    public CommonResult<Boolean> hyKqxx(@RequestBody TaskPageReqVO reqVO) {
58
+//        return success(taskService.hyKqxx(reqVO));
59
+//    }
45
 
60
 
46
     @PostMapping("/getCaxxByKqId")
61
     @PostMapping("/getCaxxByKqId")
47
-    @Operation(summary = "获取仓房信息(根据库区id 查询仓房列表)")
62
+    @Operation(summary = "获取仓房列表信息(根据库区id 查询仓房列表-不分页)")
48
     public CommonResult<List<TaskCaxxRespVO>> getCaxxByKqId(@RequestBody TaskPageReqVO reqVO) {
63
     public CommonResult<List<TaskCaxxRespVO>> getCaxxByKqId(@RequestBody TaskPageReqVO reqVO) {
49
         return success(taskService.getCaxxByKqId(reqVO));
64
         return success(taskService.getCaxxByKqId(reqVO));
50
     }
65
     }
66
+    @PostMapping("/getCaxxByKqIdForClr")
67
+    @Operation(summary = "存粮人获取仓房列表信息(根据库区id 查询仓房列表-不分页)(存粮人)")
68
+    public CommonResult<List<TaskCaxxRespVO>> getCaxxByKqIdForClr(@RequestBody TaskPageReqVO reqVO) {
69
+        return success(taskService.getCaxxByKqIdForClr(reqVO));
70
+    }
51
 
71
 
52
     @PostMapping("/getKqxxByKqId")
72
     @PostMapping("/getKqxxByKqId")
53
     @Operation(summary = "获取库区信息(根据库区id)")
73
     @Operation(summary = "获取库区信息(根据库区id)")

+ 6 - 0
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/task/vo/TaskCaxxRespVO.java

@@ -11,6 +11,12 @@ import java.math.BigDecimal;
11
 @ExcelIgnoreUnannotated
11
 @ExcelIgnoreUnannotated
12
 public class TaskCaxxRespVO {
12
 public class TaskCaxxRespVO {
13
 
13
 
14
+    @Schema(description = "库区id(DELIVERY_KQXX.ID)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1709")
15
+    private Long kqId;
16
+
17
+    @Schema(description = "仓房id(DELIVERY_CAXX.ID)", requiredMode = Schema.RequiredMode.REQUIRED, example = "14592")
18
+    private Long caId;
19
+
14
     @Schema(description = "仓房名称")
20
     @Schema(description = "仓房名称")
15
     private String cfmc;
21
     private String cfmc;
16
 
22
 

+ 15 - 2
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/task/vo/TaskPageReqVO.java

@@ -14,10 +14,15 @@ import java.util.List;
14
 @ToString(callSuper = true)
14
 @ToString(callSuper = true)
15
 public class TaskPageReqVO extends PageParam {
15
 public class TaskPageReqVO extends PageParam {
16
 
16
 
17
-    /** 待领取任务列表 */
17
+    @Schema(description = "待领取任务列表")
18
     public static final Integer LIST_TYPE_TASK1 = 1;
18
     public static final Integer LIST_TYPE_TASK1 = 1;
19
-    /** 我的任务列表 */
19
+    @Schema(description = "已领取任务列表")
20
     public static final Integer LIST_TYPE_TASK2 = 2;
20
     public static final Integer LIST_TYPE_TASK2 = 2;
21
+    @Schema(description = "存粮人可选列表")
22
+    public static final Integer LIST_TYPE_TASK3 = 3;
23
+    @Schema(description = "存粮人已选列表")
24
+    public static final Integer LIST_TYPE_TASK4 = 4;
25
+
21
     /** 省已选择-表名 */
26
     /** 省已选择-表名 */
22
     public static final String TABLE_NAME_DELIVERY_PROVINCE = "DELIVERY_PROVINCE";
27
     public static final String TABLE_NAME_DELIVERY_PROVINCE = "DELIVERY_PROVINCE";
23
     /** 银行已选择-表名 */
28
     /** 银行已选择-表名 */
@@ -56,8 +61,16 @@ public class TaskPageReqVO extends PageParam {
56
     @Schema(description = "库区 ids 领取任务/核验通过 使用")
61
     @Schema(description = "库区 ids 领取任务/核验通过 使用")
57
     List<Long> kqIds;
62
     List<Long> kqIds;
58
 
63
 
64
+    @Schema(description = "仓房 ids 存粮人选择仓房 使用")
65
+    List<Long> caIds;
66
+
59
     private String tableName;
67
     private String tableName;
60
 
68
 
61
     private String deptId;
69
     private String deptId;
62
 
70
 
71
+    @Schema(description = "存粮人是否选定(0:未选定,1:已选定)")
72
+    private Integer clrsfxd;
73
+
74
+    private String creator;
75
+
63
 }
76
 }

+ 1 - 0
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/task/vo/TaskRespVO.java

@@ -14,6 +14,7 @@ public class TaskRespVO {
14
 
14
 
15
     @Schema(description = "仓房id(DELIVERY_CAXX.ID)", requiredMode = Schema.RequiredMode.REQUIRED, example = "14592")
15
     @Schema(description = "仓房id(DELIVERY_CAXX.ID)", requiredMode = Schema.RequiredMode.REQUIRED, example = "14592")
16
     private Long caId;
16
     private Long caId;
17
+
17
     @Schema(description = "库区代码")
18
     @Schema(description = "库区代码")
18
     private String kqdm;
19
     private String kqdm;
19
 
20
 

+ 38 - 0
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/dal/dataobject/users/UsersDO.java

@@ -0,0 +1,38 @@
1
+package com.unis.module.coding.dal.dataobject.users;
2
+
3
+import com.baomidou.mybatisplus.annotation.KeySequence;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import com.baomidou.mybatisplus.annotation.TableName;
6
+import com.unis.framework.mybatis.core.dataobject.BaseDO;
7
+import lombok.*;
8
+
9
+/**
10
+ * 存粮人选定仓 DO
11
+ *
12
+ * @author 超级管理员
13
+ */
14
+@TableName("delivery_users")
15
+@KeySequence("delivery_users_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
16
+@Data
17
+@EqualsAndHashCode(callSuper = true)
18
+@ToString(callSuper = true)
19
+@Builder
20
+@NoArgsConstructor
21
+@AllArgsConstructor
22
+public class UsersDO extends BaseDO {
23
+
24
+    /**
25
+     * 雪花id
26
+     */
27
+    @TableId
28
+    private Long id;
29
+    /**
30
+     * 库区id(DELIVERY_KQXX.ID)
31
+     */
32
+    private Long kqId;
33
+    /**
34
+     * 仓房id(DELIVERY_CAXX.ID)
35
+     */
36
+    private Long caId;
37
+
38
+}

+ 4 - 8
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/dal/mysql/caxx/CaxxMapper.java

@@ -1,23 +1,19 @@
1
 package com.unis.module.coding.dal.mysql.caxx;
1
 package com.unis.module.coding.dal.mysql.caxx;
2
 
2
 
3
-import java.util.*;
4
-import java.util.stream.Collectors;
5
-
6
-import cn.hutool.core.util.ObjectUtil;
7
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
3
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
8
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
4
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
9
 import com.unis.framework.common.pojo.PageResult;
5
 import com.unis.framework.common.pojo.PageResult;
10
-import com.unis.framework.common.util.object.ObjectUtils;
11
-import com.unis.framework.mybatis.core.query.LambdaQueryWrapperX;
12
 import com.unis.framework.mybatis.core.mapper.BaseMapperX;
6
 import com.unis.framework.mybatis.core.mapper.BaseMapperX;
7
+import com.unis.framework.mybatis.core.query.LambdaQueryWrapperX;
8
+import com.unis.module.coding.controller.admin.caxx.vo.CaxxPageReqVO;
13
 import com.unis.module.coding.controller.admin.delivery.vo.SparePageReqVO;
9
 import com.unis.module.coding.controller.admin.delivery.vo.SparePageReqVO;
14
 import com.unis.module.coding.controller.admin.delivery.vo.SpareRespVO;
10
 import com.unis.module.coding.controller.admin.delivery.vo.SpareRespVO;
15
-import com.unis.module.coding.dal.dataobject.bank.BankDO;
16
 import com.unis.module.coding.dal.dataobject.caxx.CaxxDO;
11
 import com.unis.module.coding.dal.dataobject.caxx.CaxxDO;
17
 import org.apache.ibatis.annotations.Mapper;
12
 import org.apache.ibatis.annotations.Mapper;
18
-import com.unis.module.coding.controller.admin.caxx.vo.*;
19
 import org.apache.ibatis.annotations.Param;
13
 import org.apache.ibatis.annotations.Param;
20
 
14
 
15
+import java.util.List;
16
+
21
 /**
17
 /**
22
  * 仓廒信息; Mapper
18
  * 仓廒信息; Mapper
23
  *
19
  *

+ 9 - 0
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/dal/mysql/dk/DkMapper.java

@@ -2,12 +2,15 @@ package com.unis.module.coding.dal.mysql.dk;
2
 
2
 
3
 import com.baomidou.mybatisplus.core.metadata.IPage;
3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.unis.framework.mybatis.core.mapper.BaseMapperX;
4
 import com.unis.framework.mybatis.core.mapper.BaseMapperX;
5
+import com.unis.module.coding.controller.admin.task.vo.TaskCaxxRespVO;
5
 import com.unis.module.coding.controller.admin.task.vo.TaskPageReqVO;
6
 import com.unis.module.coding.controller.admin.task.vo.TaskPageReqVO;
6
 import com.unis.module.coding.controller.admin.task.vo.TaskRespVO;
7
 import com.unis.module.coding.controller.admin.task.vo.TaskRespVO;
7
 import com.unis.module.coding.dal.dataobject.dk.DkDO;
8
 import com.unis.module.coding.dal.dataobject.dk.DkDO;
8
 import org.apache.ibatis.annotations.Mapper;
9
 import org.apache.ibatis.annotations.Mapper;
9
 import org.apache.ibatis.annotations.Param;
10
 import org.apache.ibatis.annotations.Param;
10
 
11
 
12
+import java.util.List;
13
+
11
 /**
14
 /**
12
  * 打卡信息 Mapper
15
  * 打卡信息 Mapper
13
  *
16
  *
@@ -21,4 +24,10 @@ public interface DkMapper extends BaseMapperX<DkDO> {
21
     default DkDO selectByKqIdAndUserId(Long kqId, Long loginUserId){
24
     default DkDO selectByKqIdAndUserId(Long kqId, Long loginUserId){
22
         return selectOne("kqId", kqId, "userId", loginUserId);
25
         return selectOne("kqId", kqId, "userId", loginUserId);
23
     }
26
     }
27
+
28
+    IPage<TaskRespVO> getMyStoreroomList(IPage<TaskRespVO> page,@Param("pageReqVO") TaskPageReqVO pageReqVO);
29
+
30
+    IPage<TaskRespVO> getAllStoreroomList(IPage<TaskRespVO> page,@Param("pageReqVO")  TaskPageReqVO pageReqVO);
31
+
32
+    List<TaskCaxxRespVO> getCaxxByKqIdForClr(@Param("pageReqVO") TaskPageReqVO reqVO);
24
 }
33
 }

+ 15 - 0
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/dal/mysql/users/UsersMapper.java

@@ -0,0 +1,15 @@
1
+package com.unis.module.coding.dal.mysql.users;
2
+
3
+import com.unis.framework.mybatis.core.mapper.BaseMapperX;
4
+import com.unis.module.coding.dal.dataobject.users.UsersDO;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * 存粮人选定仓 Mapper
9
+ *
10
+ * @author 超级管理员
11
+ */
12
+@Mapper
13
+public interface UsersMapper extends BaseMapperX<UsersDO> {
14
+
15
+}

+ 8 - 0
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/service/task/TaskService.java

@@ -15,6 +15,10 @@ public interface TaskService {
15
 
15
 
16
     IPage<TaskRespVO> getTaskList(TaskPageReqVO pageReqVO);
16
     IPage<TaskRespVO> getTaskList(TaskPageReqVO pageReqVO);
17
 
17
 
18
+    IPage<TaskRespVO> getAllStoreroomList(TaskPageReqVO pageReqVO);
19
+
20
+    IPage<TaskRespVO> getMyStoreroomList(TaskPageReqVO pageReqVO);
21
+
18
     Boolean getTasks(TaskPageReqVO reqVO);
22
     Boolean getTasks(TaskPageReqVO reqVO);
19
 
23
 
20
     Boolean hyKqxx(TaskPageReqVO reqVO);
24
     Boolean hyKqxx(TaskPageReqVO reqVO);
@@ -28,4 +32,8 @@ public interface TaskService {
28
     TaskDkxxRespVO getDkxxByKqId(TaskPageReqVO reqVO);
32
     TaskDkxxRespVO getDkxxByKqId(TaskPageReqVO reqVO);
29
 
33
 
30
     Boolean setDkxxByKqId(TaskDkxxSaveVO saveVO);
34
     Boolean setDkxxByKqId(TaskDkxxSaveVO saveVO);
35
+
36
+    Boolean getStoreroom(TaskPageReqVO reqVO);
37
+
38
+    List<TaskCaxxRespVO> getCaxxByKqIdForClr(TaskPageReqVO reqVO);
31
 }
39
 }

+ 93 - 13
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/service/task/TaskServiceImpl.java

@@ -1,5 +1,6 @@
1
 package com.unis.module.coding.service.task;
1
 package com.unis.module.coding.service.task;
2
 
2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
5
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -17,6 +18,7 @@ import com.unis.module.coding.dal.dataobject.dk.DkDO;
17
 import com.unis.module.coding.dal.dataobject.dwxx.DwxxDO;
18
 import com.unis.module.coding.dal.dataobject.dwxx.DwxxDO;
18
 import com.unis.module.coding.dal.dataobject.kqxx.KqxxDO;
19
 import com.unis.module.coding.dal.dataobject.kqxx.KqxxDO;
19
 import com.unis.module.coding.dal.dataobject.province.ProvinceDO;
20
 import com.unis.module.coding.dal.dataobject.province.ProvinceDO;
21
+import com.unis.module.coding.dal.dataobject.users.UsersDO;
20
 import com.unis.module.coding.dal.mysql.bank.BankMapper;
22
 import com.unis.module.coding.dal.mysql.bank.BankMapper;
21
 import com.unis.module.coding.dal.mysql.caxx.CaxxMapper;
23
 import com.unis.module.coding.dal.mysql.caxx.CaxxMapper;
22
 import com.unis.module.coding.dal.mysql.cwxx.CwxxMapper;
24
 import com.unis.module.coding.dal.mysql.cwxx.CwxxMapper;
@@ -25,6 +27,7 @@ import com.unis.module.coding.dal.mysql.dk.DkMapper;
25
 import com.unis.module.coding.dal.mysql.dwxx.DwxxMapper;
27
 import com.unis.module.coding.dal.mysql.dwxx.DwxxMapper;
26
 import com.unis.module.coding.dal.mysql.kqxx.KqxxMapper;
28
 import com.unis.module.coding.dal.mysql.kqxx.KqxxMapper;
27
 import com.unis.module.coding.dal.mysql.province.ProvinceMapper;
29
 import com.unis.module.coding.dal.mysql.province.ProvinceMapper;
30
+import com.unis.module.coding.dal.mysql.users.UsersMapper;
28
 import com.unis.module.core.enums.ErrorCodeConstants;
31
 import com.unis.module.core.enums.ErrorCodeConstants;
29
 import com.unis.module.core.enums.project.DeliveryHyState;
32
 import com.unis.module.core.enums.project.DeliveryHyState;
30
 import com.unis.module.system.api.permission.PermissionApi;
33
 import com.unis.module.system.api.permission.PermissionApi;
@@ -71,6 +74,8 @@ public class TaskServiceImpl implements TaskService {
71
     private CwxxYearMapper cwxxYearMapper;
74
     private CwxxYearMapper cwxxYearMapper;
72
     @Resource
75
     @Resource
73
     private BankMapper bankMapper;
76
     private BankMapper bankMapper;
77
+    @Resource
78
+    private UsersMapper usersMapper;
74
 
79
 
75
     @Override
80
     @Override
76
     public IPage<TaskRespVO> getTaskList(TaskPageReqVO pageReqVO) {
81
     public IPage<TaskRespVO> getTaskList(TaskPageReqVO pageReqVO) {
@@ -84,6 +89,31 @@ public class TaskServiceImpl implements TaskService {
84
     }
89
     }
85
 
90
 
86
     @Override
91
     @Override
92
+    public IPage<TaskRespVO> getAllStoreroomList(TaskPageReqVO pageReqVO) {
93
+        // 根据角色不同,查询不同数据
94
+        addParamDeptIds(pageReqVO);
95
+
96
+        IPage<TaskRespVO> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
97
+        return dkMapper.getAllStoreroomList(page, pageReqVO);
98
+    }
99
+
100
+    @Override
101
+    public IPage<TaskRespVO> getMyStoreroomList(TaskPageReqVO pageReqVO) {
102
+        Long loginUserId = SecurityFrameworkUtils.getLoginUserIdNotNull();
103
+        // 查询登录人角色标识
104
+        Set<String> roleCodes = permissionApi.getUserRoleCodeListByUserIdFromCache(loginUserId);
105
+
106
+        // 存粮人
107
+        if(!roleCodes.contains(RoleCodeEnum.GRAIN_DEPOSITOR.getCode())) {
108
+            throw exception(ErrorCodeConstants.APP_ACCOUNT_PERMISSION_DENIED);
109
+        }
110
+
111
+        pageReqVO.setCreator(String.valueOf(loginUserId));
112
+        IPage<TaskRespVO> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
113
+        return dkMapper.getMyStoreroomList(page, pageReqVO);
114
+    }
115
+
116
+    @Override
87
     @Transactional(rollbackFor = Exception.class)
117
     @Transactional(rollbackFor = Exception.class)
88
     public Boolean getTasks(TaskPageReqVO reqVO) {
118
     public Boolean getTasks(TaskPageReqVO reqVO) {
89
 
119
 
@@ -120,6 +150,30 @@ public class TaskServiceImpl implements TaskService {
120
     }
150
     }
121
 
151
 
122
     @Override
152
     @Override
153
+    public Boolean getStoreroom(TaskPageReqVO reqVO) {
154
+
155
+        // 存粮人选定仓 新增数据 以仓房为单位
156
+        if(0 == reqVO.getClrsfxd()) {
157
+            //存粮人删除选定
158
+            reqVO.getCaIds().forEach(caId ->
159
+                    usersMapper.delete(new QueryWrapper<UsersDO>().lambda()
160
+                    .eq(UsersDO::getCreator, SecurityFrameworkUtils.getLoginUserId())
161
+                    .eq(UsersDO::getCaId, caId)));
162
+        }else{
163
+            // 校验 是登录人可选的任务
164
+            List<TaskCaxxRespVO> taskCaxxRespVOS = verifyStoreroom(reqVO);
165
+
166
+            taskCaxxRespVOS.forEach(taskCaxxRespVO ->
167
+                    usersMapper.insert(new UsersDO()
168
+                            .setId(YitIdHelper.nextId())
169
+                            .setKqId(taskCaxxRespVO.getKqId())
170
+                            .setCaId(taskCaxxRespVO.getCaId())));
171
+        }
172
+
173
+        return true;
174
+    }
175
+
176
+    @Override
123
     @Transactional(rollbackFor = Exception.class)
177
     @Transactional(rollbackFor = Exception.class)
124
     public Boolean hyKqxx(TaskPageReqVO reqVO) {
178
     public Boolean hyKqxx(TaskPageReqVO reqVO) {
125
         //校验是登录人可选的任务
179
         //校验是登录人可选的任务
@@ -165,6 +219,13 @@ public class TaskServiceImpl implements TaskService {
165
 
219
 
166
         return new ArrayList<>();
220
         return new ArrayList<>();
167
     }
221
     }
222
+    @Override
223
+    public List<TaskCaxxRespVO> getCaxxByKqIdForClr(TaskPageReqVO reqVO) {
224
+        // 根据角色不同,查询不同数据
225
+        addParamDeptIds(reqVO);
226
+
227
+        return dkMapper.getCaxxByKqIdForClr(reqVO);
228
+    }
168
 
229
 
169
     @Override
230
     @Override
170
     public TaskKqxxRespVO getKqxxByKqId(TaskPageReqVO reqVO) {
231
     public TaskKqxxRespVO getKqxxByKqId(TaskPageReqVO reqVO) {
@@ -280,6 +341,20 @@ public class TaskServiceImpl implements TaskService {
280
             throw exception(ErrorCodeConstants.APP_TASK_RECEIVE_ERROR);
341
             throw exception(ErrorCodeConstants.APP_TASK_RECEIVE_ERROR);
281
         }
342
         }
282
     }
343
     }
344
+    private  List<TaskCaxxRespVO> verifyStoreroom(TaskPageReqVO reqVO) {
345
+
346
+        TaskPageReqVO pageReqVO = new TaskPageReqVO();
347
+        pageReqVO.setCaIds(reqVO.getCaIds());
348
+        pageReqVO.setListType(TaskPageReqVO.LIST_TYPE_TASK3);
349
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
350
+
351
+        List<TaskCaxxRespVO> taskList = getCaxxByKqIdForClr(pageReqVO);
352
+
353
+        if(taskList.size() != reqVO.getKqIds().size()) {
354
+            throw exception(ErrorCodeConstants.APP_TASK_RECEIVE_ERROR);
355
+        }
356
+        return taskList;
357
+    }
283
 
358
 
284
     private void addParamDeptIds(@NotNull TaskPageReqVO pageReqVO) {
359
     private void addParamDeptIds(@NotNull TaskPageReqVO pageReqVO) {
285
 
360
 
@@ -291,10 +366,21 @@ public class TaskServiceImpl implements TaskService {
291
         // 查询待核验列表
366
         // 查询待核验列表
292
         if(pageReqVO.getListType() == null){
367
         if(pageReqVO.getListType() == null){
293
             throw exception(ErrorCodeConstants.APP_PARAM_ERROR);
368
             throw exception(ErrorCodeConstants.APP_PARAM_ERROR);
294
-        }else if(1 == pageReqVO.getListType()) {
369
+        }else if(TaskPageReqVO.LIST_TYPE_TASK1.equals(pageReqVO.getListType())) {
370
+            // 可选任务
295
             pageReqVO.setHyState(DeliveryHyState.WAIT.getCode());
371
             pageReqVO.setHyState(DeliveryHyState.WAIT.getCode());
296
-        } else if(2 == pageReqVO.getListType()) {
372
+        } else if(TaskPageReqVO.LIST_TYPE_TASK2.equals(pageReqVO.getListType())) {
373
+            // 已选任务
297
             pageReqVO.setHyryId(loginUserId);
374
             pageReqVO.setHyryId(loginUserId);
375
+        } else if(TaskPageReqVO.LIST_TYPE_TASK3.equals(pageReqVO.getListType())) {
376
+            // 存粮人可选列表
377
+            pageReqVO.setHyState(DeliveryHyState.YES_HY.getCode());
378
+            pageReqVO.setClrsfxd(0);
379
+        } else if(TaskPageReqVO.LIST_TYPE_TASK4.equals(pageReqVO.getListType())) {
380
+            // 存粮人已选列表
381
+            pageReqVO.setHyState(DeliveryHyState.YES_HY.getCode());
382
+            pageReqVO.setClrsfxd(1);
383
+            pageReqVO.setCreator(String.valueOf(loginUserId));
298
         } else {
384
         } else {
299
             throw exception(ErrorCodeConstants.APP_PARAM_ERROR);
385
             throw exception(ErrorCodeConstants.APP_PARAM_ERROR);
300
         }
386
         }
@@ -312,18 +398,12 @@ public class TaskServiceImpl implements TaskService {
312
             }
398
             }
313
             return;
399
             return;
314
         }
400
         }
315
-        // 银行核验人员
316
-        if(roleCodes.contains(RoleCodeEnum.VERIFICATION_PERSONNEL.getCode())) {
401
+        // 银行核验人员 | 存粮人
402
+        if(roleCodes.contains(RoleCodeEnum.VERIFICATION_PERSONNEL.getCode()) ||
403
+                roleCodes.contains(RoleCodeEnum.GRAIN_DEPOSITOR.getCode())) {
317
             if(loginUser != null) {
404
             if(loginUser != null) {
318
-                String areaLevel = loginUser.getInfo().get("areaLevel");
319
-                if("1".equals(areaLevel)) {
320
-                    pageReqVO.setSheng(loginUser.getInfo().get("sheng_code"));
321
-                    //银行需要查询自己银行选定的
322
-                    pageReqVO.setDeptId(loginUser.getInfo().get("deptId"));
323
-                    pageReqVO.setTableName(TaskPageReqVO.TABLE_NAME_DELIVERY_BANK);
324
-                } else {
325
-                    throw exception(ErrorCodeConstants.APP_ACCOUNT_PERMISSION_DENIED);
326
-                }
405
+                pageReqVO.setDeptId(loginUser.getInfo().get("deptId"));
406
+                pageReqVO.setTableName(TaskPageReqVO.TABLE_NAME_DELIVERY_BANK);
327
             }
407
             }
328
             return;
408
             return;
329
         }
409
         }

+ 133 - 2
delivery-module-core/delivery-module-core-biz/src/main/resources/mapper/dk/DkMapper.xml

@@ -20,11 +20,11 @@
20
             dp.HYRY_ID ,
20
             dp.HYRY_ID ,
21
             dp.HYRY_NAME ,
21
             dp.HYRY_NAME ,
22
             dp.HY_STATE ,
22
             dp.HY_STATE ,
23
-            COUNT(dc.ID) AS HY_NUM
23
+            COUNT(distinct dc.ID) AS HY_NUM
24
         FROM
24
         FROM
25
             ${pageReqVO.tableName} dp
25
             ${pageReqVO.tableName} dp
26
         LEFT JOIN DELIVERY_KQXX dk ON dp.KQ_ID = dk.ID
26
         LEFT JOIN DELIVERY_KQXX dk ON dp.KQ_ID = dk.ID
27
-        LEFT JOIN DELIVERY_CAXX dc ON dp.CA_ID = dc.KQID AND dc.DELETED = 0
27
+        LEFT JOIN DELIVERY_CAXX dc ON dk.ID = dc.KQID AND dc.DELETED = 0
28
         WHERE
28
         WHERE
29
             dk.DELETED = 0 AND dk.SFZX = 0 and dp.DELETED = 0
29
             dk.DELETED = 0 AND dk.SFZX = 0 and dp.DELETED = 0
30
         <if test="pageReqVO.sheng != null and pageReqVO.sheng != ''">
30
         <if test="pageReqVO.sheng != null and pageReqVO.sheng != ''">
@@ -45,9 +45,140 @@
45
         <if test="pageReqVO.deptId != null and pageReqVO.deptId != ''">
45
         <if test="pageReqVO.deptId != null and pageReqVO.deptId != ''">
46
             AND FIND_IN_SET(pageReqVO.deptId,dp.RDYH_ID)
46
             AND FIND_IN_SET(pageReqVO.deptId,dp.RDYH_ID)
47
         </if>
47
         </if>
48
+        <if test="pageReqVO.kqIds != null and pageReqVO.kqIds.size() > 0">
49
+            AND dp.KQ_ID IN
50
+            <foreach collection="pageReqVO.kqIds" item="kqId" open="(" separator="," close=")">
51
+                #{kqId}
52
+            </foreach>
53
+        </if>
48
         GROUP BY
54
         GROUP BY
49
             dk.ID
55
             dk.ID
50
         ORDER BY
56
         ORDER BY
51
             dp.ID desc
57
             dp.ID desc
52
     </select>
58
     </select>
59
+    <select id="getMyStoreroomList" resultType="com.unis.module.coding.controller.admin.task.vo.TaskRespVO">
60
+        SELECT
61
+        dk.ID AS kqId,
62
+        dk.KQDM ,
63
+        dk.KQMC ,
64
+        dk.JTDZ ,
65
+        dk.SHENG ,dk.SHI ,dk.XIAN ,
66
+        COUNT(distinct dc.ID) AS HY_NUM
67
+        FROM
68
+        DELIVERY_USERS du
69
+        LEFT JOIN DELIVERY_KQXX dk ON du.KQ_ID = dk.ID
70
+        LEFT JOIN DELIVERY_CAXX dc ON dk.ID = dc.KQID AND dc.DELETED = 0
71
+        WHERE dk.DELETED = 0 AND dk.SFZX = 0 and du.DELETED = 0
72
+            <if test="pageReqVO.sheng != null and pageReqVO.sheng != ''">
73
+                AND dk.SHENG = #{pageReqVO.sheng}
74
+            </if>
75
+            <if test="pageReqVO.shi != null and pageReqVO.shi != ''">
76
+                AND dk.SHI = #{pageReqVO.shi}
77
+            </if>
78
+            <if test="pageReqVO.xian != null and pageReqVO.xian != ''">
79
+                AND dk.XIAN = #{pageReqVO.xian}
80
+            </if>
81
+            <if test="pageReqVO.creator != null">
82
+                AND du.CREATOR = #{pageReqVO.creator}
83
+            </if>
84
+        GROUP BY
85
+            dk.ID
86
+        ORDER BY
87
+            du.ID desc
88
+    </select>
89
+    <select id="getAllStoreroomList" resultType="com.unis.module.coding.controller.admin.task.vo.TaskRespVO">
90
+        SELECT
91
+        dk.ID AS kqId,
92
+        dk.KQDM ,
93
+        dk.KQMC ,
94
+        dk.JTDZ ,
95
+        dk.SHENG ,dk.SHI ,dk.XIAN ,
96
+        dp.HYRY_ID ,
97
+        dp.HYRY_NAME ,
98
+        dp.HY_STATE ,
99
+        COUNT(distinct dc.ID) AS HY_NUM
100
+        FROM
101
+        DELIVERY_BANK dp
102
+        LEFT JOIN DELIVERY_KQXX dk ON dp.KQ_ID = dk.ID
103
+        LEFT JOIN DELIVERY_CAXX dc ON dk.ID = dc.KQID
104
+        LEFT JOIN DELIVERY_USERS du ON dc.ID = du.CA_ID AND du.DELETED = 0
105
+        WHERE
106
+        dk.DELETED = 0 AND dk.SFZX = 0 and dp.DELETED = 0 AND dc.DELETED = 0
107
+        AND du.ID IS NULL
108
+        <if test="pageReqVO.sheng != null and pageReqVO.sheng != ''">
109
+            AND dk.SHENG = #{pageReqVO.sheng}
110
+        </if>
111
+        <if test="pageReqVO.shi != null and pageReqVO.shi != ''">
112
+            AND dk.SHI = #{pageReqVO.shi}
113
+        </if>
114
+        <if test="pageReqVO.xian != null and pageReqVO.xian != ''">
115
+            AND dk.XIAN = #{pageReqVO.xian}
116
+        </if>
117
+        <if test="pageReqVO.hyState != null">
118
+            AND dp.HY_STATE = #{pageReqVO.hyState}
119
+        </if>
120
+        <if test="pageReqVO.hyryId != null">
121
+            AND dp.HYRY_ID = #{pageReqVO.hyryId}
122
+        </if>
123
+        <if test="pageReqVO.deptId != null and pageReqVO.deptId != ''">
124
+            AND FIND_IN_SET(pageReqVO.deptId,dp.RDYH_ID)
125
+        </if>
126
+        <if test="pageReqVO.kqIds != null and pageReqVO.kqIds.size() > 0">
127
+            AND dp.KQ_ID IN
128
+            <foreach collection="pageReqVO.kqIds" item="kqId" open="(" separator="," close=")">
129
+                #{kqId}
130
+            </foreach>
131
+        </if>
132
+        GROUP BY
133
+        dk.ID
134
+        ORDER BY
135
+        dp.ID desc
136
+    </select>
137
+    <select id="getCaxxByKqIdForClr" resultType="com.unis.module.coding.controller.admin.task.vo.TaskCaxxRespVO">
138
+        SELECT
139
+            dk.ID AS kqId,
140
+            dc.ID AS caId,
141
+            dc.CFMC ,
142
+            dc.CFLX ,
143
+            dc.CAZT ,
144
+            dc.SJCR ,
145
+            dc.SFKC ,
146
+            dk."zcckj" ,
147
+            dk."wtbgckj"
148
+        FROM
149
+            DELIVERY_KQXX dk
150
+        LEFT JOIN DELIVERY_CAXX dc ON dk.ID = dc.KQID
151
+        left join DELIVERY_BANK db on dk.ID = db.KQ_ID and db.deleted = 0
152
+        LEFT JOIN DELIVERY_USERS du ON dc.ID = du.CA_ID and du.deleted = 0
153
+        WHERE
154
+            dk.DELETED =0 AND dc.DELETED = 0 AND dk.SFZX = 0
155
+        <if test="pageReqVO.kqId != null">
156
+            AND dk.ID = #{pageReqVO.kqId}
157
+        </if>
158
+        <if test="pageReqVO.deptId != null and pageReqVO.deptId != ''">
159
+            AND FIND_IN_SET(pageReqVO.deptId,dp.RDYH_ID)
160
+        </if>
161
+        <if test="pageReqVO.clrsfxd != null and pageReqVO.clrsfxd == 0 ">
162
+            AND du.ID IS NULL
163
+        </if>
164
+        <if test="pageReqVO.clrsfxd != null and pageReqVO.clrsfxd == 1 ">
165
+            AND du.ID IS NOT NULL
166
+        </if>
167
+        <if test="pageReqVO.creator != null">
168
+            AND du.CREATOR = #{pageReqVO.creator}
169
+        </if>
170
+        <if test="pageReqVO.hyState != null">
171
+            AND db.HY_STATE = #{pageReqVO.hyState}
172
+        </if>
173
+        <if test="pageReqVO.caIds != null and pageReqVO.caIds.size() > 0">
174
+            AND dc.ID IN
175
+            <foreach collection="pageReqVO.caIds" item="caId" open="(" separator="," close=")">
176
+                #{caId}
177
+            </foreach>
178
+        </if>
179
+        GROUP BY
180
+        dc.ID
181
+        ORDER BY
182
+        dc.ID desc
183
+    </select>
53
 </mapper>
184
 </mapper>

+ 12 - 0
delivery-module-core/delivery-module-core-biz/src/main/resources/mapper/users/UsersMapper.xml

@@ -0,0 +1,12 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.unis.module.coding.dal.mysql.users.UsersMapper">
4
+
5
+    <!--
6
+        一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
7
+        无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
8
+        代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
9
+        文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
10
+     -->
11
+
12
+</mapper>

+ 2 - 0
delivery-module-system/delivery-module-system-api/src/main/java/com/unis/module/system/enums/permission/RoleCodeEnum.java

@@ -25,6 +25,8 @@ public enum RoleCodeEnum {
25
     INSURANCE_COMPANY("insurance_company", "保险公司"),
25
     INSURANCE_COMPANY("insurance_company", "保险公司"),
26
     //    银行核验人员	verification_personnel
26
     //    银行核验人员	verification_personnel
27
     VERIFICATION_PERSONNEL("verification_personnel", "银行核验人员"),
27
     VERIFICATION_PERSONNEL("verification_personnel", "银行核验人员"),
28
+    //    存粮人(贷款人) grain_depositor
29
+    GRAIN_DEPOSITOR("grain_depositor", "存粮人(贷款人)"),
28
     //    省局	sheng_admin
30
     //    省局	sheng_admin
29
     SHENG_ADMIN("sheng_admin", "省局"),
31
     SHENG_ADMIN("sheng_admin", "省局"),
30
     //    市局	shi_admin
32
     //    市局	shi_admin