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; }