Просмотр исходного кода

Merge branch 'dev' into Regulation

licailing 5 лет назад
Родитель
Сommit
4ae26b9376

+ 2 - 0
src/main/java/com/izouma/wenlvju/domain/Rate.java

@@ -150,6 +150,8 @@ public class Rate extends BaseEntity {
 
     private boolean isRejected;
 
+    private int sort;
+
     @ApiModelProperty(value = "驳回时间")
     private LocalDateTime rejectedAt;
 

+ 1 - 0
src/main/java/com/izouma/wenlvju/domain/Record.java

@@ -37,6 +37,7 @@ public class Record extends BaseEntity {
     @ApiModelProperty(value = "考级机构名称")
     private String examinationAgency;
 
+    @Enumerated(EnumType.STRING)
     @ApiModelProperty(value = "单位类别")
     private String category;
 

+ 21 - 14
src/main/java/com/izouma/wenlvju/enums/RateStatus.java

@@ -4,63 +4,70 @@ public enum RateStatus {
     /*
     草稿
      */
-    DRAFT("草稿"),
+    DRAFT("草稿", 1),
     /*
     等待初审
      */
-    FIRST_REVIEW_PENDING("等待初审"),
+    FIRST_REVIEW_PENDING("等待初审", 2),
     /*
     受理
      */
-    ACCEPT("正在受理"),
+    ACCEPT("正在受理", 3),
     /*
     审核完成
      */
-    FIRST_REVIEW_COMPLETED("审核完成"),
+    FIRST_REVIEW_COMPLETED("审核完成", 4),
     /*
     初审不通过
      */
-    FIRST_REVIEW_DENY("初审驳回"),
+    FIRST_REVIEW_DENY("初审驳回", 5),
     /*
     待分配专家组
      */
-    ASSIGN_EXPERT("区县已上报"),
+    ASSIGN_EXPERT("区县已上报", 6),
     /*
     市里退回
      */
-    REVIEW_DENY("复审驳回"),
+    REVIEW_DENY("复审驳回", 7),
     /*
     待专家组考察(已分配专家组)
      */
-    REVIEW_PENDING("待线下考察"),
+    REVIEW_PENDING("待线下考察", 8),
     /*
     最终评审
      */
-    SUBMIT_GRADE("待最终评审"),
+    SUBMIT_GRADE("待最终评审", 9),
     /*
     待提交纸质材料
      */
-    SUBMIT_PAPER_MATERIALS("待承办单位提交材料"),
+    SUBMIT_PAPER_MATERIALS("待承办单位提交材料", 10),
     /*
     待收取纸质材料
      */
-    COLLECT_PAPER_MATERIALS("待区县提交材料"),
+    COLLECT_PAPER_MATERIALS("待区县提交材料", 11),
     /*
     取消
      */
-    CANCEL("取消"),
+    CANCEL("取消", 0),
     /*
     完成
      */
-    COMPLETE("完成");
+    COMPLETE("完成", 12);
 
     private final String desc;
 
+    private final int sort;
+
     public String getDesc() {
         return desc;
     }
 
-    RateStatus(String desc) {
+    public int getSort() {
+        return sort;
+    }
+
+    RateStatus(String desc, int sort) {
         this.desc = desc;
+        this.sort = sort;
     }
 }

+ 49 - 26
src/main/java/com/izouma/wenlvju/service/RateService.java

@@ -94,6 +94,7 @@ public class RateService {
                 default:
                     break;
             }
+            orig.setSort(orig.getStatus().getSort());
             return rateRepo.save(orig);
 
         }
@@ -109,10 +110,20 @@ public class RateService {
             Map<String, String> map = this.applyMessage(district, now);
             njwlSmsService.sendSms(map.get("phone"), map.get("message"));
         }
-
+        record.setSort(record.getStatus().getSort());
         return rateRepo.save(record);
     }
 
+    /*
+    线下退回
+     */
+    public void offline(Long id) {
+        Rate rate = rateRepo.findById(id).orElseThrow(new BusinessException("无记录"));
+        rate.setStatus(RateStatus.REVIEW_PENDING);
+        rate.setSort(rate.getStatus().getSort());
+        rateRepo.save(rate);
+    }
+
     public void audit(Long id, RateStatus status, String remark, Long userId) {
         Rate rate = rateRepo.findById(id).orElseThrow(new BusinessException("无记录"));
         rate.setStatus(status);
@@ -129,27 +140,43 @@ public class RateService {
                 .status(status)
                 .build();
         rateAuditRepo.save(rateAudit);
+        rate.setSort(rate.getStatus().getSort());
         rateRepo.save(rate);
-        if (RateStatus.FIRST_REVIEW_DENY.equals(status)) {// 初审不通过
-            // 发送短信给承办单位
-            njwlSmsService.sendSms(rate.getOwnerPhone(), "你单位等级评定申请被" + rate.getDistrict() + "文化和旅游局退回,请根据反馈意见及时处理!");
-        } else if (RateStatus.ASSIGN_EXPERT.equals(status)) { // 初审通过 2
-            DateTimeFormatter dtf = DateTimeFormatter.ofPattern(DateConfig.DEFAULT_DATE_TIME_FORMAT);
-            String phone1 = userRepo.findAllByAuthoritiesContainsAndDelFalse(Authority.get(AuthorityName.ROLE_ADMIN))
-                    .stream()
-                    .map(User::getPhone)
-                    .collect(Collectors.joining(","));
-            String message1 = "您于" + dtf.format(LocalDateTime.now()) + ",收到" + rate.getDistrict() + "文化和旅游局上报的承办单位等级评定申请。";
-            njwlSmsService.sendSms(phone1, message1);
-        } else if (RateStatus.REVIEW_DENY.equals(status)) {
-            String phone = userRepo.findAllByDistrictAndAuthoritiesContainsAndDelFalse(rate.getDistrict(), Authority.get(AuthorityName.ROLE_DISTRICT_STAFF))
-                    .stream()
-                    .map(User::getPhone)
-                    .collect(Collectors.joining(","));
-            String message = "你区上报的承办单位等级评定申请被市文化和旅游局等级评定委员会退回,请根据反馈意见及时处理!";
-            njwlSmsService.sendSms(phone, message);
+        switch (status) {
+            case FIRST_REVIEW_DENY:
+                // 发送短信给承办单位
+                njwlSmsService.sendSms(rate.getOwnerPhone(), "你单位等级评定申请被" + rate.getDistrict() + "文化和旅游局退回,请根据反馈意见及时处理!");
+                break;
+            case ASSIGN_EXPERT:
+                DateTimeFormatter dtf = DateTimeFormatter.ofPattern(DateConfig.DEFAULT_DATE_TIME_FORMAT);
+                String phone1 = userRepo.findAllByAuthoritiesContainsAndDelFalse(Authority.get(AuthorityName.ROLE_ADMIN))
+                        .stream()
+                        .map(User::getPhone)
+                        .collect(Collectors.joining(","));
+                String message1 = "您于" + dtf.format(LocalDateTime.now()) + ",收到" + rate.getDistrict() + "文化和旅游局上报的承办单位等级评定申请。";
+                njwlSmsService.sendSms(phone1, message1);
+                break;
+            case REVIEW_DENY:
+                String phone = userRepo.findAllByDistrictAndAuthoritiesContainsAndDelFalse(rate.getDistrict(), Authority
+                        .get(AuthorityName.ROLE_DISTRICT_STAFF))
+                        .stream()
+                        .map(User::getPhone)
+                        .collect(Collectors.joining(","));
+                String message = "你区上报的承办单位等级评定申请被市文化和旅游局等级评定委员会退回,请根据反馈意见及时处理!";
+                njwlSmsService.sendSms(phone, message);
+                break;
+//            case REVIEW_PENDING:
+//                List<Long> ids = new ArrayList<>(rate.getExpertMemberUserId());
+//                ids.add(rate.getExpertUserId());
+//                String expertPhone = userRepo.findAllById(ids)
+//                        .stream()
+//                        .map(User::getPhone)
+//                        .collect(Collectors.joining(","));
+//                njwlSmsService.sendSms(expertPhone,"评分已被退回!");
+//                break;
+            default:
+                break;
         }
-
     }
 
     public Rate saveReviewTime(Long id, LocalDateTime time, Long userId) {
@@ -168,6 +195,7 @@ public class RateService {
                 .status(RateStatus.REVIEW_PENDING)
                 .build();
         rateAuditRepo.save(rateAudit);
+        rate.setSort(RateStatus.REVIEW_PENDING.getSort());
         rate = rateRepo.save(rate);
 
         // 发送短信 确定审查时间
@@ -186,6 +214,7 @@ public class RateService {
     public void paperMaterial(Long id, RateStatus status, String remark, Long userId) {
         Rate rate = rateRepo.findById(id).orElseThrow(new BusinessException("无记录"));
         rate.setStatus(status);
+        rate.setSort(status.getSort());
         rateRepo.save(rate);
         RateAudit rateAudit = RateAudit.builder()
                 .userId(userId)
@@ -245,11 +274,6 @@ public class RateService {
         }
     }
 
-//    public String Image2Base64(String imgUrl) {
-//        BASE64Encoder encoder = new BASE64Encoder();
-//        return encoder.encode(HttpRequest.get(imgUrl).bytes()).replace("\n", "\r\n").replace("\r\r\n", "\r\n");
-//    }
-
     public void imgToPdf(List<InputStream> files, Rate rate) {
         List<String> imageUrllist = new ArrayList<>();
 
@@ -453,7 +477,6 @@ public class RateService {
     }
 
     public Map<String, String> reviewTimesMessage(Rate rate) {
-//        Rate rate = rateRepo.findById(id).orElseThrow(new BusinessException("无记录"));
         List<Long> ids = new ArrayList<>(rate.getExpertMemberUserId());
         ids.add(rate.getExpertUserId());
         Map<Long, User> userMap = userRepo.findAllById(ids)

+ 6 - 0
src/main/java/com/izouma/wenlvju/web/RateController.java

@@ -114,6 +114,12 @@ public class RateController extends BaseController {
         rateService.audit(id, status, remark, SecurityUtils.getAuthenticatedUser().getId());
     }
 
+    @PostMapping("/offline")
+    public void offline(@RequestParam Long id) {
+        rateService.offline(id);
+    }
+
+
     @GetMapping(value = "/export/{id}", produces = "application/msword;charset=utf-8")
     public String export(@PathVariable Long id) {
         Rate rate = rateRepo.findById(id).orElseThrow(new BusinessException("无记录"));

+ 26 - 3
src/main/vue/src/views/rate/GradeList.vue

@@ -7,7 +7,7 @@
             header-cell-class-name="table-header-cell"
             row-class-name="table-row"
             cell-class-name="table-cell"
-            :height="tableHeight1"
+            height="tableHeight1"
             :span-method="objectSpanMethod"
             :summary-method="summaryMethod"
             show-summary
@@ -63,7 +63,10 @@
         <div style="padding:20px 50px;display:flex" class="fixed-btn">
             <el-button @click="$router.go(-1)">返回</el-button>
             <div style="flex-grow:1"></div>
-            <el-button type="primary" v-if="submitList.length !== 0" @click="saveExpertScore">
+            <el-button type="danger" v-if="submitList.length !== 0" @click="saveDismiss" :loading="loading">
+                退回
+            </el-button>
+            <el-button type="primary" v-if="submitList.length !== 0" @click="saveExpertScore" :loading="loading">
                 最终评分
             </el-button>
         </div>
@@ -80,9 +83,10 @@ export default {
         return {
             multipleMode: false,
             search: '',
+            loading: false,
             downloading: false,
             spanArr: [],
-            tableHeight1: 620,
+            tableHeight1: 730,
             rateList: [],
             info: {},
             form: {}
@@ -118,6 +122,7 @@ export default {
     },
     methods: {
         saveExpertScore() {
+            this.loading = true;
             this.$http
                 .post('/rateExpertAudit/batchSave', {
                     audits: JSON.stringify(this.submitList)
@@ -129,6 +134,7 @@ export default {
                 })
                 .then(res => {
                     this.$message.success('评审完成');
+                    this.loading = false;
                     this.getGride();
                 });
         },
@@ -352,6 +358,23 @@ export default {
                     this.getGride();
                 })
                 .catch(() => {});
+        },
+        saveDismiss() {
+            this.loading = true;
+            this.$http
+                .post('/rate/offline', {
+                    id: this.$route.query.id
+                })
+                .then(res => {
+                    this.loading = false;
+                    this.$message.success('退回成功');
+                    this.$router.go(-1);
+                })
+                .catch(e => {
+                    this.loading = false;
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
         }
     }
 };

+ 4 - 18
src/main/vue/src/views/rate/RateList.vue

@@ -134,7 +134,7 @@
                         @change="getData"
                     >
                         <el-option
-                            v-for="item in statusOptions2"
+                            v-for="item in statusOptions"
                             :key="item.value"
                             :value="item.value"
                             :label="item.label"
@@ -407,17 +407,10 @@ export default {
         },
         beforeGetData() {
             let data = {
-                sort: 'createdAt,desc',
+                sort: 'sort,desc;createdAt,desc',
                 query: {
                     submit: true,
-                    status: [
-                        'ASSIGN_EXPERT',
-                        'REVIEW_PENDING',
-                        'SUBMIT_GRADE',
-                        'SUBMIT_PAPER_MATERIALS',
-                        'COLLECT_PAPER_MATERIALS',
-                        'COMPLETE'
-                    ]
+                    status: []
                 }
             };
 
@@ -478,14 +471,7 @@ export default {
             if (this.status.length > 0) {
                 params.query.status = this.status;
             } else {
-                params.query.status = [
-                    'ASSIGN_EXPERT',
-                    'REVIEW_PENDING',
-                    'SUBMIT_GRADE',
-                    'SUBMIT_PAPER_MATERIALS',
-                    'COLLECT_PAPER_MATERIALS',
-                    'COMPLETE'
-                ];
+                params.query.status = [];
             }
 
             this.$axios

+ 1 - 1
src/main/vue/src/views/rate/RateListDone.vue

@@ -345,7 +345,7 @@ export default {
         },
         beforeGetData() {
             let data = {
-                sort: 'createdAt,desc',
+                sort: 'sort,desc;createdAt,desc',
                 query: {
                     submit: true,
                     status: ['REVIEW_PENDING', 'SUBMIT_PAPER_MATERIALS', 'COMPLETE']

+ 1 - 1
src/main/vue/src/views/rate/RateListPending.vue

@@ -345,7 +345,7 @@ export default {
         },
         beforeGetData() {
             let data = {
-                sort: 'createdAt,desc',
+                sort: 'sort,desc;createdAt,desc',
                 query: {
                     submit: true,
                     status: ['ASSIGN_EXPERT', 'SUBMIT_GRADE', 'COLLECT_PAPER_MATERIALS']

+ 1 - 1
src/main/vue/src/views/rate/RateListRejected.vue

@@ -54,7 +54,7 @@
                         @change="getData"
                     >
                         <el-option
-                            v-for="item in statusOptions2"
+                            v-for="item in statusOptions1"
                             :key="item.value"
                             :value="item.value"
                             :label="item.label"

+ 9 - 0
src/test/java/com/izouma/wenlvju/repo/RepoTest.java

@@ -147,4 +147,13 @@ public class RepoTest extends ApplicationTests {
         });
 
     }
+
+    @Test
+    public void test2() {
+        List<Rate> all = rateRepo.findAll();
+        all.forEach(rate -> {
+            rate.setSort(rate.getStatus().getSort());
+            rateRepo.save(rate);
+        });
+    }
 }

+ 1 - 1
src/test/java/com/izouma/wenlvju/repo/UserRepoTest.java

@@ -74,7 +74,7 @@ public class UserRepoTest {
 
     @Test
     public void test3() {
-        System.out.println(jwtTokenUtil.generateToken(JwtUserFactory.create(userRepo.findById(469L)
+        System.out.println(jwtTokenUtil.generateToken(JwtUserFactory.create(userRepo.findById(11036L)
                 .orElseThrow(new BusinessException("用户不存在")))));
     }