From b5b69ffb1c3893a16e9ed57a68b0db7ca516bd0d Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期六, 15 十月 2022 11:34:02 +0800
Subject: [PATCH] 修改小程序报错 bug

---
 flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java |   92 +++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 83 insertions(+), 9 deletions(-)

diff --git a/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java
index 8a45c67..388de7c 100644
--- a/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java
+++ b/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java
@@ -6,6 +6,7 @@
 import com.dg.core.db.gen.entity.*;
 import com.dg.core.db.gen.mapper.*;
 import com.dg.core.service.IGuideRepairOrderService;
+import com.dg.core.util.SmsUtil;
 import com.dg.core.util.Snowflake;
 import org.springframework.stereotype.Service;
 
@@ -15,7 +16,8 @@
 import java.util.List;
 
 @Service
-public class GuideRepairOrderServiceImpl extends ServiceImpl<GuideRepairOrderMapper, GuideRepairOrder>  implements IGuideRepairOrderService {
+public class GuideRepairOrderServiceImpl extends ServiceImpl<GuideRepairOrderMapper, GuideRepairOrder>
+        implements IGuideRepairOrderService {
 
     @Resource
     private TransactionEventMapper transactionEventMapper;
@@ -32,6 +34,9 @@
     @Resource
     private  GuideEvolveMapper guideEvolveMapper;
 
+    @Resource
+    SmsUtil smsUtil;
+
     @Override
     public  int addOrder(GuideRepairOrder guideRepairOrder){
 
@@ -42,6 +47,21 @@
         guideRepairOrder.setDepartmentId(transactionEvent.getDepartmentId());
         guideRepairOrder.setClassifyId(transactionEvent.getClassifyId());
         List<String> departmentIds=new ArrayList<>();
+        Boolean isAdd=true;//是否能够新建工单
+        List<GuideRepairOrder> guideRepairOrders = baseMapper.selectList(new QueryWrapper<GuideRepairOrder>().lambda()
+                .eq(GuideRepairOrder::getMatterId, guideRepairOrder.getMatterId())
+                .eq(GuideRepairOrder::getConsultContent, guideRepairOrder.getConsultContent()));
+        if (guideRepairOrders.size()==0){
+            isAdd=true;
+        }else {
+            for (GuideRepairOrder guideRepair:guideRepairOrders) {
+                if (guideRepair.getState().equals("1")||guideRepair.getState().equals("2")||guideRepair.getState().equals("6")||guideRepair.getState().equals("7")){
+                    isAdd=false;
+                    break;
+                }
+            }
+        }
+         if (isAdd) {
         //自动分配业务代码开始
         List<OrganizationChartEntity> organizationChartEntities = organizationChartMapper.selectByCode(guideRepairOrder.getAreaCode());
         if (organizationChartEntities!=null){
@@ -49,7 +69,7 @@
                 departmentIds.add(organizationChart.getId().toString());
             }
             List<SysUser> sysUsers = sysUserMapper.selectListByDepartmentId(departmentIds, "," + transactionEvent.getClassifyId(), transactionEvent.getClassifyId() + ",");//获取导半人员
-            if (sysUsers==null) {//如果此所属地区部门没有导半人员则看其下级地区有没有相关分类导办人员
+            if (sysUsers.size()==0) {//如果此所属地区部门没有导半人员则看其下级地区有没有相关分类导办人员
                 for (OrganizationChartEntity organizationChart:organizationChartEntities) {
                     //获取下级部门
                     List<OrganizationChartEntity> organizationChartEntitiesUser = organizationChartMapper.selectList(new QueryWrapper<OrganizationChartEntity>().lambda()
@@ -58,15 +78,17 @@
                         departmentIds=this.getDepartmentIds(organizationChartEntitiesUser,departmentIds);
                 }
                 sysUsers = sysUserMapper.selectListByDepartmentId(departmentIds, "," + transactionEvent.getClassifyId(), transactionEvent.getClassifyId() + ",");//获取导半人员
-                if (sysUsers==null){//如果其下级部门仍没有该分类的导半人员则查询所以该所属地区的导办人员
+                if (sysUsers.size()==0){//如果其下级部门仍没有该分类的导半人员则查询所以该所属地区的导办人员
                     sysUsers = sysUserMapper.selectListByDepartmentId(departmentIds,null,null);//获取导半人员
-                    if(sysUsers==null)//如果该所属地区没有导办人员则为特殊单据需要手动分配
+                    if(sysUsers.size()==0)//如果该所属地区没有导办人员则为特殊单据需要手动分配
                         guideRepairOrder.setState("1");
                 }
             }
-            if (sysUsers!=null){//系统分配导办人员
+            if (sysUsers.size()>0){//系统分配导办人员
                 SysUser sysUser = sysUsers.get(0);//因为sql用了升序排序所以第一条就是待办结最少的人员之一
                 guideRepairOrder.setState("2");
+                sysUser.setTransactionNum(sysUser.getTransactionNum()+1);
+                sysUserMapper.updateById(sysUser);
                 guideRepairOrder.setGuideUserId(sysUser.getUserId().toString());
                 guideRepairOrder.setGuideDepartmentId(sysUser.getDepartmentId());
                 //新增分配记录
@@ -78,7 +100,8 @@
                 entity.setToUserId(guideRepairOrder.getGuideUserId()+"");
                 entity.setFromUserId(guideRepairOrder.getSubmitUserId());
                 entity.setFromDepartmentalId(guideRepairOrder.getGuideDepartmentId());
-                entity.setGuideId(guideRepairOrder.getId().toString());
+                entity.setGuidOrderNum(guideRepairOrder.getOrderNum());
+//                smsUtil.sendSmsOvertime(sysUser.getPhonenumber(),guideRepairOrder.getMatterName());
                 guideEvolveMapper.insertConfig(entity);
             }
         }
@@ -114,13 +137,17 @@
             guideRepairOrderImageMapper.insert(guideRepairOrderImage);
         }
         }
+
         int ans= baseMapper.insert(guideRepairOrder);
         int i = transactionEventMapper.updateById(transactionEvent);
         if (ans>0&&i>0)
             return 1;
         else
             return 0;
-
+         }
+         else {
+             return  0;
+         }
     }
 
     public  List<String> getDepartmentIds(  List<OrganizationChartEntity> organizationChartEntities,List<String> departmentIds){
@@ -142,8 +169,11 @@
 
     @Override
     public int updateConfig(GuideRepairOrder order) {
-        SysUser sysUser = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getGuideUserId()));
-        order.setGuideUserPhone(sysUser.getPhonenumber());
+        if  ( order.getGuideUserId()!=null&&!order.getGuideUserId().equals(""))
+        {
+            SysUser sysUser = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getGuideUserId()));
+            order.setGuideUserPhone(sysUser.getPhonenumber());
+        }
         return baseMapper.updateConfig(order);
     }
 
@@ -162,5 +192,49 @@
         return baseMapper.countConfigList(matterName,ids);
     }
 
+    @Override
+    public int countUser(String userId, String state) {
+        return baseMapper.countUser(userId,state);
+    }
+
+    @Override
+    public int updateSysUserOrderNum(GuideEvolveEntity order) {
+       if(order.getState().equals("13")){
+           SysUser sysUser = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getToUserId()));
+           sysUser.setTransactionNum(sysUser.getTransactionNum()+1);
+           return  sysUserMapper.updateById(sysUser);
+       }else if(order.getState().equals("12")){
+            SysUser sysUserTo= sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getToUserId()));
+            SysUser sysUserFrom= sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getFromUserId()));
+            sysUserTo.setTransactionNum(sysUserTo.getTransactionNum()+1);
+            sysUserFrom.setTransactionNum(sysUserFrom.getTransactionNum()-1);
+            sysUserMapper.updateById(sysUserFrom);
+            return  sysUserMapper.updateById(sysUserTo);
+       }
+        return 0;
+    }
+
+    /**
+     * 1 今天   2昨天   3本月   4本年度 String time
+     * @param state
+     * @param ids
+     * @return
+     */
+    @Override
+    public int countStatisticsNum(String state,List<String> ids,String time,
+                                  String isTimeout,String evaluateState,List<String> classifyIds) {
+        return baseMapper.countStatisticsNum(state,ids,time,isTimeout,evaluateState,classifyIds);
+    }
+
+    @Override
+    public List<CountListNum> countListNum(String state, List<String> ids, Integer time) {
+        return baseMapper.countListNum(state, ids,time);
+    }
+
+    @Override
+    public SysUser getSubmitUser(GuideRepairOrder guideRepairOrder){
+        return sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId,guideRepairOrder.getSubmitUserId()));
+    }
+
 
 }

--
Gitblit v1.7.1