From d3767d594de66cb5f9d1294931acefea1866f783 Mon Sep 17 00:00:00 2001
From: renkang <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 24 一月 2025 18:24:25 +0800
Subject: [PATCH] 客户资料 巡检任务业务
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java | 175 ++++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 145 insertions(+), 30 deletions(-)
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
index f463fe7..d556571 100644
--- 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
@@ -12,7 +12,9 @@
import com.doumee.dao.business.*;
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.MultifileMapper;
+import com.doumee.dao.system.join.NoticesJoinMapper;
import com.doumee.dao.system.model.Multifile;
+import com.doumee.dao.system.model.Notices;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.YwPatrolTaskRecordService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -56,6 +58,11 @@
@Autowired
private YwPatrolTaskMapper ywPatrolTaskMapper;
+ @Autowired
+ private YwPatrolSchemeMapper ywPatrolSchemeMapper;
+
+ @Autowired
+ private NoticesJoinMapper noticesJoinMapper;
@Override
@@ -125,17 +132,52 @@
.selectAs(YwPatrolPoint::getName,YwPatrolTaskRecord::getPointName)
.selectAs(YwPatrolPoint::getContent,YwPatrolTaskRecord::getContent)
.selectAs(SystemUser::getRealname,YwPatrolTaskRecord::getRealname)
+
+ .selectAs(YwPatrolScheme::getTitle,YwPatrolTaskRecord::getSchemeTitle)
+ .selectAs(YwPatrolTask::getTitle,YwPatrolTaskRecord::getTaskCode)
+ .selectAs(YwPatrolTask::getStartDate,YwPatrolTaskRecord::getStartDate)
+ .selectAs(YwPatrolTask::getEndDate,YwPatrolTaskRecord::getEndDate)
+
.leftJoin(YwPatrolPoint.class,YwPatrolPoint::getId,YwPatrolTaskRecord::getPointId)
.leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTaskRecord::getDealUserId)
+ .leftJoin(YwPatrolTask.class,YwPatrolTask::getId,YwPatrolTaskRecord::getTaskId)
+ .leftJoin(YwPatrolScheme.class,YwPatrolScheme::getId,YwPatrolTask::getSchemeId)
.eq(YwPatrolScheme::getIsdeleted, Constants.ZERO)
.eq(Objects.nonNull(model) && Objects.nonNull(model.getTaskId()),YwPatrolTaskRecord::getTaskId, model.getTaskId())
.eq(Objects.nonNull(model) && Objects.nonNull(model.getDealUserId()),YwPatrolTaskRecord::getDealUserId, model.getDealUserId())
.like(StringUtils.isNotBlank(model.getPointName()),YwPatrolPoint::getName,model.getPointName())
.eq(Objects.nonNull(model) && Objects.nonNull(model.getStatus()) , YwPatrolTaskRecord::getStatus,model.getStatus())
+ .eq(Objects.nonNull(model) && Objects.nonNull(model.getDeviceId()) , YwPatrolPoint::getDeviceId,model.getDeviceId())
.orderByDesc(YwPatrolScheme::getCreateDate)
;
IPage<YwPatrolTaskRecord> iPage = ywPatrolTaskRecordMapper.selectJoinPage(page,YwPatrolTaskRecord.class,queryWrapper);
+ if(iPage!=null && iPage.getRecords()!=null){
+ for(YwPatrolTaskRecord m : iPage.getRecords()){
+ getFileListByModel(m);
+ }
+ }
return PageData.from(iPage);
+ }
+
+ private void getFileListByModel(YwPatrolTaskRecord ywPatrolTaskRecord) {
+ //闄勪欢鏁版嵁
+ List<Multifile> multifileList = multifileMapper.selectJoinList(Multifile.class,new MPJLambdaWrapper<Multifile>()
+ .selectAll(Multifile.class)
+ .selectAs(SystemUser::getRealname,Multifile::getUserName)
+ .leftJoin(SystemUser.class,SystemUser::getId,Multifile::getCreator)
+ .eq(Multifile::getObjId,ywPatrolTaskRecord.getId())
+ .eq(Multifile::getIsdeleted,Constants.ZERO)
+ .eq(Multifile::getObjType,Constants.MultiFile.FN_PATROL_TASK_RECORD_FILE.getKey()));
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
+ String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+ +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_PATROL).getCode();
+ for (Multifile multifile:multifileList) {
+ if(StringUtils.isNotBlank(multifile.getFileurl())){
+ multifile.setFileurlFull(path + multifile.getFileurl());
+ }
+ }
+ ywPatrolTaskRecord.setMultifileList(multifileList);
+ }
}
@Override
@@ -149,7 +191,8 @@
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
public void patrolData(YwPatrolTaskRecord ywPatrolTaskRecord) {
if(Objects.isNull(ywPatrolTaskRecord)
- || Objects.isNull(ywPatrolTaskRecord.getId())
+ || Objects.isNull(ywPatrolTaskRecord.getId())
+ || Objects.isNull(ywPatrolTaskRecord.getDealStatus())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
@@ -161,13 +204,17 @@
if(!Constants.equalsInteger(model.getStatus(),Constants.ZERO)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�佸凡娴佽浆");
}
+
YwPatrolPoint ywPatrolPoint = ywPatrolPointMapper.selectById(model.getPointId());
if(Objects.isNull(ywPatrolPoint)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
- YwDevice ywDevice = ywDeviceMapper.selectById(ywPatrolPoint.getDeviceId());
- if(Objects.isNull(ywDevice)){
- throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ YwPatrolScheme ywPatrolScheme = ywPatrolSchemeMapper.selectById(model.getSchemeId());
+ if(Objects.isNull(ywPatrolScheme)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌宸℃璁″垝淇℃伅");
+ }
+ if(!ywPatrolScheme.getUserIds().equals(loginUserInfo.getId().toString())){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"闈炴偍鐨勫贰妫�浠诲姟鏃犳硶杩涜澶勭悊");
}
YwPatrolTask ywPatrolTask = ywPatrolTaskMapper.selectById(model.getTaskId());
if(Objects.isNull(ywPatrolTask)){
@@ -176,8 +223,9 @@
if(ywPatrolTask.getStartDate().getTime()>System.currentTimeMillis()){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈埌宸℃鏃堕棿鏃犳硶杩涜璇ユ搷浣�");
}
+
ywPatrolTaskRecordMapper.update(null,new UpdateWrapper<YwPatrolTaskRecord>().lambda()
- .set(YwPatrolTaskRecord::getDealStatus,ywDevice.getStatus())
+ .set(YwPatrolTaskRecord::getDealStatus,ywPatrolTaskRecord.getDealStatus())
.set(YwPatrolTaskRecord::getEditor,loginUserInfo.getId())
.set(YwPatrolTaskRecord::getEditDate, DateUtil.getCurrDateTime())
.set(YwPatrolTaskRecord::getDealDate, DateUtil.getCurrDateTime())
@@ -186,10 +234,12 @@
.set(YwPatrolTaskRecord::getDealInfo, ywPatrolTaskRecord.getDealInfo())
.eq(YwPatrolTaskRecord::getId,ywPatrolTaskRecord.getId()));
+
if(ywPatrolTaskRecordMapper.selectCount(new QueryWrapper<YwPatrolTaskRecord>().lambda()
.eq(YwPatrolTaskRecord::getTaskId,ywPatrolTask.getId())
.eq(YwPatrolTaskRecord::getStatus,Constants.ZERO)
- .ne(YwPatrolTaskRecord::getId,ywPatrolTaskRecord.getId()))==Constants.ZERO){
+ .ne(YwPatrolTaskRecord::getId,ywPatrolTaskRecord.getId())
+ )==Constants.ZERO){
ywPatrolTaskMapper.update(null,new UpdateWrapper<YwPatrolTask>().lambda()
.eq(YwPatrolTask::getId,ywPatrolTask.getId())
.set(YwPatrolTask::getStatus,Constants.THREE)
@@ -198,12 +248,51 @@
.set(YwPatrolTask::getDealUserId,loginUserInfo.getId())
.set(YwPatrolTask::getEditor,loginUserInfo.getId())
);
+
+// if(ywPatrolTaskMapper.selectCount(new QueryWrapper<YwPatrolTask>().lambda()
+// .eq(YwPatrolTask::getSchemeId,ywPatrolTask.getSchemeId())
+// .in(YwPatrolTask::getStatus,Constants.ZERO,Constants.ONE)
+// .ne(YwPatrolTask::getId,ywPatrolTask.getId())
+// )==Constants.ZERO){
+// ywPatrolSchemeMapper.update(null,new UpdateWrapper<YwPatrolScheme>().lambda()
+// .eq(YwPatrolScheme::getId,ywPatrolScheme.getId())
+// .set(YwPatrolScheme::getStatus,Constants.TWO)
+// .set(YwPatrolScheme::getEditDate,DateUtil.getCurrDateTime())
+// .set(YwPatrolScheme::getEditor,loginUserInfo.getId())
+// );
+// }
+
+ //鏍囪寰呭姙宸插鐞�
+ noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda()
+ .set(Notices::getStatus,Constants.ONE)
+ .set(Notices::getParam3,Constants.TWO)
+ .eq(Notices::getIsdeleted,Constants.ZERO)
+ .eq(Notices::getObjType,Constants.ONE)
+ .eq(Notices::getObjId,ywPatrolTask.getId())
+ );
}else{
- ywPatrolTaskMapper.update(null,new UpdateWrapper<YwPatrolTask>().lambda()
- .eq(YwPatrolTask::getId,ywPatrolTask.getId())
- .set(YwPatrolTask::getStatus,Constants.ONE)
- .set(YwPatrolTask::getEditDate,DateUtil.getCurrDateTime())
- .set(YwPatrolTask::getEditor,loginUserInfo.getId())
+ if(Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.ZERO)){
+ ywPatrolTaskMapper.update(null,new UpdateWrapper<YwPatrolTask>().lambda()
+ .eq(YwPatrolTask::getId,ywPatrolTask.getId())
+ .set(YwPatrolTask::getStatus,Constants.ONE)
+ .set(YwPatrolTask::getEditDate,DateUtil.getCurrDateTime())
+ .set(YwPatrolTask::getEditor,loginUserInfo.getId())
+ );
+ }
+// if(Constants.equalsInteger(ywPatrolScheme.getStatus(),Constants.ZERO)){
+// ywPatrolSchemeMapper.update(null,new UpdateWrapper<YwPatrolScheme>().lambda()
+// .eq(YwPatrolScheme::getId,ywPatrolScheme.getId())
+// .set(YwPatrolScheme::getStatus,Constants.ONE)
+// .set(YwPatrolScheme::getEditDate,DateUtil.getCurrDateTime())
+// .set(YwPatrolScheme::getEditor,loginUserInfo.getId())
+// );
+// }
+ //鏍囪寰呭姙宸插鐞�
+ noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda()
+ .set(Notices::getParam3,Constants.ONE)
+ .eq(Notices::getIsdeleted,Constants.ZERO)
+ .eq(Notices::getObjType,Constants.ONE)
+ .eq(Notices::getObjId,ywPatrolTask.getId())
);
}
//闄勪欢鏁版嵁
@@ -239,12 +328,13 @@
.selectAll(YwPatrolTaskRecord.class)
.selectAs(YwPatrolPoint::getName,YwPatrolTaskRecord::getPointName)
.selectAs(YwPatrolPoint::getContent,YwPatrolTaskRecord::getContent)
+ .selectAs(YwPatrolPoint::getDeviceId,YwPatrolTaskRecord::getDeviceId)
.selectAs(SystemUser::getRealname,YwPatrolTaskRecord::getRealname)
.selectAs(Company::getName,YwPatrolTaskRecord::getCompanyName)
.leftJoin(YwPatrolPoint.class,YwPatrolPoint::getId,YwPatrolTaskRecord::getPointId)
.leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTaskRecord::getDealUserId)
.leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
- .eq(YwPatrolScheme::getIsdeleted, Constants.ZERO)
+ .eq(YwPatrolTaskRecord::getIsdeleted, Constants.ZERO)
.eq(YwPatrolPoint::getCode,bean.getPointCode())
.eq(YwPatrolTaskRecord::getTaskId,bean.getTaskId())
.orderByDesc(YwPatrolScheme::getCreateDate)
@@ -253,29 +343,54 @@
if(Objects.isNull(ywPatrolTaskRecord)){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈尮閰嶅埌宸℃鐐�!");
}
- //闄勪欢鏁版嵁
- List<Multifile> multifileList = multifileMapper.selectJoinList(Multifile.class,new MPJLambdaWrapper<Multifile>()
- .selectAll(Multifile.class)
- .selectAs(SystemUser::getRealname,Multifile::getUserName)
- .leftJoin(SystemUser.class,SystemUser::getId,Multifile::getCreator)
- .eq(Multifile::getObjId,ywPatrolTaskRecord.getId())
- .eq(Multifile::getIsdeleted,Constants.ZERO)
- .eq(Multifile::getObjType,Constants.MultiFile.FN_PATROL_TASK_RECORD_FILE.getKey()));
- if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
- String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
- +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_PATROL).getCode();
- for (Multifile multifile:multifileList) {
- if(StringUtils.isNotBlank(multifile.getFileurl())){
- multifile.setFileurlFull(path + multifile.getFileurl());
- }
- }
- ywPatrolTaskRecord.setMultifileList(multifileList);
- }
+ getFileListByModel(ywPatrolTaskRecord);
return ywPatrolTaskRecord;
}
+ /**
+ * 鏍规嵁鐧诲綍浜轰笌宸℃鐐规煡璇换鍔′俊鎭�
+ * @param bean
+ * @return
+ */
+ @Override
+ public YwPatrolTaskRecord getRecordByUserPoint(YwPatrolTaskRecord bean,LoginUserInfo loginUserInfo) {
+ if(Objects.isNull(bean)
+ || StringUtils.isBlank(bean.getPointCode())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ if(ywPatrolPointMapper.selectCount(new QueryWrapper<YwPatrolPoint>().lambda().eq(YwPatrolPoint::getCode,bean.getPointCode()))==Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈尮閰嶅埌宸℃鐐癸紝璇烽噸鏂版壂鐮�!");
+ }
+ YwPatrolTaskRecord ywPatrolTaskRecord = ywPatrolTaskRecordMapper.selectJoinOne(YwPatrolTaskRecord.class,new MPJLambdaWrapper<YwPatrolTaskRecord>()
+ .selectAll(YwPatrolTaskRecord.class)
+ .selectAs(YwPatrolPoint::getName,YwPatrolTaskRecord::getPointName)
+ .selectAs(YwPatrolPoint::getContent,YwPatrolTaskRecord::getContent)
+ .selectAs(YwPatrolPoint::getDeviceId,YwPatrolTaskRecord::getDeviceId)
+ .selectAs(YwPatrolScheme::getTitle,YwPatrolTaskRecord::getSchemeTitle)
+ .selectAs(SystemUser::getRealname,YwPatrolTaskRecord::getRealname)
+ .selectAs(Company::getName,YwPatrolTaskRecord::getCompanyName)
+ .leftJoin(YwPatrolPoint.class,YwPatrolPoint::getId,YwPatrolTaskRecord::getPointId)
+ .leftJoin(YwPatrolTask.class,YwPatrolTask::getId,YwPatrolTaskRecord::getTaskId)
+ .leftJoin(YwPatrolScheme.class,YwPatrolScheme::getId,YwPatrolTask::getSchemeId)
+ .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTaskRecord::getDealUserId)
+ .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
+ .eq(YwPatrolTaskRecord::getIsdeleted, Constants.ZERO)
+ .eq(YwPatrolTaskRecord::getStatus, Constants.ZERO)
+ .eq(YwPatrolPoint::getCode,bean.getPointCode())
+ .apply(" DATE(t2.START_DATE) = DATE(NOW()) and find_in_set('"+loginUserInfo.getId()+"', t3.USER_IDS ) ")
+ .orderByDesc(YwPatrolScheme::getCreateDate)
+ .last(" limit 1 ")
+ );
+ if(Objects.isNull(ywPatrolTaskRecord)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浠婃棩鏆傛棤宸℃浠诲姟!");
+ }
+ getFileListByModel(ywPatrolTaskRecord);
+ return ywPatrolTaskRecord;
+
+ }
+
--
Gitblit v1.9.3