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