From 2524544dcccd7903046585372b12e852afe47d72 Mon Sep 17 00:00:00 2001
From: CeDo <cedoo@qq.com>
Date: 星期六, 05 六月 2021 00:39:39 +0800
Subject: [PATCH] add:服务单号添加

---
 springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java |   91 ++++++++++++++++++++++++++++++++++-----------
 1 files changed, 69 insertions(+), 22 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java
index cf73689..2b6a75f 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java
@@ -28,6 +28,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -58,6 +59,7 @@
      * @param pageEventDTO
      * @return 维护结果
      */
+    @Override
     public R<IPage<EventVO>> query(PageEventDTO pageEventDTO){
         Page page = new Page(1,10);
         if(pageEventDTO.getPageNum()!=null) {
@@ -117,6 +119,7 @@
      * @param commonEventDeleteDTO
      * @return 平台用户信息
      */
+    @Override
     public R delete(CommonEventDeleteDTO commonEventDeleteDTO){
         EventDO eventDO = eventMapper.selectById(commonEventDeleteDTO.getId());
         if(eventDO==null){
@@ -137,6 +140,7 @@
      * @param id 事件 id
      * @return 查找结果
      */
+    @Override
     public R<EventDetailsVO> eventDetails(Long id){
         EventDO eventDO = eventMapper.selectById(id);
         if(eventDO!=null) {
@@ -257,6 +261,7 @@
         eventDO.setGridMemberTelephone(commonEventAddDTO.getPhone());
         eventDO.setCreateBy(commonEventAddDTO.getUserId());
         eventDO.setSubmitDate(new Date());
+        eventDO.setOrderSn(getEventOrderSn(eventDO.getEventType()));
         if(eventMapper.insert(eventDO)==1){
             //添加音频
             if(StringUtils.isNotEmpty(commonEventAddDTO.getAudio())){
@@ -618,7 +623,7 @@
         if(updated!=1){
             return R.fail("更新事件状态失败");
         }
-        addTransferRecord(eventDO.getId(), commonEventVerifyDTO.getUserId(), commonEventVerifyDTO.getUserName(), 1, "事件验证完成");
+        addTransferRecord(eventDO.getId(), commonEventVerifyDTO.getUserId(), commonEventVerifyDTO.getUserName(), 1, commonEventVerifyDTO.getProcessResult());
         return R.ok();
     }
 
@@ -650,6 +655,7 @@
         if(!draftCanRelease){
             return R.fail("当前不是草稿状态");
         }
+        eventDO.setOrderSn(getEventOrderSn(eventDO.getEventType()));
         eventDO.setEventStatus(2);//事件状态 2发布
         eventDO.setProcessType(1);//当前处理对象类型:网格员处理
         eventDO.setCommunityProcess(0);//非 社区处理
@@ -661,6 +667,19 @@
         }
         addReleaseRecord(eventDO.getId(), commonEventPublicDTO.getUserId(), commonEventPublicDTO.getUserName());
         return R.ok();
+    }
+
+    /**
+     * 生成服务单号
+     * @param eventType
+     * @return
+     */
+    private String getEventOrderSn(Integer eventType) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
+        String pre = String.format(simpleDateFormat.format(new Date()) + "%02d", eventType);
+        Integer todayCount = this.getBaseMapper().selectCount(new LambdaQueryWrapper<EventDO>().likeRight(EventDO::getOrderSn, pre));
+        String orderSn =  String.format(pre + "%04d", todayCount+1);
+        return orderSn;
     }
 
     @Override
@@ -808,6 +827,7 @@
         eventDO.setProcessType(1);//网格员处理
         eventDO.setCommunityProcess(0);//非 社区处理
         eventDO.setCreateBy(specialEventAddDTO.getUserId());
+        eventDO.setOrderSn(getEventOrderSn(eventDO.getEventType()));
         if (eventMapper.insert(eventDO) > 0) {
             //添加音频
             if (StringUtils.isNotEmpty(specialEventAddDTO.getAudio())) {
@@ -886,6 +906,7 @@
         eventDO.setGridMemberName(publicityEventAddDTO.getUserName());
         eventDO.setGridMemberTelephone(publicityEventAddDTO.getPhone());
         eventDO.setCreateBy(publicityEventAddDTO.getUserId());
+        eventDO.setOrderSn(getEventOrderSn(eventDO.getEventType()));
         if(eventMapper.insert(eventDO)==1){
             //添加音频
             if(StringUtils.isNotEmpty(publicityEventAddDTO.getAudio())){
@@ -1393,28 +1414,54 @@
      * @param eventDO 事件
      */
     private Integer  getEventDealStatus(EventDO eventDO){
-        Integer event_status = eventDO.getEventStatus();
-        Integer event_process_status = eventDO.getEventProcessStatus();
-        Integer process_type = eventDO.getProcessType();
-        Integer community_process = eventDO.getCommunityProcess();
+        //1 待处理、2 待验证、3 已上报、4 已解决、5 草稿箱、6已撤销、7已失效、8已发布
+        if(eventDO.getEventCategory()!=null) {
+            if (eventDO.getEventCategory() == 1) {
+                Integer event_status = eventDO.getEventStatus()!=null?eventDO.getEventStatus():-1;
+                Integer event_process_status = eventDO.getEventProcessStatus()!=null?eventDO.getEventProcessStatus():-1;
+                Integer process_type = eventDO.getProcessType()!=null?eventDO.getProcessType():-1;
+                Integer community_process = eventDO.getCommunityProcess()!=null?eventDO.getCommunityProcess():-1;
 
-        Integer eventDealStatus = -1;
-        //1 待处理、2 待验证、3 已上报、4 已解决、5 草稿箱、6已撤销、7已失效
-        if(eventDO.getInvalid()!=null && eventDO.getInvalid()==false){
-            eventDealStatus = 7;//7已失效
-        }else if(event_status ==2 && event_process_status == 1 && process_type == 1) {
-            eventDealStatus = 1;//"待处理"
-        }else if(  event_process_status == 3) {
-            eventDealStatus = 2;//"待验证"
-        }else if(event_status == 2 && community_process == 1 && process_type == 2) {
-            eventDealStatus=3;//"已上报"
-        }else if(  event_process_status == 2 ) {
-            eventDealStatus=4;//"已解决"
-        }else if(  event_status == 1 ) {
-            eventDealStatus = 5;//"草稿箱"
-        }else if( event_status == 4 ) {
-            eventDealStatus=6;//"已撤销"
+                Integer eventDealStatus = -1;
+                if (eventDO.getInvalid() != null && eventDO.getInvalid() == false) {
+                    eventDealStatus = 7;
+                    //7已失效
+                } else if (event_status == 1) {
+                    eventDealStatus = 5;
+                    //"草稿箱"
+                } else if ( event_status == 4) {
+                    eventDealStatus = 6;
+                    //"已撤销"
+                } else if (event_status ==2){
+                    if (event_process_status == 3) {
+                        eventDealStatus = 2;
+                        //"待验证"
+                    }else if (event_process_status == 2) {
+                        eventDealStatus = 4;
+                        //"已解决"
+                    }else if ( community_process == 1 &&  process_type == 2) {
+                        eventDealStatus = 3;
+                        //"已上报"
+                    }else if ( event_process_status == 1 && process_type == 1) {
+                        eventDealStatus = 1;
+                        //"待处理"
+                    } 
+                }
+                return eventDealStatus;
+            } else if (eventDO.getEventCategory() == 2) {
+                Integer event_status = eventDO.getEventStatus();
+                if (event_status != null && event_status == 1) {
+                    return 5;
+                    //"草稿箱"
+                } else if (event_status != null && event_status == 2) {
+                    return 8;
+                    //已发布
+                } else if (event_status != null && event_status == 4) {
+                    return 6;
+                    //"已撤销"
+                }
+            }
         }
-        return eventDealStatus;
+        return -1;
     }
 }

--
Gitblit v1.7.1