From 6fc7631662dfca028973a976d3ada032ff9d713f Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 21 十一月 2024 14:10:36 +0800
Subject: [PATCH] 开发更新

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java |   91 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 87 insertions(+), 4 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java
index 6b76641..66f431f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java
@@ -9,12 +9,10 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.YwBuildingMapper;
-import com.doumee.dao.business.YwProjectMapper;
-import com.doumee.dao.business.YwRoomMapper;
-import com.doumee.dao.business.YwWorkorderMapper;
+import com.doumee.dao.business.*;
 import com.doumee.dao.business.model.*;
 import com.doumee.dao.system.MultifileMapper;
+import com.doumee.dao.system.SystemUserMapper;
 import com.doumee.dao.system.model.Multifile;
 import com.doumee.dao.system.model.SystemUser;
 import com.doumee.service.business.YwWorkorderService;
@@ -45,6 +43,10 @@
 
     @Autowired
     private YwWorkorderMapper ywWorkorderMapper;
+    @Autowired
+    private SystemUserMapper systemUserMapper;
+    @Autowired
+    private YwWorkorderLogMapper ywWorkorderLogMapper;
     @Autowired
     private SystemDictDataBiz systemDictDataBiz;
     @Autowired
@@ -90,7 +92,28 @@
         if(fileList.size()>0){
             multifileMapper.insert(fileList);
         }
+        dealLogBiz(model,Constants.ZERO,model.getLoginUserInfo().getRealname(),null);//璁板綍鏂板缓鏃ュ織
         return model.getId();
+    }
+
+    private void dealLogBiz(YwWorkorder model, int type,String param1,String param2) {
+        YwWorkorderLog log = new YwWorkorderLog();
+        log.setCreateDate(model.getEditDate());
+        log.setCreator(model.getCreator());
+        log.setJobId(model.getId());
+        log.setIsdeleted(Constants.ZERO);
+        log.setObjId(model.getId()+"");
+        log.setObjType(type);
+        log.setParam1(param1);
+        log.setParam2(param2);
+        if(type ==0){
+            log.setTitle("鍒涘缓宸ュ崟");
+        }else  if(type ==1){
+            log.setTitle("鍒嗘淳宸ュ崟");
+        }else  if(type ==2){
+            log.setTitle("澶勭悊宸ュ崟");
+        }
+        ywWorkorderLogMapper.insert(log);
     }
 
     private void dealParamValid(YwWorkorder model) {
@@ -144,6 +167,58 @@
         }
     }
 
+    @Override
+    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+    public  void dispatchOrder(YwWorkorder ywWorkorder){
+        YwWorkorder model = this.findById(ywWorkorder.getId());
+        if(model ==null || Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝宸ュ崟淇℃伅涓嶅瓨鍦紒");
+        }
+        if(!Constants.equalsInteger(model.getDealStatus(),Constants.ZERO) && !Constants.equalsInteger(model.getDealStatus(),Constants.ONE)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝宸ュ崟鐘舵�佸凡娴佽浆锛屼笉鏀寔褰撳墠鎿嶄綔锛�");
+        }
+
+        SystemUser user = systemUserMapper.selectById(ywWorkorder.getDealUserId());
+        if(user ==null ||  (user.getDeleted()!=null&& user.getDeleted() )){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅涓嶅瓨鍦紒");
+        }
+        YwWorkorder update = new YwWorkorder();
+        update.setId(model.getId());
+        update.setEditDate(new Date());
+        update.setEditor(ywWorkorder.getLoginUserInfo().getId());
+        update.setDealStatus(Constants.ONE);
+        update.setDispatchUserId(update.getEditor());
+        update.setDispatchDate(update.getEditDate());
+        update.setDispatchInfo(ywWorkorder.getDispatchInfo());
+        ywWorkorderMapper.updateById(update);
+        dealLogBiz(model,Constants.ONE,model.getLoginUserInfo().getRealname(),user.getRealname());//璁板綍鏂板缓鏃ュ織
+    }
+    @Override
+    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+    public  void dealOrder(YwWorkorder ywWorkorder){
+        YwWorkorder model = this.findById(ywWorkorder.getId());
+        if(model ==null || Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝宸ュ崟淇℃伅涓嶅瓨鍦紒");
+        }
+        if(!Constants.equalsInteger(model.getDealStatus(),Constants.ZERO) && !Constants.equalsInteger(model.getDealStatus(),Constants.ONE)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝宸ュ崟鐘舵�佸凡娴佽浆锛屼笉鏀寔褰撳墠鎿嶄綔锛�");
+        }
+
+        SystemUser user = systemUserMapper.selectById(ywWorkorder.getDealUserId());
+        if(user ==null ||  (user.getDeleted()!=null&& user.getDeleted() )){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅涓嶅瓨鍦紒");
+        }
+        YwWorkorder update = new YwWorkorder();
+        update.setId(model.getId());
+        update.setEditDate(new Date());
+        update.setEditor(ywWorkorder.getLoginUserInfo().getId());
+        update.setDealStatus(Constants.TWO);
+        update.setDealUserId(update.getEditor());
+        update.setDealDate(update.getEditDate());
+        update.setDealInfo(ywWorkorder.getDispatchInfo());
+        ywWorkorderMapper.updateById(update);
+        dealLogBiz(model,Constants.TWO,model.getLoginUserInfo().getRealname(),null);//璁板綍鏂板缓鏃ュ織
+    }
     @Override
     @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public void updateById(YwWorkorder model) {
@@ -226,14 +301,22 @@
     public YwWorkorder findById(Integer id) {
         MPJLambdaWrapper<YwWorkorder> wrapper = new MPJLambdaWrapper<>();
         wrapper.selectAll(YwWorkorder.class )
+                .select("t4.realname",YwWorkorder::getDealUserName)
+                .select("t3.realname",YwWorkorder::getDispatchUserName)
                 .selectAs(SystemUser::getRealname,YwWorkorder::getCreatorName)
                 .selectAs(SystemUser::getMobile,YwWorkorder::getCreatorPhone)
                 .selectAs(Company::getCompanyNamePath,YwWorkorder::getCreatorCompany)
                 .leftJoin(SystemUser.class,SystemUser::getId,YwWorkorder::getCreator)
                 .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
+                .leftJoin(SystemUser.class,SystemUser::getId,YwWorkorder::getDispatchUserId)
+                .leftJoin(SystemUser.class,SystemUser::getId,YwWorkorder::getDealUserId)
                 .eq(YwWorkorder::getId,id);
         YwWorkorder model = ywWorkorderMapper.selectJoinOne(YwWorkorder.class,wrapper);
         initFiles(model);//璇诲彇闄勪欢淇℃伅
+        YwWorkorderLog log = new YwWorkorderLog();
+        log.setJobId(model.getId());
+        log.setIsdeleted(Constants.ZERO);
+        model.setLogList(ywWorkorderLogMapper.selectList(new QueryWrapper<YwWorkorderLog>(log).lambda().orderByAsc(YwWorkorderLog::getCreateDate)));
         return model;
     }
 

--
Gitblit v1.9.3