From 94e3a209bb9a31c4ddbd31494bb1628f6fe2e96e Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期三, 12 十月 2022 17:54:49 +0800
Subject: [PATCH] 新增首页工单 办事指南排行榜接口   导办人员排行榜接口  组织排行榜接口  新增办事指南统计接口   导办人员统计接口  组织胖行榜统计接口

---
 flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java |   99 ++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 84 insertions(+), 15 deletions(-)

diff --git a/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java b/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java
index e99b097..be3fd0a 100644
--- a/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java
+++ b/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java
@@ -9,7 +9,10 @@
 import com.dg.core.db.gen.entity.*;
 import com.dg.core.service.IGuideEvolveService;
 import com.dg.core.service.IGuideRepairOrderService;
+import com.dg.core.service.IOrganizationChartService;
+import com.dg.core.util.SmsUtil;
 import com.dg.core.util.TableDataInfo;
+import com.dg.core.util.WxUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
@@ -35,6 +38,16 @@
     @Autowired
     private IGuideEvolveService iGuideEvolveService;
 
+    @Autowired
+    IOrganizationChartService iOrganizationChartService;
+
+    private static String guideRepairOrderCompleteTemplateId = "7ZCHHii87rWPwVkdhZnvNiYbYi_Buq0NXO10cmUhAFk";
+
+
+    @Resource
+    SmsUtil smsUtil;
+
+
     /**
      * 提交导办订单
      * @return
@@ -45,7 +58,15 @@
     public ResultData addOrder(@RequestBody GuideRepairOrder guideRepairOrder,@CurrentUser SysUser sysUser) {
           guideRepairOrder.setSubmitUserId(sysUser.getUserId().toString());
           guideRepairOrder.setSubmitUserPhone(sysUser.getPhonenumber());
-          return toAjax(iGuideRepairOrderService.addOrder(guideRepairOrder));
+          guideRepairOrder.setSubmitUserPhone(sysUser.getPhonenumber());
+          guideRepairOrder.setSubmitType(2);
+          int i = iGuideRepairOrderService.addOrder(guideRepairOrder);
+          if (i>0){
+              iGuideEvolveService.updateGuid();
+            return ResultData.success();
+          }
+          else
+            return  ResultData.error();
     }
 
 
@@ -196,17 +217,33 @@
         {
             return ResultData.error("该工单已办结!");
         }
-
-        if(!StringUtils.equals(order.getState(),"2"))
-        {
-            return ResultData.error("该工单非是待办状态!");
+        if(StringUtils.equals(entity.getState(),"2")){//如果用户选择未解决则状态改为待办
+            order.setState("2");
+            entity.setState("8");
         }
-        //待评价
-        order.setState("4");
+        else if(StringUtils.equals(entity.getState(),"4")){
+            //待评价
+            if (order.getSubmitType().equals(1))//小程序提交
+            {
+                WxUtil wxUtil=new WxUtil();
+                String accessToken="0";
+                try {
+                    accessToken= wxUtil.getBatteryCarAccessToken();
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+                SysUser submitUser = iGuideRepairOrderService.getSubmitUser(order);
+                wxUtil.sendGuideRepairOrderComplete(submitUser.getOpenid(),accessToken,guideRepairOrderCompleteTemplateId,order);
+            }
+            else if (order.getSubmitType().equals(2)){
+                smsUtil.sendSmsComplete(order.getSubmitUserPhone(),order.getMatterName());
+            }
+            order.setState("4");
+            entity.setState("9");
+        }
         //新增已办结记录
         entity.setCreateTime(LocalDateTime.now());
         entity.setUpdateTime(LocalDateTime.now());
-        entity.setState("4");
         entity.setFromDepartmentalId(sysUser.getDepartmentId());
         entity.setFromUserId(sysUser.getUserId()+"");
         entity.setGuideId(order.getId().toString());
@@ -300,9 +337,11 @@
         guideEvolveEntity.setFromDepartmentalId(sysUser.getDepartmentId());
         guideEvolveEntity.setFromUserId(sysUser.getUserId()+"");
         guideEvolveEntity.setGuideId(entity.getId().toString());
-        iGuideEvolveService.insertConfig(guideEvolveEntity);
-
-        return toAjax(iGuideRepairOrderService.updateConfig(entity));
+        int i = iGuideRepairOrderService.updateConfig(entity);
+        if (i>0)
+            return toAjax( iGuideEvolveService.insertConfig(guideEvolveEntity));
+        else
+            return ResultData.error();
     }
 
     /**
@@ -310,7 +349,7 @@
      * @param sysUser 当前登录人员信息
      * @return
      */
-    @ApiOperation("获取个人中心工单数据")
+    @ApiOperation(value = "获取个人中心工单数据",response = GuideRepairOrder.class)
     @GetMapping("/personalCenter")
     @Authorization
     public ResultData selectBySubmitId(@CurrentUser SysUser sysUser){
@@ -328,16 +367,46 @@
     @Authorization
     public TableDataInfo selectConfigList(@RequestParam(value = "pageNum",required = false) Integer pageNum,
                                    @RequestParam(value = "pageSize",required = false) Integer pageSize,
-                                   @RequestParam(value = "matterName",required = false) String matterName)
+                                   @RequestParam(value = "matterName",required = false) String matterName,
+                                          @CurrentUser SysUser sysUser)
     {
         Assert.notNull(pageNum, "pageNum 不能为空");
         Assert.notNull(pageSize, "pageSize 不能为空");
         Page<GuideRepairOrder> pageParam = new Page<>(pageNum,pageSize);
-        List<GuideRepairOrder> list = iGuideRepairOrderService.selectConfigList(pageParam,pageSize,matterName);
-        int num=iGuideRepairOrderService.countConfigList(matterName);
+
+        List<String> ids=iOrganizationChartService.getIds(sysUser.getDepartmentId());
+        List<GuideRepairOrder> list = iGuideRepairOrderService.selectConfigList(pageParam,pageSize,matterName,ids);
+        int num=iGuideRepairOrderService.countConfigList(matterName,ids);
         return getDataTable(list,num);
     }
 
 
+    @ApiOperation("导办工单统计不同状态工单数")
+    @GetMapping("/getWorkOrder")
+    @Authorization
+    public ResultData getWorkOrder(@CurrentUser SysUser sysUser)
+    {
+        WorkOrder workOrder=new WorkOrder();
+        List<String> ids=iOrganizationChartService.getIds(sysUser.getDepartmentId());
+        //状态(1待分配  2 待办结 3 已办结 4 待评价 5 已取消  8未解决  9已解决)
+        workOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum("",ids,null,null,null,null));
+        workOrder.setWaitDistribution(iGuideRepairOrderService.countStatisticsNum("1",ids,null,null,null,null));
+        workOrder.setWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",ids,null,null,null,null));
+        workOrder.setHaveDealWith(iGuideRepairOrderService.countStatisticsNum("3",ids,null,null,null,null));
+        workOrder.setRemainEvaluated(iGuideRepairOrderService.countStatisticsNum("4",ids,null,null,null,null));
+        workOrder.setCanceled(iGuideRepairOrderService.countStatisticsNum("5",ids,null,null,null,null));
+        workOrder.setUnsolved(iGuideRepairOrderService.countStatisticsNum("6",ids,null,null,null,null));
+        workOrder.setResolved(iGuideRepairOrderService.countStatisticsNum("7",ids,null,null,null,null));
+
+
+        //是否超时 (1 未超时   2已超时) 超时未办结
+        workOrder.setOvertime(iGuideRepairOrderService.countStatisticsNum(null,ids,null,"2",null,null));
+        workOrder.setOvertimeWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",ids,null,"2",null,null));
+        return ResultData.success(workOrder);
+    }
+
+
+
+
 
 }

--
Gitblit v1.7.1