From b4eb1b683886899c4914f2a97961144624c46c74 Mon Sep 17 00:00:00 2001
From: renkang <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 21 十一月 2024 18:36:02 +0800
Subject: [PATCH] 设备、巡检任务业务
---
server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 9
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolTaskRecordController.java | 92 +++++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java | 97 +++++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java | 119 ++++++
server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java | 19 +
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTask.java | 53 +-
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwPatrolSchemeMapper.java | 1
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolTaskCloudController.java | 20 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolTaskService.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java | 116 ++---
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwPatrolTaskRecordMapper.java | 13
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolSchemeService.java | 6
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java | 52 +-
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java | 326 +++++++++++++----
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolTaskRecordService.java | 97 +++++
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolSchemeCloudController.java | 9
16 files changed, 834 insertions(+), 197 deletions(-)
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index 201033d..9113018 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/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";
}
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
index a879505..be6a72a 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
+++ b/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();
+ }
+
+
+
/**
* 寰楀埌涓や釜鏃ユ湡涔嬮棿鐩稿樊鐨勫ぉ鏁�
*
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolSchemeCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolSchemeCloudController.java
index e80b4a0..eda122e 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolSchemeCloudController.java
+++ b/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")
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolTaskCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolTaskCloudController.java
index ce3ce3d..ad901bc 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolTaskCloudController.java
+++ b/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("鎿嶄綔鎴愬姛");
+ }
+
+
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolTaskRecordController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolTaskRecordController.java
new file mode 100644
index 0000000..1d09868
--- /dev/null
+++ b/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));
+ }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwPatrolSchemeMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwPatrolSchemeMapper.java
index fb0feae..2b8b1a5 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwPatrolSchemeMapper.java
+++ b/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;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwPatrolTaskRecordMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwPatrolTaskRecordMapper.java
new file mode 100644
index 0000000..17de015
--- /dev/null
+++ b/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> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java
index 07050d2..da2ec27 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java
+++ b/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;
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTask.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTask.java
index 2cbdfbc..e23677a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTask.java
+++ b/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姝e父 1寮傚父", example = "1")
- @ExcelColumn(name="宸℃缁撴灉 0姝e父 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;
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java
new file mode 100644
index 0000000..98c9dde
--- /dev/null
+++ b/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=姝e父锛�1=寮傚父", example = "1")
+ @ExcelColumn(name="宸℃缁撴灉 0=姝e父锛�1=寮傚父")
+ private Integer dealStatus;
+
+ @ApiModelProperty(value = "澶勭悊澶囨敞")
+ @ExcelColumn(name="澶勭悊澶囨敞")
+ private String dealInfo;
+
+
+ @ApiModelProperty(value = "宸℃鐐瑰悕绉�")
+ @TableField(exist = false)
+ private String pointName;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolSchemeService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolSchemeService.java
index b4134a8..413946d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolSchemeService.java
+++ b/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);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolTaskRecordService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolTaskRecordService.java
new file mode 100644
index 0000000..23b5444
--- /dev/null
+++ b/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);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolTaskService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolTaskService.java
index 7247607..a14111f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolTaskService.java
+++ b/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);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
index 5b4cd7b..1ddf1ad 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
+++ b/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;
/**
* 杩愮淮宸℃璁″垝淇℃伅琛⊿ervice瀹炵幇
@@ -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());
- }
- 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()));
- }
- if (pageWrap.getModel().getEditor() != null) {
- queryWrapper.lambda().eq(YwPatrolScheme::getEditor, pageWrap.getModel().getEditor());
- }
- 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 (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());
- }
- }
- return PageData.from(ywPatrolSchemeMapper.selectPage(page, queryWrapper));
+ return PageData.from(iPage);
}
+
+ //鑾峰彇鐘舵��
+ 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(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(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(Constants.equalsInteger(ywPatrolTaskList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.THREE)).collect(Collectors.toList()).size()
+ ,ywPatrolTaskList.size())){
+ ywPatrolScheme.setSchemeStatus(Constants.TWO);
+ return;
+ }
+ }
+
+
+
@Override
public long count(YwPatrolScheme ywPatrolScheme) {
QueryWrapper<YwPatrolScheme> wrapper = new QueryWrapper<>(ywPatrolScheme);
return ywPatrolSchemeMapper.selectCount(wrapper);
}
+
+
+
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java
new file mode 100644
index 0000000..85bfb6a
--- /dev/null
+++ b/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);
+ }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java
index 556a5b5..3bfe5a0 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java
+++ b/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;
/**
* 杩愮淮宸℃浠诲姟淇℃伅琛⊿ervice瀹炵幇
@@ -84,82 +95,45 @@
QueryWrapper<YwPatrolTask> wrapper = new QueryWrapper<>(ywPatrolTask);
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
--
Gitblit v1.9.3