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_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java         |   16 ++++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorderLog.java            |  102 +++++++++++++++++++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java               |    9 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java          |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwWorkorderLogMapper.java            |   13 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java |   91 +++++++++++++++++++++-
 6 files changed, 230 insertions(+), 4 deletions(-)

diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java
index 7242027..792cdb9 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java
@@ -69,6 +69,22 @@
         ywWorkorderService.updateById(ywWorkorder);
         return ApiResponse.success(null);
     }
+    @ApiOperation("鍒嗘淳宸ュ崟")
+    @PostMapping("/dispatchOrder")
+    @CloudRequiredPermission("business:ywworkorder:update")
+    public ApiResponse dispatchOrder(@RequestBody YwWorkorder ywWorkorder,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywWorkorder.setLoginUserInfo(this.getLoginUser(token));
+        ywWorkorderService.dispatchOrder(ywWorkorder);
+        return ApiResponse.success(null);
+    }
+    @ApiOperation("澶勭悊宸ュ崟")
+    @PostMapping("/dealOrder")
+    @CloudRequiredPermission("business:ywworkorder:update")
+    public ApiResponse dealOrder(@RequestBody YwWorkorder ywWorkorder,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywWorkorder.setLoginUserInfo(this.getLoginUser(token));
+        ywWorkorderService.dealOrder(ywWorkorder);
+        return ApiResponse.success(null);
+    }
 
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwWorkorderLogMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwWorkorderLogMapper.java
new file mode 100644
index 0000000..a237bbc
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwWorkorderLogMapper.java
@@ -0,0 +1,13 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.PlatformLog;
+import com.doumee.dao.business.model.YwWorkorderLog;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface YwWorkorderLogMapper extends BaseMapper<YwWorkorderLog> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java
index 37a301a..a2a2196 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java
@@ -161,6 +161,12 @@
     @ApiModelProperty(value = "鎻愭姤浜哄鍚�")
     @TableField(exist = false)
     private String creatorName;
+    @ApiModelProperty(value = "澶勭悊浜哄鍚�")
+    @TableField(exist = false)
+    private String dealUserName;
+    @ApiModelProperty(value = "鍒嗛厤浜哄鍚�")
+    @TableField(exist = false)
+    private String dispatchUserName;
     @ApiModelProperty(value = "鎻愭姤缁勭粐")
     @TableField(exist = false)
     private String creatorCompany;
@@ -173,4 +179,7 @@
     @ApiModelProperty(value = "澶勭悊鍥剧墖闆嗗悎")
     @TableField(exist = false)
     private List<Multifile> dealFileList;
+    @ApiModelProperty(value = "鎿嶄綔璁板綍鍒楄〃")
+    @TableField(exist = false)
+    private List<YwWorkorderLog> logList;
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorderLog.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorderLog.java
new file mode 100644
index 0000000..ea181cb
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorderLog.java
@@ -0,0 +1,102 @@
+package com.doumee.dao.business.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 鏈堝彴_浣滀笟鎿嶄綔鍘嗗彶琛�
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Data
+@ApiModel("杩愮淮-宸ュ崟鎿嶄綔鍘嗗彶琛�")
+@TableName("`yw_workorder_log`")
+public class YwWorkorderLog {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+  
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+  
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "浣滀笟鏈堝彴")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "宸ュ崟缂栫爜锛堝叧鑱攜w_workorder)", example = "1")
+    @ExcelColumn(name="宸ュ崟缂栫爜锛堝叧鑱攜w_workorder)")
+    private Integer jobId;
+
+    @ApiModelProperty(value = "鏍囬")
+    @ExcelColumn(name="鏍囬")
+    private String title;
+
+    @ApiModelProperty(value = "绠�浠�")
+    @ExcelColumn(name="绠�浠�")
+    private String content;
+
+    @ApiModelProperty(value = "鎿嶄綔绫诲瀷 0宸ュ崟鍒涘缓 1鎸囨淳 2澶勭悊", example = "1")
+    @ExcelColumn(name="鎿嶄綔绫诲瀷 0宸ュ崟鍒涘缓 1鎸囨淳 2澶勭悊")
+    private Integer objType;
+
+    @ApiModelProperty(value = "鍏宠仈瀵硅薄缂栫爜")
+    @ExcelColumn(name="鍏宠仈瀵硅薄缂栫爜")
+    private String objId;
+
+    @ApiModelProperty(value = "鎿嶄綔鍓嶅唴瀹�")
+    @ExcelColumn(name="鎿嶄綔鍓嶅唴瀹�")
+    private String beforeContent;
+
+    @ApiModelProperty(value = "鎿嶄綔鍚庡唴瀹�")
+    @ExcelColumn(name="鎿嶄綔鍚庡唴瀹�")
+    private String afterContent;
+
+    @ApiModelProperty(value = "鍙傛暟1 鎿嶄綔浜哄鍚�")
+    @ExcelColumn(name="鍙傛暟1")
+    private String param1;
+
+    @ApiModelProperty(value = "鍙傛暟2 鎸囨淳瀵硅薄濮撳悕")
+    @ExcelColumn(name="鍙傛暟2")
+    private String param2;
+
+    @ApiModelProperty(value = "鍙傛暟3 ")
+    @ExcelColumn(name="鍙傛暟3")
+    private String param3;
+
+    @ApiModelProperty(value = "鍙傛暟4 ")
+    @ExcelColumn(name="鍙傛暟4")
+    private String param4;
+
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java
index dd37a85..6064bde 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java
@@ -95,4 +95,7 @@
      * @return long
      */
     long count(YwWorkorder ywWorkorder);
+
+    void dispatchOrder(YwWorkorder ywWorkorder);
+    void dealOrder(YwWorkorder ywWorkorder);
 }
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