server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -222,7 +222,13 @@ int sgscxh = 4; } public interface patrolTaskStatus{ int waitStart = 0; int working= 1; int timeout = 2; int finish =3; int cancel =4; } public static Date getBirthdyByCardNo(String idCard){ if(idCard ==null || idCard.length()<14){ return null; @@ -453,6 +459,7 @@ public static final String GOODSORDER_KEY = "ordercode_"; public static final String ACTIVITY_SIGN_KEY = "actcode_"; public static final String AFTERSALE_KEY = "salecode_"; public static final String PATROL_SCHEME_CODE_KEY = "patrolSchemeCode"; } server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -1292,6 +1292,25 @@ return now.getTime(); } /** * è·åX天åçæ¥æ * @param date * @param days * @return */ public static Date getXDayAfterDate(Date date, int days) { if(date ==null){ date = new Date(); } Calendar now = Calendar.getInstance(); now.setTime(date); now.set(Calendar.DATE, now.get(Calendar.DATE) + days); return now.getTime(); } /** * å¾å°ä¸¤ä¸ªæ¥æä¹é´ç¸å·®çå¤©æ° * server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolSchemeCloudController.java
@@ -70,6 +70,15 @@ return ApiResponse.success(null); } @ApiOperation("å¯ç¨ç¦ç¨") @PostMapping("/updateStatus") @CloudRequiredPermission("business:ywpatrolscheme:update") public ApiResponse updateStatus(@RequestBody YwPatrolScheme ywPatrolScheme,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { ywPatrolScheme.setLoginUserInfo(this.getLoginUser(token)); ywPatrolSchemeService.updateStatus(ywPatrolScheme); return ApiResponse.success(null); } @ApiOperation("å页æ¥è¯¢") @PostMapping("/page") @CloudRequiredPermission("business:ywpatrolscheme:query") server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolTaskCloudController.java
@@ -83,6 +83,17 @@ @CloudRequiredPermission("business:ywpatroltask:exportExcel") public void exportExcel (@RequestBody PageWrap<YwPatrolTask> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token)); List<YwPatrolTask> ywPatrolTaskList = ywPatrolTaskService.findPage(pageWrap).getRecords(); for (YwPatrolTask ywPatrolTask:ywPatrolTaskList) { if((Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.ZERO) || Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.ONE)) && ywPatrolTask.getEndDate().getTime() < System.currentTimeMillis() ){ ywPatrolTask.setStatus(Constants.TWO); } } ExcelExporter.build(YwPatrolTask.class).export(ywPatrolTaskService.findPage(pageWrap).getRecords(), "è¿ç»´å·¡æ£ä»»å¡ä¿¡æ¯è¡¨", response); } @@ -92,4 +103,13 @@ public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(ywPatrolTaskService.findById(id)); } @ApiOperation("ä»»å¡åæ¶") @GetMapping("/taskCancel") @CloudRequiredPermission("business:ywpatroltask:query") public ApiResponse taskCancel(@RequestParam Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { ywPatrolTaskService.taskCancel(id,this.getLoginUser(token)); return ApiResponse.success("æä½æå"); } } server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolTaskRecordController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,92 @@ package com.doumee.cloud.admin; import com.doumee.api.BaseController; import com.doumee.config.annotation.CloudRequiredPermission; import com.doumee.core.annotation.excel.ExcelExporter; import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.model.ApiResponse; import com.doumee.core.model.PageWrap; import com.doumee.core.model.PageData; import com.doumee.core.utils.Constants; import com.doumee.dao.business.model.YwPatrolTaskRecord; import com.doumee.service.business.YwPatrolTaskRecordService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; /** * @author æ±è¹è¹ * @date 2024/11/21 18:11 */ @Api(tags = "è¿ç»´å·¡æ£ä»»å¡ - å·¡æ£ç¹ä¿¡æ¯è¡¨") @RestController @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/ywPatrolTaskRecord") public class YwPatrolTaskRecordController extends BaseController { @Autowired private YwPatrolTaskRecordService ywPatrolTaskRecordService; @PreventRepeat @ApiOperation("æ°å»º") @PostMapping("/create") @CloudRequiredPermission("business:ywpatroltaskrecord:create") public ApiResponse create(@RequestBody YwPatrolTaskRecord ywPatrolTaskRecord) { return ApiResponse.success(ywPatrolTaskRecordService.create(ywPatrolTaskRecord)); } @ApiOperation("æ ¹æ®IDå é¤") @GetMapping("/delete/{id}") @CloudRequiredPermission("business:ywpatroltaskrecord:delete") public ApiResponse deleteById(@PathVariable Integer id) { ywPatrolTaskRecordService.deleteById(id); return ApiResponse.success(null); } @ApiOperation("æ¹éå é¤") @GetMapping("/delete/batch") @CloudRequiredPermission("business:ywpatroltaskrecord:delete") public ApiResponse deleteByIdInBatch(@RequestParam String ids) { String [] idArray = ids.split(","); List<Integer> idList = new ArrayList<>(); for (String id : idArray) { idList.add(Integer.valueOf(id)); } ywPatrolTaskRecordService.deleteByIdInBatch(idList); return ApiResponse.success(null); } @ApiOperation("æ ¹æ®IDä¿®æ¹") @PostMapping("/updateById") @CloudRequiredPermission("business:ywpatroltaskrecord:update") public ApiResponse updateById(@RequestBody YwPatrolTaskRecord ywPatrolTaskRecord) { ywPatrolTaskRecordService.updateById(ywPatrolTaskRecord); return ApiResponse.success(null); } @ApiOperation("å页æ¥è¯¢") @PostMapping("/page") @CloudRequiredPermission("business:ywpatroltaskrecord:query") public ApiResponse<PageData<YwPatrolTaskRecord>> findPage (@RequestBody PageWrap<YwPatrolTaskRecord> pageWrap) { return ApiResponse.success(ywPatrolTaskRecordService.findPage(pageWrap)); } @ApiOperation("导åºExcel") @PostMapping("/exportExcel") @CloudRequiredPermission("business:ywpatroltaskrecord:exportExcel") public void exportExcel (@RequestBody PageWrap<YwPatrolTaskRecord> pageWrap, HttpServletResponse response) { ExcelExporter.build(YwPatrolTaskRecord.class).export(ywPatrolTaskRecordService.findPage(pageWrap).getRecords(), "è¿ç»´å·¡æ£ä»»å¡ - å·¡æ£ç¹ä¿¡æ¯è¡¨", response); } @ApiOperation("æ ¹æ®IDæ¥è¯¢") @GetMapping("/{id}") @CloudRequiredPermission("business:ywpatroltaskrecord:query") public ApiResponse findById(@PathVariable Integer id) { return ApiResponse.success(ywPatrolTaskRecordService.findById(id)); } } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwPatrolSchemeMapper.java
@@ -1,5 +1,6 @@ package com.doumee.dao.business; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.doumee.dao.business.model.YwPatrolScheme; import com.github.yulichang.base.MPJBaseMapper; server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwPatrolTaskRecordMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,13 @@ package com.doumee.dao.business; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.doumee.dao.business.model.YwPatrolTaskRecord; import com.github.yulichang.base.MPJBaseMapper; /** * @author æ±è¹è¹ * @date 2024/11/21 18:11 */ public interface YwPatrolTaskRecordMapper extends MPJBaseMapper<YwPatrolTaskRecord> { } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java
@@ -1,5 +1,6 @@ package com.doumee.dao.business.model; import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.core.model.LoginUserModel; import io.swagger.annotations.ApiModel; @@ -23,96 +24,103 @@ @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="å建æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date createDate; @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") @ExcelColumn(name="æ´æ°äººç¼ç ") private Integer editor; @ApiModelProperty(value = "æ´æ°æ¶é´") @ExcelColumn(name="æ´æ°æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date editDate; @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯") private Integer isdeleted; @ApiModelProperty(value = "æ é¢") @ExcelColumn(name="æ é¢") @ExcelColumn(name="计ååç§°",index = 0) private String title; @ApiModelProperty(value = "计åç¼ç ") @ExcelColumn(name="计åç¼å·",index = 1) private String code; @ApiModelProperty(value = "夿³¨") @ExcelColumn(name="夿³¨") private String remark; @ApiModelProperty(value = "ç¶æ 0å¯ç¨ 1ç¦ç¨", example = "1") @ExcelColumn(name="ç¶æ 0å¯ç¨ 1ç¦ç¨") @ExcelColumn(name="ç¶æ",index = 9,width = 6,valueMapping = "0=å¯ç¨;1=åç¨;") private Integer status; @ApiModelProperty(value = "æåºç ", example = "1") @ExcelColumn(name="æåºç ") private Integer sortnum; @ApiModelProperty(value = "å·¡æ£ç¹ç¼ç (å ³èyw_patrol_line)", example = "1") @ExcelColumn(name="å·¡æ£ç¹ç¼ç (å ³èyw_patrol_line)") private Integer lineId; @ApiModelProperty(value = "å·¡æ£è´è´£äººç¼ç éåï¼å¤ä¸ªä½¿ç¨è±æéå·éå¼") @ExcelColumn(name="å·¡æ£è´è´£äººç¼ç éåï¼å¤ä¸ªä½¿ç¨è±æéå·éå¼") private String userIds; @ApiModelProperty(value = "å¤ç人ç¼ç (å ³èsystem_user)", example = "1") @ExcelColumn(name="å¤ç人ç¼ç (å ³èsystem_user)") private Integer dealUserId; @ApiModelProperty(value = "å¤çæ¶é´") @ExcelColumn(name="å¤çæ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date dealDate; @ApiModelProperty(value = "å¤ç夿³¨") @ExcelColumn(name="å¤ç夿³¨") private String dealInfo; @ApiModelProperty(value = "循ç¯å¨æ 0æ¯å¤© 1æ¯å¨ 2æ¯å¤©", example = "1") @ExcelColumn(name="循ç¯å¨æ 0æ¯å¤© 1æ¯å¨ 2æ¯å¤©") private Integer circleType; @ApiModelProperty(value = "循ç¯éå¤è§å 1-31ï¼å¤ä¸ªè±æéå·éå¼") @ExcelColumn(name="循ç¯éå¤è§å 1-31ï¼å¤ä¸ªè±æéå·éå¼") private String circleDays; @ApiModelProperty(value = "å¼å§æ¥æ") @ExcelColumn(name="å¼å§æ¥æ") @ExcelColumn(name="å¼å§æ¥æ",index = 3,width = 6,dateFormat ="yyyy-MM-dd" ) @JsonFormat(pattern = "yyyy-MM-dd") private Date startDate; @ApiModelProperty(value = "ç»ææ¥æ") @ExcelColumn(name="ç»ææ¥æ") @ExcelColumn(name="ç»ææ¥æ",index = 4,width = 6,dateFormat ="yyyy-MM-dd" ) @JsonFormat(pattern = "yyyy-MM-dd") private Date endDate; @ApiModelProperty(value = "å¼å§æ¶é´ç¹") @ExcelColumn(name="å¼å§æ¶é´ç¹") @ExcelColumn(name="å¼å§æ¶é´",index = 5,width = 6) private String startTime; @ApiModelProperty(value = "ç»ææ¶é´ç¹") @ExcelColumn(name="ç»ææ¶é´ç¹") @ExcelColumn(name="ç»ææ¶é´",index = 6,width = 6) private String endTime; @ApiModelProperty(value = "æ§è¡è¿åº¦ 0å¾ å¼å§ 1è¿è¡ä¸ 2è¶ æ 3已宿", example = "1") @ExcelColumn(name="æ§è¡è¿åº¦ 0å¾ å¼å§ 1è¿è¡ä¸ 2è¶ æ 3已宿") private Integer processStatus; @ApiModelProperty(value = "å建人åç§°") @TableField(exist = false) private String createUserName; @ApiModelProperty(value = "è´è´£äººåç§°") @ExcelColumn(name="è´è´£äºº",index = 2,width = 6) @TableField(exist = false) private String userName; @ApiModelProperty(value = "æ§è¡ç»æï¼0=å¾ å¼å§;1=è¿è¡ä¸;2=å·²ç»æ") @ExcelColumn(name="æ§è¡ç»æ",index = 7,width = 6,valueMapping = "0=å¾ å¼å§;1=è¿è¡ä¸;2=å·²ç»æ") @TableField(exist = false) private Integer schemeStatus; @ApiModelProperty(value = "è¶ æä»»å¡æ°") @TableField(exist = false) @ExcelColumn(name="è¶ æä»»å¡æ°",index = 8,width = 6) private Integer timeOutTaskNum; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTask.java
@@ -1,5 +1,6 @@ package com.doumee.dao.business.model; import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.core.model.LoginUserModel; import io.swagger.annotations.ApiModel; @@ -23,84 +24,92 @@ @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="å建æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date createDate; @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") @ExcelColumn(name="æ´æ°äººç¼ç ") private Integer editor; @ApiModelProperty(value = "æ´æ°æ¶é´") @ExcelColumn(name="æ´æ°æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date editDate; @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯") private Integer isdeleted; @ApiModelProperty(value = "æ é¢") @ExcelColumn(name="æ é¢") private String title; @ApiModelProperty(value = "ä»»å¡ç¼ç ") @ExcelColumn(name="ä»»å¡ç¼å·",index = 2,width = 6) private String code; @ApiModelProperty(value = "夿³¨") @ExcelColumn(name="夿³¨") private String remark; @ApiModelProperty(value = "ç¶æ 0å¾ å¼å§ 1è¿è¡ä¸ 2å·²è¶ æ 3已宿 4已忶", example = "1") @ExcelColumn(name="ç¶æ 0å¾ å¼å§ 1è¿è¡ä¸ 2å·²è¶ æ 3已宿 4已忶") @ExcelColumn(name="æ§è¡ç»æ",index = 7,width = 6,valueMapping = "0=å¾ å¼å§;1=è¿è¡ä¸;2=å·²è¶ æ;3=已宿;") private Integer status; @ApiModelProperty(value = "æåºç ", example = "1") @ExcelColumn(name="æåºç ") private Integer sortnum; @ApiModelProperty(value = "å·¡æ£è®¡åç¼ç (å ³èyw_patrol_scheme)", example = "1") @ExcelColumn(name="å·¡æ£è®¡åç¼ç (å ³èyw_patrol_scheme)") private Integer schemeId; @ApiModelProperty(value = "å·¡æ£ç¹ç¼ç (å ³èyw_patrol_point)", example = "1") @ExcelColumn(name="å·¡æ£ç¹ç¼ç (å ³èyw_patrol_point)") private Integer pointId; @ApiModelProperty(value = "å¤ç人ç¼ç (å ³èsystem_user)", example = "1") @ExcelColumn(name="å¤ç人ç¼ç (å ³èsystem_user)") private Integer dealUserId; @ApiModelProperty(value = "å¤çæ¶é´") @ExcelColumn(name="å¤çæ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") @ExcelColumn(name="å®é 宿æ¶é´",index = 5,width = 10,dateFormat = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date dealDate; @ApiModelProperty(value = "å¤ç夿³¨") @ExcelColumn(name="å¤ç夿³¨") private String dealInfo; @ApiModelProperty(value = "循ç¯å¨æ 0æ¯å¤© 1æ¯å¨ 2æ¯å¤©", example = "1") @ExcelColumn(name="循ç¯å¨æ 0æ¯å¤© 1æ¯å¨ 2æ¯å¤©") private Integer circleType; @ApiModelProperty(value = "å¼å§æ¥æ") @ExcelColumn(name="å¼å§æ¥æ") @JsonFormat(pattern = "yyyy-MM-dd") @ExcelColumn(name="å¼å§æ¥æ",index = 3,width = 10,dateFormat = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date startDate; @ApiModelProperty(value = "ç»ææ¥æ") @ExcelColumn(name="ç»ææ¥æ") @JsonFormat(pattern = "yyyy-MM-dd") @ExcelColumn(name="ç»ææ¥æ",index = 4,width = 10,dateFormat = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endDate; @ApiModelProperty(value = "å·¡æ£ç»æ 0æ£å¸¸ 1å¼å¸¸", example = "1") @ExcelColumn(name="å·¡æ£ç»æ 0æ£å¸¸ 1å¼å¸¸") private Integer dealStatus; @ApiModelProperty(value = "è®¡åæ é¢") @ExcelColumn(name="计ååç§°",index = 0,width = 6) @TableField(exist = false) private String planTitle; @ApiModelProperty(value = "æ§è¡äºº") @ExcelColumn(name="æ§è¡äºº",index = 6,width = 6) @TableField(exist = false) private String userName; @ApiModelProperty(value = "计åç¼å·") @ExcelColumn(name="计åç¼å·",index = 1,width = 6) @TableField(exist = false) private String planCode; @ApiModelProperty(value = "åºå·" , hidden = true) @TableField(exist = false) private Integer codeSn; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,97 @@ package com.doumee.dao.business.model; import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import java.util.Date; /** * è¿ç»´å·¡æ£ä»»å¡ - å·¡æ£ç¹ä¿¡æ¯è¡¨ * @author æ±è¹è¹ * @date 2024/11/21 18:11 */ @Data @ApiModel("è¿ç»´å·¡æ£ä»»å¡ - å·¡æ£ç¹ä¿¡æ¯è¡¨") @TableName("`yw_patrol_task_record`") public class YwPatrolTaskRecord { @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="å建æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date createDate; @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") @ExcelColumn(name="æ´æ°äººç¼ç ") private Integer editor; @ApiModelProperty(value = "æ´æ°æ¶é´") @ExcelColumn(name="æ´æ°æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") 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_patrol_scheme)", example = "1") @ExcelColumn(name="å·¡æ£è®¡åç¼ç (å ³èyw_patrol_scheme)") private Integer schemeId; @ApiModelProperty(value = "å·¡æ£ä»»å¡ç¼ç (å ³èyw_patrol_task)", example = "1") @ExcelColumn(name="å·¡æ£ä»»å¡ç¼ç (å ³èyw_patrol_task)") private Integer taskId; @ApiModelProperty(value = "å·¡æ£ç¹ç¼ç (å ³èyw_patrol_point)", example = "1") @ExcelColumn(name="å·¡æ£ç¹ç¼ç (å ³èyw_patrol_point)") private Integer pointId; @ApiModelProperty(value = "æåºç ", example = "1") @ExcelColumn(name="æåºç ") private Integer sortnum; @ApiModelProperty(value = "å¤ç人ç¼ç (å ³èsystem_user)", example = "1") @ExcelColumn(name="å¤ç人ç¼ç (å ³èsystem_user)") private Integer dealUserId; @ApiModelProperty(value = "å¤çæ¶é´") @ExcelColumn(name="å¤çæ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date dealDate; @ApiModelProperty(value = "æ¯å¦å·¡æ£ 0=å¾ å¼å§ï¼1=已巡æ£ï¼", example = "1") @ExcelColumn(name="æ¯å¦å·¡æ£ 0=å¾ å¼å§ï¼1=已巡æ£") private Integer status; @ApiModelProperty(value = "å·¡æ£ç»æ 0=æ£å¸¸ï¼1=å¼å¸¸", example = "1") @ExcelColumn(name="å·¡æ£ç»æ 0=æ£å¸¸ï¼1=å¼å¸¸") private Integer dealStatus; @ApiModelProperty(value = "å¤ç夿³¨") @ExcelColumn(name="å¤ç夿³¨") private String dealInfo; @ApiModelProperty(value = "å·¡æ£ç¹åç§°") @TableField(exist = false) private String pointName; } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolSchemeService.java
@@ -95,4 +95,10 @@ * @return long */ long count(YwPatrolScheme ywPatrolScheme); /** * ç¦å¯ç¨ * @param ywPatrolScheme */ void updateStatus(YwPatrolScheme ywPatrolScheme); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolTaskRecordService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,97 @@ package com.doumee.service.business; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.model.YwPatrolTaskRecord; import java.util.List; /** * è¿ç»´å·¡æ£ä»»å¡ - å·¡æ£ç¹ä¿¡æ¯è¡¨Serviceå®ä¹ * @author æ±è¹è¹ * @date 2024/11/21 18:11 */ public interface YwPatrolTaskRecordService { /** * å建 * * @param ywPatrolTaskRecord å®ä½å¯¹è±¡ * @return Integer */ Integer create(YwPatrolTaskRecord ywPatrolTaskRecord); /** * 主é®å é¤ * * @param id ä¸»é® */ void deleteById(Integer id); /** * å é¤ * * @param ywPatrolTaskRecord å®ä½å¯¹è±¡ */ void delete(YwPatrolTaskRecord ywPatrolTaskRecord); /** * æ¹é主é®å é¤ * * @param ids 主é®é */ void deleteByIdInBatch(List<Integer> ids); /** * 䏻鮿´æ° * * @param ywPatrolTaskRecord å®ä½å¯¹è±¡ */ void updateById(YwPatrolTaskRecord ywPatrolTaskRecord); /** * æ¹é䏻鮿´æ° * * @param ywPatrolTaskRecords å®ä½é */ void updateByIdInBatch(List<YwPatrolTaskRecord> ywPatrolTaskRecords); /** * 䏻鮿¥è¯¢ * * @param id ä¸»é® * @return YwPatrolTaskRecord */ YwPatrolTaskRecord findById(Integer id); /** * æ¡ä»¶æ¥è¯¢åæ¡è®°å½ * * @param ywPatrolTaskRecord å®ä½å¯¹è±¡ * @return YwPatrolTaskRecord */ YwPatrolTaskRecord findOne(YwPatrolTaskRecord ywPatrolTaskRecord); /** * æ¡ä»¶æ¥è¯¢ * * @param ywPatrolTaskRecord å®ä½å¯¹è±¡ * @return List<YwPatrolTaskRecord> */ List<YwPatrolTaskRecord> findList(YwPatrolTaskRecord ywPatrolTaskRecord); /** * å页æ¥è¯¢ * * @param pageWrap å页对象 * @return PageData<YwPatrolTaskRecord> */ PageData<YwPatrolTaskRecord> findPage(PageWrap<YwPatrolTaskRecord> pageWrap); /** * æ¡ä»¶ç»è®¡ * * @param ywPatrolTaskRecord å®ä½å¯¹è±¡ * @return long */ long count(YwPatrolTaskRecord ywPatrolTaskRecord); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolTaskService.java
@@ -95,4 +95,6 @@ * @return long */ long count(YwPatrolTask ywPatrolTask); void taskCancel(Integer id, LoginUserInfo loginUserInfo); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
@@ -1,21 +1,35 @@ package com.doumee.service.business.impl; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; import com.doumee.core.utils.Week; import com.doumee.core.utils.redis.RedisUtil; import com.doumee.dao.business.YwLinePointMapper; import com.doumee.dao.business.YwPatrolSchemeMapper; import com.doumee.dao.business.model.YwPatrolScheme; import com.doumee.dao.business.YwPatrolTaskMapper; import com.doumee.dao.business.YwPatrolTaskRecordMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.YwPatrolSchemeService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.List; import java.util.*; import java.util.stream.Collectors; /** * è¿ç»´å·¡æ£è®¡åä¿¡æ¯è¡¨Serviceå®ç° @@ -27,12 +41,146 @@ @Autowired private YwPatrolSchemeMapper ywPatrolSchemeMapper; @Autowired private YwPatrolTaskMapper ywPatrolTaskMapper; @Autowired private YwLinePointMapper ywLinePointMapper; @Autowired private YwPatrolTaskRecordMapper ywPatrolTaskRecordMapper; @Autowired private RedisTemplate<String, Object> redisTemplate; @Override public Integer create(YwPatrolScheme ywPatrolScheme) { if(Objects.isNull(ywPatrolScheme) || StringUtils.isBlank(ywPatrolScheme.getTitle()) ||Objects.isNull(ywPatrolScheme.getLineId()) ||StringUtils.isBlank(ywPatrolScheme.getUserIds()) ||Objects.isNull(ywPatrolScheme.getStartDate()) ||Objects.isNull(ywPatrolScheme.getEndDate()) ||Objects.isNull(ywPatrolScheme.getCircleType()) ||StringUtils.isBlank(ywPatrolScheme.getStartTime()) ||StringUtils.isBlank(ywPatrolScheme.getEndTime()) || (!Constants.equalsInteger(ywPatrolScheme.getCircleType(),Constants.ZERO) &&StringUtils.isBlank(ywPatrolScheme.getCircleDays())) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } LoginUserInfo loginUserInfo = ywPatrolScheme.getLoginUserInfo(); ywPatrolScheme.setCreateDate(new Date()); ywPatrolScheme.setCreator(loginUserInfo.getId()); ywPatrolScheme.setIsdeleted(Constants.ZERO); ywPatrolScheme.setStatus(Constants.ZERO); ywPatrolScheme.setCode(this.getNextCode()); ywPatrolSchemeMapper.insert(ywPatrolScheme); this.createThreeDaysData(ywPatrolScheme,loginUserInfo); return ywPatrolScheme.getId(); } public synchronized String getNextCode(){ String prefix = "P"; Integer countNum = RedisUtil.getObject(redisTemplate,Constants.RedisKeys.PATROL_SCHEME_CODE_KEY,Integer.class); countNum = Constants.formatIntegerNum(countNum)+1; //æ´æ°ç¼å RedisUtil.addObject(redisTemplate,Constants.RedisKeys.PATROL_SCHEME_CODE_KEY,countNum); String nextIndex =Integer.toString( countNum ); return prefix + StringUtils.leftPad(nextIndex,4,"0"); } public void createThreeDaysData(YwPatrolScheme ywPatrolScheme,LoginUserInfo loginUserInfo){ //循ç¯çæä¸å¤©å çæ°æ® for (int i = 0; i < 3; i++) { Date schemeDate = DateUtil.getXDayAfterDate(new Date(),i); this.createTask(schemeDate,ywPatrolScheme,loginUserInfo); } } /** * æ ¹æ®æ¥æçæä»»å¡ * @param schemeDate * @param ywPatrolScheme */ public void createTask(Date schemeDate,YwPatrolScheme ywPatrolScheme,LoginUserInfo loginUserInfo){ if(ywPatrolScheme.getStartDate().getTime() > schemeDate.getTime() || ywPatrolScheme.getEndDate().getTime() < schemeDate.getTime() ){ return; } if(Constants.equalsInteger(ywPatrolScheme.getCircleType(),Constants.ONE)){ //æ¯å¨æ ¹æ®æ¥æçæ æ ¹æ®æ¥æè·åæ¯å¨å Week week = DateUtil.getWeek(schemeDate); if(Objects.isNull(week)){ return; } List<String> weeks = Arrays.asList(ywPatrolScheme.getCircleDays().split(",")); String weekStr = weeks.stream().filter(i->Constants.equalsInteger(Integer.valueOf(i),week.getNumber())).findFirst().get(); if(StringUtils.isBlank(weekStr)){ return; } }else{ //æ¯ææ ¹æ®æ¥æçæ æ ¹æ®æ¥æè·åæ¯åªå¤© List<String> days = Arrays.asList(ywPatrolScheme.getCircleDays().split(",")); String dayStr = DateUtil.getFomartDate(schemeDate,"dd"); if(Objects.isNull(days.stream().filter(i->StringUtils.equals(i,dayStr)).findFirst().get())){ return; }; } String schemeDateStr = DateUtil.getDate(schemeDate,"yyyy-MM-dd"); //æ¥è¯¢å½å¤©æ¯å¦çæè¿æ°æ® if(ywPatrolTaskMapper.selectCount(new QueryWrapper<YwPatrolTask>().lambda().eq(YwPatrolTask::getSchemeId,ywPatrolScheme.getId()).like(YwPatrolTask::getStartDate,schemeDateStr))>Constants.ZERO){ return; }; YwPatrolTask ywPatrolTaskForCodeSn = ywPatrolTaskMapper.selectOne(new MPJLambdaWrapper<YwPatrolTask>() .select(" ifnull( max(replace(code,'"+ywPatrolScheme.getCode()+"-','')),0) AS codeSn ") .eq(YwPatrolTask::getSchemeId,ywPatrolScheme.getId()) .orderByDesc( YwPatrolTask::getId) .last(" limit 1 ") ); Integer codeSn = ywPatrolTaskForCodeSn.getCodeSn(); List<YwLinePoint> ywLinePointList = ywLinePointMapper.selectList(new QueryWrapper<YwLinePoint>().lambda() .eq(YwLinePoint::getLineId,ywPatrolScheme.getLineId()) .eq(YwLinePoint::getIsdeleted,Constants.ZERO) .orderByAsc(YwLinePoint::getSortnum)); if(CollectionUtils.isEmpty(ywLinePointList)){ return; } codeSn = codeSn + 1; String nextCode = StringUtils.leftPad(codeSn.toString(),3,"0"); YwPatrolTask ywPatrolTask = new YwPatrolTask(); ywPatrolTask.setCreateDate(new Date()); ywPatrolTask.setCreator(loginUserInfo.getId()); ywPatrolTask.setIsdeleted(Constants.ZERO); ywPatrolTask.setStatus(Constants.patrolTaskStatus.waitStart); ywPatrolTask.setSchemeId(ywPatrolScheme.getId()); ywPatrolTask.setCircleType(ywPatrolScheme.getCircleType()); ywPatrolTask.setStartDate(DateUtil.getDateFromString(schemeDateStr +" "+ ywPatrolScheme.getStartTime() +":00")); ywPatrolTask.setEndDate(DateUtil.getDateFromString(schemeDateStr +" "+ ywPatrolScheme.getEndTime() +":00")); ywPatrolTask.setDealUserId(ywPatrolScheme.getDealUserId()); ywPatrolTask.setCode(ywPatrolScheme.getCode() + "-" + nextCode); ywPatrolTaskMapper.insert(ywPatrolTask); List<YwPatrolTaskRecord> ywPatrolTaskRecordList = new ArrayList<>(); for (int i = 0; i < ywLinePointList.size(); i++) { YwLinePoint ywLinePoint = ywLinePointList.get(i); //çæä»»å¡æ°æ® YwPatrolTaskRecord ywPatrolTaskRecord = new YwPatrolTaskRecord(); ywPatrolTaskRecord.setCreateDate(new Date()); ywPatrolTaskRecord.setCreator(loginUserInfo.getId()); ywPatrolTaskRecord.setIsdeleted(Constants.ZERO); ywPatrolTaskRecord.setStatus(Constants.ZERO); ywPatrolTaskRecord.setSchemeId(ywPatrolScheme.getId()); ywPatrolTaskRecord.setPointId(ywLinePoint.getPointId()); ywPatrolTaskRecord.setTaskId(ywPatrolTask.getId()); ywPatrolTaskRecord.setDealUserId(ywPatrolScheme.getDealUserId()); ywPatrolTaskRecord.setSortnum(i+1); ywPatrolTaskRecordList.add(ywPatrolTaskRecord); } ywPatrolTaskRecordMapper.insert(ywPatrolTaskRecordList); } @Override public void deleteById(Integer id, LoginUserInfo user) { @@ -55,7 +203,42 @@ @Override public void updateById(YwPatrolScheme ywPatrolScheme) { if(Objects.isNull(ywPatrolScheme) || Objects.isNull(ywPatrolScheme.getId()) || StringUtils.isBlank(ywPatrolScheme.getTitle()) ||Objects.isNull(ywPatrolScheme.getLineId()) ||StringUtils.isBlank(ywPatrolScheme.getUserIds()) ||Objects.isNull(ywPatrolScheme.getStartDate()) ||Objects.isNull(ywPatrolScheme.getEndDate()) ||Objects.isNull(ywPatrolScheme.getCircleType()) ||StringUtils.isBlank(ywPatrolScheme.getStartTime()) ||StringUtils.isBlank(ywPatrolScheme.getEndTime()) || (!Constants.equalsInteger(ywPatrolScheme.getCircleType(),Constants.ZERO) &&StringUtils.isBlank(ywPatrolScheme.getCircleDays())) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } LoginUserInfo loginUserInfo = ywPatrolScheme.getLoginUserInfo(); ywPatrolScheme.setEditDate(new Date()); ywPatrolScheme.setEditor(loginUserInfo.getId()); ywPatrolSchemeMapper.updateById(ywPatrolScheme); } @Override public void updateStatus(YwPatrolScheme ywPatrolScheme) { if(Objects.isNull(ywPatrolScheme) || Objects.isNull(ywPatrolScheme.getId()) || Objects.isNull(ywPatrolScheme.getStatus()) || !(Constants.equalsInteger(ywPatrolScheme.getStatus(),Constants.ZERO) || Constants.equalsInteger(ywPatrolScheme.getStatus(),Constants.ONE )) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } LoginUserInfo loginUserInfo = ywPatrolScheme.getLoginUserInfo(); ywPatrolScheme.setEditDate(new Date()); ywPatrolScheme.setEditor(loginUserInfo.getId()); ywPatrolSchemeMapper.updateById(ywPatrolScheme); if(Constants.equalsInteger(ywPatrolScheme.getStatus(),Constants.ZERO)){ this.createThreeDaysData(ywPatrolScheme,loginUserInfo); } } @Override @@ -88,92 +271,73 @@ @Override public PageData<YwPatrolScheme> findPage(PageWrap<YwPatrolScheme> pageWrap) { IPage<YwPatrolScheme> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); QueryWrapper<YwPatrolScheme> queryWrapper = new QueryWrapper<>(); MPJLambdaWrapper<YwPatrolScheme> queryWrapper = new MPJLambdaWrapper<YwPatrolScheme>(); Utils.MP.blankToNull(pageWrap.getModel()); if (pageWrap.getModel().getId() != null) { queryWrapper.lambda().eq(YwPatrolScheme::getId, pageWrap.getModel().getId()); YwPatrolScheme model = pageWrap.getModel(); queryWrapper.selectAll(YwPatrolScheme.class) .select(" t2.realName as createUserName ") .select(" t1.realName as userName ") .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolScheme::getUserIds) .leftJoin(" system_user t2 on t.creator = t2.id ") .eq(YwPatrolScheme::getIsdeleted,Constants.ZERO) .like(StringUtils.isNotBlank(model.getTitle()),YwPatrolScheme::getTitle,model.getTitle()) .ge(Objects.nonNull(model.getStartDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartDate())) .le(Objects.nonNull(model.getEndDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getEndDate())) .orderByDesc(YwPatrolScheme::getCreateDate) ; IPage<YwPatrolScheme> iPage = ywPatrolSchemeMapper.selectJoinPage(page,YwPatrolScheme.class,queryWrapper); for (YwPatrolScheme ywPatrolScheme:iPage.getRecords()) { this.getSchemeStatus(ywPatrolScheme); } if (pageWrap.getModel().getCreator() != null) { queryWrapper.lambda().eq(YwPatrolScheme::getCreator, pageWrap.getModel().getCreator()); return PageData.from(iPage); } if (pageWrap.getModel().getCreateDate() != null) { queryWrapper.lambda().ge(YwPatrolScheme::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); queryWrapper.lambda().le(YwPatrolScheme::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); //è·åç¶æ public void getSchemeStatus(YwPatrolScheme ywPatrolScheme){ List<YwPatrolTask> ywPatrolTaskList = ywPatrolTaskMapper.selectList(new QueryWrapper<YwPatrolTask>().lambda() .eq(YwPatrolTask::getSchemeId,ywPatrolScheme.getId()) .eq(YwPatrolTask::getIsdeleted,Constants.ZERO) .ne(YwPatrolTask::getStatus,Constants.FOUR) ); if(CollectionUtils.isEmpty(ywPatrolTaskList)){ ywPatrolScheme.setSchemeStatus(Constants.ZERO); ywPatrolScheme.setTimeOutTaskNum(Constants.ZERO); return; } if (pageWrap.getModel().getEditor() != null) { queryWrapper.lambda().eq(YwPatrolScheme::getEditor, pageWrap.getModel().getEditor()); //è¿æ»¤æ°æ®æ¯å¦åå¨è¿è¡ä¸ç if(ywPatrolTaskList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ONE)).collect(Collectors.toList()).size()>Constants.ZERO){ ywPatrolScheme.setSchemeStatus(Constants.ONE); ywPatrolScheme.setTimeOutTaskNum(ywPatrolTaskList.stream().filter(i->i.getEndDate().getTime()>System.currentTimeMillis()) .collect(Collectors.toList()).size()); return; } if (pageWrap.getModel().getEditDate() != null) { queryWrapper.lambda().ge(YwPatrolScheme::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); queryWrapper.lambda().le(YwPatrolScheme::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); //è¿æ»¤æ°æ®æ¯ä¸æ¯å ¨é¨æªå¼å§ if(Constants.equalsInteger(ywPatrolTaskList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ZERO)).collect(Collectors.toList()).size(),ywPatrolTaskList.size())){ ywPatrolScheme.setSchemeStatus(Constants.ZERO); ywPatrolScheme.setTimeOutTaskNum(ywPatrolTaskList.stream().filter(i->i.getEndDate().getTime()>System.currentTimeMillis()) .collect(Collectors.toList()).size()); return; } if (pageWrap.getModel().getIsdeleted() != null) { queryWrapper.lambda().eq(YwPatrolScheme::getIsdeleted, pageWrap.getModel().getIsdeleted()); } if (pageWrap.getModel().getTitle() != null) { queryWrapper.lambda().eq(YwPatrolScheme::getTitle, pageWrap.getModel().getTitle()); } if (pageWrap.getModel().getRemark() != null) { queryWrapper.lambda().eq(YwPatrolScheme::getRemark, pageWrap.getModel().getRemark()); } if (pageWrap.getModel().getStatus() != null) { queryWrapper.lambda().eq(YwPatrolScheme::getStatus, pageWrap.getModel().getStatus()); } if (pageWrap.getModel().getSortnum() != null) { queryWrapper.lambda().eq(YwPatrolScheme::getSortnum, pageWrap.getModel().getSortnum()); } if (pageWrap.getModel().getLineId() != null) { queryWrapper.lambda().eq(YwPatrolScheme::getLineId, pageWrap.getModel().getLineId()); } if (pageWrap.getModel().getUserIds() != null) { queryWrapper.lambda().eq(YwPatrolScheme::getUserIds, pageWrap.getModel().getUserIds()); } if (pageWrap.getModel().getDealUserId() != null) { queryWrapper.lambda().eq(YwPatrolScheme::getDealUserId, pageWrap.getModel().getDealUserId()); } if (pageWrap.getModel().getDealDate() != null) { queryWrapper.lambda().ge(YwPatrolScheme::getDealDate, Utils.Date.getStart(pageWrap.getModel().getDealDate())); queryWrapper.lambda().le(YwPatrolScheme::getDealDate, Utils.Date.getEnd(pageWrap.getModel().getDealDate())); } if (pageWrap.getModel().getDealInfo() != null) { queryWrapper.lambda().eq(YwPatrolScheme::getDealInfo, pageWrap.getModel().getDealInfo()); } if (pageWrap.getModel().getCircleType() != null) { queryWrapper.lambda().eq(YwPatrolScheme::getCircleType, pageWrap.getModel().getCircleType()); } if (pageWrap.getModel().getCircleDays() != null) { queryWrapper.lambda().eq(YwPatrolScheme::getCircleDays, pageWrap.getModel().getCircleDays()); } if (pageWrap.getModel().getStartDate() != null) { queryWrapper.lambda().ge(YwPatrolScheme::getStartDate, Utils.Date.getStart(pageWrap.getModel().getStartDate())); queryWrapper.lambda().le(YwPatrolScheme::getStartDate, Utils.Date.getEnd(pageWrap.getModel().getStartDate())); } if (pageWrap.getModel().getEndDate() != null) { queryWrapper.lambda().ge(YwPatrolScheme::getEndDate, Utils.Date.getStart(pageWrap.getModel().getEndDate())); queryWrapper.lambda().le(YwPatrolScheme::getEndDate, Utils.Date.getEnd(pageWrap.getModel().getEndDate())); } if (pageWrap.getModel().getStartTime() != null) { queryWrapper.lambda().eq(YwPatrolScheme::getStartTime, pageWrap.getModel().getStartTime()); } if (pageWrap.getModel().getEndTime() != null) { queryWrapper.lambda().eq(YwPatrolScheme::getEndTime, pageWrap.getModel().getEndTime()); } if (pageWrap.getModel().getProcessStatus() != null) { queryWrapper.lambda().eq(YwPatrolScheme::getProcessStatus, pageWrap.getModel().getProcessStatus()); } for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { queryWrapper.orderByDesc(sortData.getProperty()); } else { queryWrapper.orderByAsc(sortData.getProperty()); //è¿æ»¤æ°æ®æ¯ä¸æ¯å ¨é¨å·²å®æ if(Constants.equalsInteger(ywPatrolTaskList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.THREE)).collect(Collectors.toList()).size() ,ywPatrolTaskList.size())){ ywPatrolScheme.setSchemeStatus(Constants.TWO); return; } } return PageData.from(ywPatrolSchemeMapper.selectPage(page, queryWrapper)); } @Override public long count(YwPatrolScheme ywPatrolScheme) { QueryWrapper<YwPatrolScheme> wrapper = new QueryWrapper<>(ywPatrolScheme); return ywPatrolSchemeMapper.selectCount(wrapper); } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,119 @@ package com.doumee.service.business.impl; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.business.YwPatrolTaskRecordMapper; import com.doumee.dao.business.model.YwDeviceRecord; import com.doumee.dao.business.model.YwPatrolPoint; import com.doumee.dao.business.model.YwPatrolScheme; import com.doumee.dao.business.model.YwPatrolTaskRecord; import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.YwPatrolTaskRecordService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.List; import java.util.Objects; /** * è¿ç»´å·¡æ£ä»»å¡ - å·¡æ£ç¹ä¿¡æ¯è¡¨Serviceå®ç° * @author æ±è¹è¹ * @date 2024/11/21 18:11 */ @Service public class YwPatrolTaskRecordServiceImpl implements YwPatrolTaskRecordService { @Autowired private YwPatrolTaskRecordMapper ywPatrolTaskRecordMapper; @Override public Integer create(YwPatrolTaskRecord ywPatrolTaskRecord) { ywPatrolTaskRecordMapper.insert(ywPatrolTaskRecord); return ywPatrolTaskRecord.getId(); } @Override public void deleteById(Integer id) { ywPatrolTaskRecordMapper.deleteById(id); } @Override public void delete(YwPatrolTaskRecord ywPatrolTaskRecord) { UpdateWrapper<YwPatrolTaskRecord> deleteWrapper = new UpdateWrapper<>(ywPatrolTaskRecord); ywPatrolTaskRecordMapper.delete(deleteWrapper); } @Override public void deleteByIdInBatch(List<Integer> ids) { if (CollectionUtils.isEmpty(ids)) { return; } ywPatrolTaskRecordMapper.deleteBatchIds(ids); } @Override public void updateById(YwPatrolTaskRecord ywPatrolTaskRecord) { ywPatrolTaskRecordMapper.updateById(ywPatrolTaskRecord); } @Override public void updateByIdInBatch(List<YwPatrolTaskRecord> ywPatrolTaskRecords) { if (CollectionUtils.isEmpty(ywPatrolTaskRecords)) { return; } for (YwPatrolTaskRecord ywPatrolTaskRecord: ywPatrolTaskRecords) { this.updateById(ywPatrolTaskRecord); } } @Override public YwPatrolTaskRecord findById(Integer id) { return ywPatrolTaskRecordMapper.selectById(id); } @Override public YwPatrolTaskRecord findOne(YwPatrolTaskRecord ywPatrolTaskRecord) { QueryWrapper<YwPatrolTaskRecord> wrapper = new QueryWrapper<>(ywPatrolTaskRecord); return ywPatrolTaskRecordMapper.selectOne(wrapper); } @Override public List<YwPatrolTaskRecord> findList(YwPatrolTaskRecord ywPatrolTaskRecord) { QueryWrapper<YwPatrolTaskRecord> wrapper = new QueryWrapper<>(ywPatrolTaskRecord); return ywPatrolTaskRecordMapper.selectList(wrapper); } @Override public PageData<YwPatrolTaskRecord> findPage(PageWrap<YwPatrolTaskRecord> pageWrap) { IPage<YwPatrolTaskRecord> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); MPJLambdaWrapper<YwPatrolTaskRecord> queryWrapper = new MPJLambdaWrapper<YwPatrolTaskRecord>(); Utils.MP.blankToNull(pageWrap.getModel()); YwPatrolTaskRecord model = pageWrap.getModel(); queryWrapper.selectAll(YwPatrolTaskRecord.class) .selectAs(YwPatrolPoint::getName,YwPatrolTaskRecord::getPointName) .leftJoin(YwPatrolPoint.class,YwPatrolPoint::getId,YwPatrolTaskRecord::getPointId) .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTaskRecord::getDealUserId) .eq(YwPatrolScheme::getIsdeleted, Constants.ZERO) .like(StringUtils.isNotBlank(model.getPointName()),YwPatrolPoint::getName,model.getPointName()) .eq(Objects.nonNull(model) && Objects.nonNull(model.getStatus()) , YwPatrolTaskRecord::getStatus,model.getStatus()) .orderByDesc(YwPatrolScheme::getCreateDate) ; IPage<YwPatrolTaskRecord> iPage = ywPatrolTaskRecordMapper.selectJoinPage(page,YwPatrolTaskRecord.class,queryWrapper); return PageData.from(iPage); } @Override public long count(YwPatrolTaskRecord ywPatrolTaskRecord) { QueryWrapper<YwPatrolTaskRecord> wrapper = new QueryWrapper<>(ywPatrolTaskRecord); return ywPatrolTaskRecordMapper.selectCount(wrapper); } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java
@@ -1,21 +1,32 @@ package com.doumee.service.business.impl; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.business.YwPatrolTaskMapper; import com.doumee.dao.business.model.YwDeviceRecord; import com.doumee.dao.business.model.YwPatrolScheme; import com.doumee.dao.business.model.YwPatrolTask; import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.YwPatrolTaskService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.wrapper.MPJLambdaWrapper; import lombok.extern.java.Log; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.Date; import java.util.List; import java.util.Objects; /** * è¿ç»´å·¡æ£ä»»å¡ä¿¡æ¯è¡¨Serviceå®ç° @@ -85,81 +96,44 @@ return ywPatrolTaskMapper.selectList(wrapper); } @Override public void taskCancel(Integer id, LoginUserInfo loginUserInfo) { YwPatrolTask ywPatrolTask = ywPatrolTaskMapper.selectById(id); if(Objects.isNull(ywPatrolTask)){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } if(!Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.ZERO)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"ç¶æå·²æµè½¬"); } ywPatrolTask.setStatus(Constants.FOUR); ywPatrolTask.setEditDate(new Date()); ywPatrolTask.setEditor(loginUserInfo.getId()); ywPatrolTaskMapper.updateById(ywPatrolTask); } @Override public PageData<YwPatrolTask> findPage(PageWrap<YwPatrolTask> pageWrap) { IPage<YwPatrolTask> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); QueryWrapper<YwPatrolTask> queryWrapper = new QueryWrapper<>(); MPJLambdaWrapper<YwPatrolTask> queryWrapper = new MPJLambdaWrapper<YwPatrolTask>(); Utils.MP.blankToNull(pageWrap.getModel()); if (pageWrap.getModel().getId() != null) { queryWrapper.lambda().eq(YwPatrolTask::getId, pageWrap.getModel().getId()); } if (pageWrap.getModel().getCreator() != null) { queryWrapper.lambda().eq(YwPatrolTask::getCreator, pageWrap.getModel().getCreator()); } if (pageWrap.getModel().getCreateDate() != null) { queryWrapper.lambda().ge(YwPatrolTask::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); queryWrapper.lambda().le(YwPatrolTask::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); } if (pageWrap.getModel().getEditor() != null) { queryWrapper.lambda().eq(YwPatrolTask::getEditor, pageWrap.getModel().getEditor()); } if (pageWrap.getModel().getEditDate() != null) { queryWrapper.lambda().ge(YwPatrolTask::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); queryWrapper.lambda().le(YwPatrolTask::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); } if (pageWrap.getModel().getIsdeleted() != null) { queryWrapper.lambda().eq(YwPatrolTask::getIsdeleted, pageWrap.getModel().getIsdeleted()); } if (pageWrap.getModel().getTitle() != null) { queryWrapper.lambda().eq(YwPatrolTask::getTitle, pageWrap.getModel().getTitle()); } if (pageWrap.getModel().getRemark() != null) { queryWrapper.lambda().eq(YwPatrolTask::getRemark, pageWrap.getModel().getRemark()); } if (pageWrap.getModel().getStatus() != null) { queryWrapper.lambda().eq(YwPatrolTask::getStatus, pageWrap.getModel().getStatus()); } if (pageWrap.getModel().getSortnum() != null) { queryWrapper.lambda().eq(YwPatrolTask::getSortnum, pageWrap.getModel().getSortnum()); } if (pageWrap.getModel().getSchemeId() != null) { queryWrapper.lambda().eq(YwPatrolTask::getSchemeId, pageWrap.getModel().getSchemeId()); } if (pageWrap.getModel().getPointId() != null) { queryWrapper.lambda().eq(YwPatrolTask::getPointId, pageWrap.getModel().getPointId()); } if (pageWrap.getModel().getDealUserId() != null) { queryWrapper.lambda().eq(YwPatrolTask::getDealUserId, pageWrap.getModel().getDealUserId()); } if (pageWrap.getModel().getDealDate() != null) { queryWrapper.lambda().ge(YwPatrolTask::getDealDate, Utils.Date.getStart(pageWrap.getModel().getDealDate())); queryWrapper.lambda().le(YwPatrolTask::getDealDate, Utils.Date.getEnd(pageWrap.getModel().getDealDate())); } if (pageWrap.getModel().getDealInfo() != null) { queryWrapper.lambda().eq(YwPatrolTask::getDealInfo, pageWrap.getModel().getDealInfo()); } if (pageWrap.getModel().getCircleType() != null) { queryWrapper.lambda().eq(YwPatrolTask::getCircleType, pageWrap.getModel().getCircleType()); } if (pageWrap.getModel().getStartDate() != null) { queryWrapper.lambda().ge(YwPatrolTask::getStartDate, Utils.Date.getStart(pageWrap.getModel().getStartDate())); queryWrapper.lambda().le(YwPatrolTask::getStartDate, Utils.Date.getEnd(pageWrap.getModel().getStartDate())); } if (pageWrap.getModel().getEndDate() != null) { queryWrapper.lambda().ge(YwPatrolTask::getEndDate, Utils.Date.getStart(pageWrap.getModel().getEndDate())); queryWrapper.lambda().le(YwPatrolTask::getEndDate, Utils.Date.getEnd(pageWrap.getModel().getEndDate())); } if (pageWrap.getModel().getDealStatus() != null) { queryWrapper.lambda().eq(YwPatrolTask::getDealStatus, pageWrap.getModel().getDealStatus()); } for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { queryWrapper.orderByDesc(sortData.getProperty()); } else { queryWrapper.orderByAsc(sortData.getProperty()); } } return PageData.from(ywPatrolTaskMapper.selectPage(page, queryWrapper)); YwPatrolTask model = pageWrap.getModel(); queryWrapper.selectAll(YwPatrolTask.class) .selectAs(YwPatrolScheme::getCode,YwPatrolTask::getPlanCode) .selectAs(SystemUser::getRealname,YwPatrolTask::getUserName) .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTask::getDealUserId) .leftJoin(YwPatrolScheme.class,YwPatrolScheme::getId,YwPatrolTask::getSchemeId) .eq(YwPatrolTask::getIsdeleted, Constants.ZERO) .like(StringUtils.isNotBlank(model.getPlanTitle()),YwPatrolScheme::getTitle,model.getPlanTitle()) .ge(Objects.nonNull(model.getStartDate()), YwPatrolTask::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartDate())) .le(Objects.nonNull(model.getEndDate()),YwPatrolTask::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getEndDate())) .orderByDesc(YwPatrolTask::getId) ; IPage<YwPatrolTask> iPage = ywPatrolTaskMapper.selectJoinPage(page,YwPatrolTask.class,queryWrapper); return PageData.from(iPage); } @Override