jiangping
2024-11-21 6fc7631662dfca028973a976d3ada032ff9d713f
开发更新
已添加2个文件
已修改4个文件
234 ■■■■■ 文件已修改
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwWorkorderLogMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorderLog.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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")
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> {
}
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;
}
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 = "工单编码(关联yw_workorder)", example = "1")
    @ExcelColumn(name="工单编码(关联yw_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;
}
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);
}
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;
    }