From 7b51c9e1abc198a501f7858599da9c116130fd6f Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 27 三月 2025 16:47:51 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java | 624 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 518 insertions(+), 106 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java index 3098750..bb5e871 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java @@ -12,33 +12,30 @@ import com.doumee.core.erp.model.openapi.response.erp.ApproveInfoResponse; import com.doumee.core.exception.BusinessException; import com.doumee.core.haikang.model.HKConstants; -import com.doumee.core.haikang.model.param.BaseListPageResponse; import com.doumee.core.haikang.model.param.BaseResponse; -import com.doumee.core.haikang.model.param.request.FacePictureCheckRequest; +import com.doumee.core.haikang.model.param.request.ParkReservationDelRequest; +import com.doumee.core.haikang.model.param.request.VisitAppointmentCancelRequest; import com.doumee.core.haikang.model.param.request.VisitAppointmentOutRequest; import com.doumee.core.haikang.model.param.request.VisitAppointmentRequest; -import com.doumee.core.haikang.model.param.respose.AscDeviceStatusInfoResponse; -import com.doumee.core.haikang.model.param.respose.FacePictureCheckResponse; import com.doumee.core.haikang.model.param.respose.VisitAppointmentResponse; import com.doumee.core.haikang.service.HKService; -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.DESUtil; -import com.doumee.core.utils.DateUtil; -import com.doumee.core.utils.Utils; +import com.doumee.dao.business.dao.*; +import com.doumee.service.business.third.model.LoginUserInfo; +import com.doumee.service.business.third.model.PageData; +import com.doumee.service.business.third.model.PageWrap; +import com.doumee.core.utils.*; +import com.doumee.core.wx.wxPlat.WxPlatConstants; import com.doumee.core.wx.wxPlat.WxPlatNotice; import com.doumee.dao.admin.response.InterestedListVO; import com.doumee.dao.admin.response.PCWorkPlatformDataVO; import com.doumee.dao.business.*; -import com.doumee.dao.business.dao.CompanyMapper; import com.doumee.dao.business.dto.ResetPasswordDTO; import com.doumee.dao.business.join.DeviceJoinMapper; import com.doumee.dao.business.join.VisitsJoinMapper; import com.doumee.dao.business.model.*; + +import com.doumee.dao.business.model.Member; import com.doumee.dao.system.SystemUserMapper; -import com.doumee.dao.system.dto.NoticesDTO; import com.doumee.dao.system.dto.ResetSystemUserPwdDTO; import com.doumee.dao.system.join.NoticesJoinMapper; import com.doumee.dao.system.model.Notices; @@ -58,26 +55,19 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl; +import com.doumee.service.business.third.EmayService; import com.github.xiaoymin.knife4j.core.util.CollectionUtils; import com.github.yulichang.wrapper.MPJLambdaWrapper; -import io.swagger.models.auth.In; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import sun.misc.BASE64Encoder; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.HttpURLConnection; -import java.net.URL; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; import java.util.*; +import java.util.Date; import java.util.stream.Collectors; /** @@ -86,14 +76,19 @@ * @date 2023/11/30 15:33 */ @Service +@Slf4j public class VisitsServiceImpl implements VisitsService { @Autowired private RetentionMapper retentionMapper; @Autowired - private VisitsMapper visitsMapper; + private VisitsJoinMapper visitsMapper; + @Autowired + private UserActionMapper userActionMapper; @Autowired private ApproveMapper approveMapper; + @Autowired + private NoticesJoinMapper noticesJoinMapper; @Autowired private ApproveParamMapper approveParamMapper; @Autowired @@ -116,6 +111,8 @@ private ErpTool erpTool; @Autowired + private VisitParkMapper visitParkMapper; + @Autowired private WxPlatNotice wxPlatNotice; @Autowired @@ -129,9 +126,23 @@ @Autowired private ApproveService approveService; @Autowired - private NoticesJoinMapper noticesJoinMapper; - @Autowired private InoutDayCountMapper inoutDayCountMapper; + @Autowired + private CarEventMapper carEventMapper; + + @Autowired + private SmsConfigMapper smsConfigMapper; + + @Autowired + private SmsEmailMapper smsEmailMapper; + + @Autowired + private WxNoticeConfigMapper wxNoticeConfigMapper; + + @Autowired + private EmayService emayService; + + @Override public Integer create(Visits visits) { @@ -163,10 +174,9 @@ } if (Constants.equalsInteger(Constants.ZERO, erpVisitDTO.getIdcardType()) && erpVisitDTO.getIdcardNo().length() != 18 //&&!IdcardUtil.isValidCard(visits.getIdcardNo()) - ) { + ){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝韬唤璇佸彿鐮佹湁璇紝璇锋牳瀹炲悗閲嶈瘯锛�"); } - Visits visits = new Visits(); //鏍规嵁琚闂汉ERP涓婚敭鏌ヨ绯荤粺鍐呬汉鍛樹富閿俊鎭� Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda() @@ -222,6 +232,7 @@ @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public Integer createFk(Visits visits,Boolean isERP,Integer source) { + visits.setId(null); isValidBaseParam(visits); //妫�鏌ユ槸鍚﹀繀椤荤瓟棰橈紝骞朵笖绗﹀悎绛旈瑕佹眰 ProblemLog problemLog = isValidProblemLog(visits,source); @@ -246,25 +257,25 @@ //鍒濆鍖栬瀹俊鎭� initVisitInfo(visits,date); - if(StringUtils.isNotBlank(visits.getFaceImg())&&(Constants.equalsInteger(visits.getType(),Constants.ZERO)|| Constants.equalsInteger(visits.getType(),Constants.TWO))){ - //浜鸿劯璇勫垎 - FacePictureCheckRequest param = new FacePictureCheckRequest(); - String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + - systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); - param.setFacePicUrl(prefixUrl + visits.getFaceImg()); - BaseResponse<FacePictureCheckResponse> response = HKService.facePictureCheck(param); - if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){ - throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝浜鸿劯璇勫垎鑾峰彇鏁版嵁澶辫触~"); - } - FacePictureCheckResponse facePictureCheckResponse = response.getData(); - if(Objects.isNull(facePictureCheckResponse) || Objects.isNull(facePictureCheckResponse.getCheckResult())){ - throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝浜鸿劯璇勫垎鑾峰彇鏁版嵁澶辫触~"); - } - if(!facePictureCheckResponse.getCheckResult()){ - throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), facePictureCheckResponse.getStatusMessage()); - } - } - +// if(StringUtils.isNotBlank(visits.getFaceImg())&&(Constants.equalsInteger(visits.getType(),Constants.ZERO)|| Constants.equalsInteger(visits.getType(),Constants.TWO))){ +// //浜鸿劯璇勫垎 +// FacePictureCheckRequest param = new FacePictureCheckRequest(); +// String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_LOCAL_RESOURCE_PATH).getCode() + +// systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); +// param.setFacePicUrl(prefixUrl + visits.getFaceImg()); +// BaseResponse<FacePictureCheckResponse> response = HKService.facePictureCheck(param); +// if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){ +// throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝浜鸿劯璇勫垎鑾峰彇鏁版嵁澶辫触~"); +// } +// FacePictureCheckResponse facePictureCheckResponse = response.getData(); +// if(Objects.isNull(facePictureCheckResponse) || Objects.isNull(facePictureCheckResponse.getCheckResult())){ +// throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝浜鸿劯璇勫垎鑾峰彇鏁版嵁澶辫触~"); +// } +// if(!facePictureCheckResponse.getCheckResult()){ +// throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), facePictureCheckResponse.getStatusMessage()); +// } +// } + visits.setSendTimeOutNotice(Constants.ZERO); visitsMapper.insert(visits); //鍙戣捣ERP瀹℃壒鐢宠 @@ -277,19 +288,26 @@ }else{ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝鍙戣捣鎷滆瀹℃壒鐢宠澶辫触锛�"); } - //鍙戦�佸井淇″叕浼楀彿閫氱煡 - wxPlatNotice.sendVisitAuditTemplateNotice(visits, - systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_PREFIX).getCode(), - systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_AUDIT_VISIT).getCode()); }else if(dataSyncConfig.getVisitorDataOrigin().equals(Constants.ZERO)){ visits.setStatus(Constants.VisitStatus.waitCheck); visitsMapper.updateById(visits); - approveService.createApproveFlow(visits.getType(),visits.getId(),visits.getReceptMemberId()); + approveService.createApproveFlow(visits.getType(),visits.getId(),visits.getReceptMemberId(),member); }else{ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝鍙戣捣鎷滆瀹℃壒鐢宠澶辫触锛�"); } initWithVisitInfo(visits); updateProblemLog(visits,problemLog,member); + + //鍙戦�佸井淇″叕浼楀彿閫氱煡 - 鐢宠鎻愪氦鎴愬姛寰呭鏍� + if(StringUtils.isNotBlank(visits.getOpenid())){ + WxPlatNotice wxPlatNotice = new WxPlatNotice(); + wxPlatNotice.sendVisitTemplateNotice(systemDictDataBiz, + wxNoticeConfigMapper,visits, + Constants.equalsInteger(visits.getType(),Constants.TWO)?WxPlatConstants.visitReportContent.visitReportUpload:WxPlatConstants.visitContent.visitUpload, + systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), + Arrays.asList(visits.getOpenid().split(",")) + ); + } //鍒涘缓瀹℃壒璁板綍 createApprove(visits,visitMember); @@ -317,7 +335,20 @@ //鍒濆鍖栬瀹俊鎭� // initVisitInfo(visits,date); visitsMapper.insert(visits); - approveService.createApproveFlow(visits.getType(),visits.getId(),visits.getReceptMemberId()); + if(Objects.nonNull(visits.getLoginUserInfo())){ + SystemUser systemUser = systemUserMapper.selectById(visits.getLoginUserInfo().getId()); + if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getOpenid())){ + WxPlatNotice wxPlatNotice = new WxPlatNotice(); + wxPlatNotice.sendVisitTemplateNotice(systemDictDataBiz, + wxNoticeConfigMapper,visits, + Constants.equalsInteger(visits.getType(),Constants.TWO)?WxPlatConstants.visitReportContent.visitReportUpload:WxPlatConstants.visitContent.visitUpload, + systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), + Arrays.asList(systemUser.getOpenid().split(",")) + ); + } + } + + approveService.createApproveFlow(visits.getType(),visits.getId(),visits.getReceptMemberId(),null); return visits.getId(); } @@ -386,7 +417,7 @@ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀹℃壒璁板綍宸插鐞�!"); } Visits visits = visitsMapper.selectById(approve.getObjId()); - if(Objects.isNull(visits)){ + if(Objects.isNull(visits)||Constants.equalsInteger(visits.getIsdeleted(),Constants.ONE)){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } if(!auditApproveDTO.getMemberId().equals(approve.getChekorId())){ @@ -951,6 +982,7 @@ } //鏍规嵁鎵嬫満鍙峰拰韬唤璇佸彿鐮佹煡璇� 褰撳墠棰勭害鐨勬椂闂存槸鍚︿笌鍏朵粬棰勭害璁板綍鏈夊啿绐� if (visitsMapper.selectCount(new QueryWrapper<Visits>().lambda() + .eq(Visits::getIsdeleted,Constants.ZERO) .notIn(Visits::getStatus,Constants.VisitStatus.cancel ,Constants.VisitStatus.noPass ,Constants.VisitStatus.xfFail @@ -976,6 +1008,7 @@ */ private void isExsitNoOutVisisRecord(Member member) { Visits v = visitsMapper.selectOne(new QueryWrapper<Visits>().lambda() + .eq(Visits::getIsdeleted,Constants.ZERO) .eq(Visits::getPhone, member.getPhone()) .eq(Visits::getStatus,Constants.VisitStatus.xfSuccess) .last(" limit 1" ) @@ -1013,6 +1046,7 @@ problemLog.setUserId(member.getId()); problemLog.setPhone(member.getPhone()); problemLog.setLogId(visits.getId()); + problemLog.setCompanyName(visits.getCompanyName()); problemLogMapper.updateById(problemLog); } } @@ -1110,6 +1144,32 @@ public void deleteById(Integer id) { visitsMapper.deleteById(id); } + @Override + @Transactional(rollbackFor ={BusinessException.class,Exception.class}) + public void deleteById(Integer id,LoginUserInfo user) { + Visits model = visitsMapper.selectById(id); + if(model ==null || Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + Date date = new Date(); + visitsMapper.update(null,new UpdateWrapper<Visits>().lambda() + .set(Visits::getIsdeleted,Constants.ONE) + .set(Visits::getEditDate,new Date()) + .set(Visits::getEditor,user.getId()) + .eq(Visits::getId,id)); + String[] params = new String[3]; + params[0] = user.getRealname(); + params[1]=DateUtil.getPlusTime2(date); + if(Constants.equalsInteger(model.getType(),Constants.TWO)){ + params[2]="銆愯溅鐗屽彿锛�"+model.getCarNos()+"銆�-銆愬崟浣嶏細"+model.getCompanyName()+" "+model.getName()+" "+model.getPhone()+"銆�-銆愭椂闂达細"+DateUtil.getPlusTime2(model.getStarttime())+"-"+DateUtil.getPlusTime2(model.getEndtime())+"銆�"; + //璁板綍鍒犻櫎璁垮鎶ュ鏃ュ織 + UserActionServiceImpl.saveUserActionBiz(user,id,Constants.UserActionType.VISIT_CAR_DEL,userActionMapper,date,params, JSONObject.toJSONString(model)); + }else{ + params[2]="銆愬崟浣嶏細"+model.getCompanyName()+"銆�-銆愯瀹細"+model.getName()+" "+model.getPhone()+"銆�-銆愭椂闂达細"+DateUtil.getPlusTime2(model.getStarttime())+"-"+DateUtil.getPlusTime2(model.getEndtime())+"銆�"; + //璁板綍鍒犻櫎璁垮鐢宠鏃ュ織 + UserActionServiceImpl.saveUserActionBiz(user,id,Constants.UserActionType.VISIT_DEL,userActionMapper,date,params, JSONObject.toJSONString(model)); + } + } @Override public void delete(Visits visits) { @@ -1153,6 +1213,7 @@ queryWrapper.leftJoin("Member t3 on t.CREATE_MEMBER_ID=t3.id"); queryWrapper.eq(Visits::getId,id); + queryWrapper.eq(Visits::getIsdeleted,Constants.ZERO); Visits result = visitsJoinMapper.selectJoinOne(Visits.class,queryWrapper); if(result!=null){ @@ -1163,6 +1224,8 @@ List<DeviceRole> deviceRoleList= deviceRoleMapper.selectList(deviceQuery); result.setDeviceRoleList(deviceRoleList); } + }else{ + throw new BusinessException(ResponseStatus.DATA_EMPTY); } MPJLambdaWrapper<Visits> visitQuery = new MPJLambdaWrapper<>(); @@ -1193,6 +1256,22 @@ result.setBusinessStatus(result.getStatus()); } + + Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>().lambda() + .eq(Notices::getObjId,id) + .eq(Notices::getType,Constants.equalsInteger(result.getType(),Constants.TWO)?Constants.noticesObjectType.visitReporting:Constants.noticesObjectType.visit) + .eq(Notices::getUserId,memberId) + .eq(Notices::getSendacopy,Constants.ZERO) + .orderByDesc(Notices::getId).last(" limit 1 ")); + if(Objects.nonNull(notices)){ + if(Constants.equalsInteger(notices.getStatus(),Constants.ZERO)){ + result.setInfo("寰呮垜澶勭悊"); + }else{ + result.setInfo(notices.getInfo()); + } + } + + return result; } @@ -1220,6 +1299,18 @@ queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId); queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); + //鏁版嵁鏉冮檺寮�濮�--------------------start---------------- + LoginUserInfo userInfo =pageWrap.getModel().getLoginUserInfo(); + if(userInfo!=null && userInfo.getCompanyIdList()!=null){ + if( userInfo.getCompanyIdList().size() ==0){ + //鍙兘鐪嬭嚜宸�(鎷滆浜猴級 + queryWrapper.eq(Member::getId,userInfo.getMemberId()); + }else{ + queryWrapper.in(Company::getId ,userInfo.getCompanyIdList()); + } + } + //鏁版嵁鏉冮檺寮�濮�--------------------end---------------- + queryWrapper.eq(Visits::getIsdeleted,Constants.ZERO); queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType())&&Constants.equalsInteger(pageWrap.getModel().getType(),Constants.TWO),Visits::getType,pageWrap.getModel().getType()); queryWrapper.ne(Objects.nonNull(pageWrap.getModel().getType())&&!Constants.equalsInteger(pageWrap.getModel().getType(),Constants.TWO),Visits::getType,Constants.TWO); @@ -1234,6 +1325,23 @@ queryWrapper.isNull(Visits::getParentId); queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getMemberId()),Visits::getMemberId,pageWrap.getModel().getMemberId()); queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getReceptMemberId()),Visits::getReceptMemberId,pageWrap.getModel().getReceptMemberId()); + + if(Objects.nonNull(pageWrap.getModel().getBusinessStatus())){ + if(Constants.equalsInteger(pageWrap.getModel().getBusinessStatus(),Constants.TWO)){ + queryWrapper.in(Visits::getStatus, + Constants.VisitStatus.xfSuccess, + Constants.VisitStatus.xfFail, + Constants.VisitStatus.signin, + Constants.VisitStatus.signout, + Constants.VisitStatus.invalid, + Constants.VisitStatus.pass + ); + }else{ + queryWrapper.eq(Visits::getStatus,pageWrap.getModel().getBusinessStatus()); + } + + } + queryWrapper.orderByDesc(Visits::getCreateDate); IPage<Visits> result = visitsJoinMapper.selectJoinPage(page, Visits.class,queryWrapper); @@ -1250,10 +1358,7 @@ QueryWrapper<Visits> wrapper = new QueryWrapper<>(visits); return visitsMapper.selectCount(wrapper); } - - - @Override - public PageData<Visits> retentionPage(PageWrap<Visits> pageWrap) { + public static PageData<Visits> retentionPageBiz(PageWrap<Visits> pageWrap, VisitsJoinMapper visitsJoinMapper,SystemDictDataBiz systemDictDataBiz) { String code= systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.TIMEOUT_WARNING).getCode(); IPage<Visits> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>(); @@ -1265,9 +1370,7 @@ queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId); queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); queryWrapper.leftJoin(" member m on m.id= t.MEMBER_ID"); - queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getLevelStatus()),Visits::getStatus,Constants.VisitStatus.signin); - queryWrapper.apply(Objects.nonNull(pageWrap.getModel().getLevelStatus())," TIMESTAMPDIFF( MINUTE, NOW(), t.OUT_DATE) <= "+code+" "); queryWrapper.ne("m.type ",Constants.TWO); @@ -1296,12 +1399,17 @@ return PageData.from(result); } + @Override + public PageData<Visits> retentionPage(PageWrap<Visits> pageWrap) { + return retentionPageBiz(pageWrap,visitsJoinMapper,systemDictDataBiz); + } + @Override public VisitDetailVO getVisitDetail(Integer id,Integer memberId){ Visits visits = visitsMapper.selectById(id); - if(Objects.isNull(visits)){ + if(Objects.isNull(visits) || Constants.equalsInteger(visits.getIsdeleted(),Constants.ONE)){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } Member member = memberMapper.selectById(visits.getReceptMemberId()); @@ -1366,6 +1474,21 @@ memberId) ); // } + + Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>().lambda() + .eq(Notices::getObjId,id) + .eq(Notices::getType,Constants.equalsInteger(visits.getType(),Constants.TWO)?Constants.noticesObjectType.visitReporting:Constants.noticesObjectType.visit) + .eq(Notices::getUserId,memberId) + .eq(Notices::getSendacopy,Constants.ZERO) + .orderByDesc(Notices::getId).last(" limit 1 ")); + if(Objects.nonNull(notices)){ + if(Constants.equalsInteger(notices.getStatus(),Constants.ZERO)){ + visitDetailVO.setInfo("寰呮垜澶勭悊"); + }else{ + visitDetailVO.setInfo(notices.getInfo()); + } + } + return visitDetailVO; } @@ -1414,12 +1537,13 @@ throw new BusinessException(ResponseStatus.DATA_EMPTY); } if(!visits.getStatus().equals(Constants.VisitStatus.signin)){ - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁垮璁板綍鐘舵�侀敊璇紝璇峰埛鏂伴噸璇�"); + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浠呮敮鎸併�愭嫓璁夸腑銆戠姸鎬佽繘琛岃绂诲満鎿嶄綔锛岃鍒锋柊閲嶈瘯"); } VisitAppointmentOutRequest request = new VisitAppointmentOutRequest(); request.setOrderId(visits.getHkId()); //璋冪敤娴峰悍寮哄埗绛剧 - BaseResponse response = HKService.outVisitAppiontment(request); + BaseResponse response = HKService.iccmSignoff(request); +// BaseResponse response = HKService.outVisitAppiontment(request); visitsMapper.update(null,new UpdateWrapper<Visits>().lambda().set(Visits::getStatus,Constants.VisitStatus.signout) .eq(Visits::getId,visitId)); //浜у嚭鍦ㄥ満浜哄憳淇℃伅 @@ -1436,10 +1560,11 @@ if(!visits.getStatus().equals(Constants.VisitStatus.xfSuccess)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁垮璁板綍鐘舵�侀敊璇紝璇峰埛鏂伴噸璇�"); } - VisitAppointmentOutRequest request = new VisitAppointmentOutRequest(); - request.setOrderId(visits.getHkId()); + VisitAppointmentCancelRequest request = new VisitAppointmentCancelRequest(); + request.setAppointRecordIds(new String[]{visits.getHkId()}); //璋冪敤娴峰悍寮哄埗绛剧 - BaseResponse response = HKService.outVisitAppiontment(request); +// BaseResponse response = HKService.outVisitAppiontment(request); + BaseResponse response = HKService.iccmCancelAppointment(request); visitsMapper.update(null,new UpdateWrapper<Visits>().lambda().set(Visits::getStatus,Constants.VisitStatus.signout) .eq(Visits::getId,visitId)); //浜у嚭鍦ㄥ満浜哄憳淇℃伅 @@ -1447,6 +1572,130 @@ .eq(Retention::getType,Constants.memberType.visitor) .eq(Retention::getMemberId,visits.getMemberId())); } + + + @Override + public void visitsSelfCancel(Integer visitId,Integer memberId){ + Visits visits = visitsMapper.selectById(visitId); + if(Objects.isNull(visits)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + if(!(Constants.equalsInteger(memberId,visits.getMemberId()))){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏃犳鎿嶄綔鏉冮檺"); + } + this.visitsCancelBiz(visits); + } + + @Override + public void visitsCancel(Integer visitId,LoginUserInfo loginUserInfo) { + Visits visits = visitsMapper.selectById(visitId); + if (Objects.isNull(visits)) { + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + if(!( + CollectionUtils.isNotEmpty(loginUserInfo.getPermissions()) && + loginUserInfo.getPermissions().stream().filter(i->i.equals("business:visits:cancel")).collect(Collectors.toList()).size()>0)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏃犳鎿嶄綔鏉冮檺"); + } + this.visitsCancelBiz(visits); + } + /** + * 澶勭悊寰呭鏍搞�佸鏍镐腑銆佸凡瀹℃牳鐨勬暟鎹彇娑堜笟鍔� + * 2025骞�3鏈�25鏃�14:10:10 + */ + public void visitsCancelBiz(Visits visits){ + UpdateWrapper<Visits> updateWrapper = new UpdateWrapper(); + updateWrapper.lambda().set(Visits::getStatus,Constants.VisitStatus.cancel) + .set(Visits::getEditDate,DateUtil.getCurrDateTime()) + .set(Visits::getEditor,visits.getEditor()) + .eq(Visits::getId,visits.getId()); + //璁垮鎶ュ + if(Constants.equalsInteger(visits.getType(),Constants.TWO)){ + if(!(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.waitCheck)||Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.submitCheck) + || Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.pass))){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁垮璁板綍鐘舵�侀敊璇紝鏃犳硶杩涜璇ユ搷浣�"); + } + if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.pass) + && Constants.equalsInteger(visits.getHkStatus(),Constants.ONE) + &&StringUtils.isNotBlank(visits.getHkId())){ + //鍙栨秷鍋滆溅鍦洪绾� + List<VisitPark> visitParkList = visitParkMapper.selectList(new QueryWrapper<VisitPark>().lambda() + .eq(VisitPark::getCarCode,visits.getCarNos()) + .eq(VisitPark::getObjType,Constants.ONE) + .eq(VisitPark::getHkStatus,Constants.ONE) + .isNotNull(VisitPark::getHkId) + .apply(" END_TIME > now() ") + .orderByDesc(VisitPark::getCreateDate) + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(visitParkList)){ + for (VisitPark visitPark:visitParkList) { + ParkReservationDelRequest param = new ParkReservationDelRequest(); + param.setReserveOrderNo(visitPark.getHkId()); + BaseResponse response = HKService.parkReservationDeletion(param); + if(response!=null + && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){ + visitPark.setHkStatus(Constants.THREE); + visitPark.setIsdeleted(Constants.ONE); + visitPark.setEditDate(new Date()); + visitParkMapper.updateById(visitPark); + }else{ + throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),response.getMsg()); + } + } + updateWrapper.lambda().set(Visits::getHkStatus,Constants.ZERO).set(Visits::getHkDate,DateUtil.getCurrDateTime()); + } + } + }else{ + //璁垮鐢宠 + if(!(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.waitCheck)||Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.submitCheck) + || Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.pass)|| Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.xfSuccess))){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁垮璁板綍鐘舵�侀敊璇紝璇峰埛鏂伴噸璇�"); + } + if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.xfSuccess) + && Constants.equalsInteger(visits.getHkStatus(),Constants.ONE) + &&StringUtils.isNotBlank(visits.getHkId())){ + VisitAppointmentCancelRequest request = new VisitAppointmentCancelRequest(); + request.setAppointRecordIds(new String[]{visits.getHkId()}); + BaseResponse response = HKService.iccmCancelAppointment(request); + if(response==null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) || response.getData()==null){ + throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),response.getMsg()); + } + updateWrapper.lambda().set(Visits::getHkStatus,Constants.ZERO).set(Visits::getHkDate,DateUtil.getCurrDateTime()); + } + } + + if(Constants.equalsInteger(visits.getStatus(),Constants.ZERO)||Constants.equalsInteger(visits.getStatus(),Constants.ONE)){ + //鏇存柊瀹℃壒涓殑璁板綍涓哄彇娑� + approveMapper.update(null, + new UpdateWrapper<Approve>().lambda() + .set(Approve::getEditDate,new Date()) + .set(Approve::getStatus,Constants.approveStatus.cancel) + .set(Approve::getStatusInfo,"鎵嬪姩鍙栨秷") + .set(Approve::getCheckInfo,"鎵嬪姩鍙栨秷") + .eq(Approve::getIsdeleted,Constants.ZERO) + .in(Approve::getStatus,Constants.approveStatus.auditIng,Constants.approveStatus.wait) + .eq(Approve::getObjId,visits.getId()) + .eq(Approve::getObjType,visits.getType())); + //鏇存柊寰呭姙娑堟伅鐘舵�� + noticesJoinMapper.update(null, + new UpdateWrapper<Notices>().lambda() + .set(Notices::getEditDate,new Date()) + .set(Notices::getInfo,"鎵嬪姩鍙栨秷") +// .set(Notices::getStatus,Constants.ONE) + .set(Notices::getParam2,Constants.FOUR)//宸插彇娑� + .eq(Notices::getStatus,Constants.ZERO) + .eq(Notices::getParam2,Constants.ZERO)//寰呭鐞� + .eq(Notices::getObjId,visits.getId()) + .eq(Notices::getObjType,Constants.equalsInteger(visits.getType(),Constants.ZERO)?Constants.noticesObjectType.visit:Constants.noticesObjectType.visitReporting) + ); + } + + visitsMapper.update(null,updateWrapper); + } + + + + @Override public void visitResend(Integer visitId) { MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>(); @@ -1472,11 +1721,6 @@ if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.xfSuccess)){ //濡傛灉涓嬪彂鎴愬姛锛� visitsMapper.updateById(visits); - if(Objects.isNull(visits.getParentId())){ - wxPlatNotice.sendVisitAuditTemplateNotice(visits, - systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_PREFIX).getCode(), - systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_AUDIT_VISIT).getCode()); - } }else{ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"閲嶆柊涓嬪彂浼氬け璐ワ紒"); } @@ -1501,6 +1745,7 @@ dto.setPassword(resetPasswordDTO.getPassword()); dto.setId(systemUser.getId()); dto.setOperaUserId(systemUser.getId()); + dto.setNeedChangePwd(Constants.ONE); systemUserBiz.resetPwd(dto); } @@ -1519,6 +1764,7 @@ .selectAll(Retention.class) .selectAs(Company::getType,Retention::getCompanyType) .leftJoin(Company.class,Company::getId,Retention::getCompanyId) + .eq(Retention::getIsdeleted,Constants.ZERO) ); InoutDayCount inoutDayCount = inoutDayCountMapper.selectOne(new QueryWrapper<InoutDayCount>() @@ -1529,7 +1775,7 @@ //浠婃棩鍦ㄥ洯浜烘暟 pcWorkPlatformDataVO.setTodayInParkUserNum( - retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)).count() + retentionList.stream().filter(i->!Constants.equalsInteger(i.getType(),Constants.THREE)).count() ); pcWorkPlatformDataVO.setTodayInUserNum(Constants.ZERO); @@ -1537,7 +1783,8 @@ //鍦ㄥ洯闀挎湡鐩稿叧鏂逛汉鏁� pcWorkPlatformDataVO.setInParkLwUserNum( - retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO) && Constants.equalsInteger(i.getCompanyType(),Constants.ZERO)).count() + retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO) + && Constants.equalsInteger(i.getCompanyType(),Constants.ZERO)).count() ); pcWorkPlatformDataVO.setLwUserInNum(Constants.ZERO); pcWorkPlatformDataVO.setLwUserOutNum(Constants.ZERO); @@ -1545,7 +1792,7 @@ //鍦ㄥ洯璁垮鏁伴噺 pcWorkPlatformDataVO.setInParkVisitUserNum( - retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)&&Objects.isNull(i.getCompanyType())).count() + retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&Objects.isNull(i.getCompanyType())).count() ); pcWorkPlatformDataVO.setVisitUserNum(Constants.ZERO); pcWorkPlatformDataVO.setSignLevelNum(Constants.ZERO); @@ -1576,23 +1823,48 @@ List<InterestedListVO> weekVisitList = new ArrayList<>(); List<InterestedListVO> weekCarList = new ArrayList<>(); List<InterestedListVO> lwList = new ArrayList<>(); + //鏌ヨ涓冨ぉ鍓嶇殑璁垮璁板綍鏁伴噺 + List<Visits> visitsList = visitsMapper.selectList(new QueryWrapper<Visits>().lambda().in(Visits::getStatus, + Constants.VisitStatus.signin,Constants.VisitStatus.signout) + .apply(" STARTTIME > CURDATE() - INTERVAL 7 DAY " ) + ); + + List<CarEvent> carEventList = carEventMapper.selectList(new QueryWrapper<CarEvent>().lambda() + .in(CarEvent::getEventType,"771760131","771760130") + .apply(" STR_TO_DATE(happen_time, '%Y-%m-%dT%H:%i:%s') > CURDATE() - INTERVAL 7 DAY " ) + ); for (String days:weekDays) { - InoutDayCount inoutDayCount = inoutDayCountMapper.selectOne(new QueryWrapper<InoutDayCount>() - .lambda() - .apply(" DATE(TIME_INFO) = '"+days+"' ") - .last(" limit 1 ") - ); InterestedListVO visitVO = new InterestedListVO(); + visitVO.setName(days); + if(CollectionUtils.isNotEmpty(visitsList)){ + //澶勭悊璁垮浜哄憳鏁伴噺 + List<Visits> daysList = visitsList.stream().filter(i->Objects.nonNull(i.getStarttime())&&DateUtil.dateToString(i.getStarttime(),"yyyy-MM-dd").equals(days)).collect(Collectors.toList()); + List<String> memberIds = daysList.stream().map(i->i.getMemberId().toString()).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(memberIds)){ + visitVO.setNum(new HashSet<String>(memberIds).size()); + } + } + if(Objects.isNull(visitVO.getNum())){ + visitVO.setNum(Constants.ZERO); + } + + visitVO.setName(days); InterestedListVO carVO = new InterestedListVO(); carVO.setName(days); - if(Objects.isNull(inoutDayCount)){ + + + if(CollectionUtils.isNotEmpty(carEventList)){ + //澶勭悊璁垮浜哄憳鏁伴噺 + List<CarEvent> daysList = carEventList.stream().filter(i->StringUtils.isNotBlank(i.getHappenTime()) && i.getHappenTime().substring(0,10).equals(days)).collect(Collectors.toList()); + List<String> carCodeList = daysList.stream().map(i->i.getPlateNos()).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(carCodeList)){ + carVO.setNum(new HashSet<String>(carCodeList).size()); + } + } + if(Objects.isNull(carVO.getNum())){ visitVO.setNum(Constants.ZERO); - carVO.setNum(Constants.ZERO); - }else{ - visitVO.setNum(inoutDayCount.getInVisitorNum()); - carVO.setNum(inoutDayCount.getInCarNum()); } weekVisitList.add(visitVO); weekCarList.add(carVO); @@ -1609,45 +1881,50 @@ List<Integer> companyIds = companyList.stream().map(i->i.getId()).collect(Collectors.toList()); List<Retention> retentionList = retentionMapper.selectList( new QueryWrapper<Retention>().lambda() + .eq(Retention::getType,Constants.TWO) .in(Retention::getCompanyId,companyIds) ); for (Company company:companyList) { Integer count = retentionList.stream().filter(i->Constants.equalsInteger(i.getCompanyId(),company.getId())).collect(Collectors.toList()).size(); - InterestedListVO lw = new InterestedListVO(); - lw.setNum(count); - lw.setName(company.getName()); - lwList.add(lw); + if(count>0){ + InterestedListVO lw = new InterestedListVO(); + lw.setNum(count); + lw.setName(company.getName()); + lwList.add(lw); + } } } pcWorkPlatformDataVO.setLwList(lwList ); }else if(Constants.equalsInteger(queryType,Constants.THREE)) { - MPJLambdaWrapper<Notices> queryWrapper = new MPJLambdaWrapper<>(); - queryWrapper.selectAll(Notices.class); if (Objects.isNull(loginUserInfo.getMemberId())) { - queryWrapper.eq("1", "2"); + pcWorkPlatformDataVO.setNoticesList(new ArrayList<>()); + pcWorkPlatformDataVO.setNoticesNum(0); +// queryWrapper.eq("1", "2"); } else { + MPJLambdaWrapper<Notices> queryWrapper = new MPJLambdaWrapper<>(); + queryWrapper.selectAll(Notices.class); queryWrapper.eq(Notices::getStatus, Constants.ZERO); queryWrapper.eq(Notices::getSendacopy, Constants.ZERO); queryWrapper.eq(Notices::getParam2, Constants.ZERO); queryWrapper.eq(Notices::getUserId, loginUserInfo.getMemberId()); - } - queryWrapper.orderByDesc(Notices::getCreateDate); - List<Notices> noticesList = noticesJoinMapper.selectList(queryWrapper); - pcWorkPlatformDataVO.setNoticesList(noticesList); - pcWorkPlatformDataVO.setNoticesNum(noticesList.size()); - if(noticesList.size() > 5 ){ - pcWorkPlatformDataVO.setNoticesList(noticesList.subList(0,5)); - }else{ + queryWrapper.orderByDesc(Notices::getCreateDate); + List<Notices> noticesList = noticesJoinMapper.selectList(queryWrapper); pcWorkPlatformDataVO.setNoticesList(noticesList); + pcWorkPlatformDataVO.setNoticesNum(noticesList.size()); + if(noticesList.size() > 5 ){ + pcWorkPlatformDataVO.setNoticesList(noticesList.subList(0,5)); + }else{ + pcWorkPlatformDataVO.setNoticesList(noticesList); + } } + }else{ String code= systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.TIMEOUT_WARNING).getCode(); MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAll(Visits.class); queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName); queryWrapper.select("TIMESTAMPDIFF( MINUTE, NOW(), t.OUT_DATE) AS timeOut"); - queryWrapper.selectAs(Member::getType,Visits::getMemberType); queryWrapper.selectAs(Company::getName,Visits::getReceptMemberDepartment); queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId); queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); @@ -1677,13 +1954,148 @@ }else{ pcWorkPlatformDataVO.setTimeOutVisitList(result); } - - } - - - - return pcWorkPlatformDataVO; } + + + @Override + public void syncTimeOutData(){ + String times = systemDictDataBiz.queryByCode(Constants.VISIT_CONFIG,Constants.TIME_OUT_CONFIG).getCode(); + List<Visits> visitsList = visitsMapper.selectList(new QueryWrapper<Visits>().lambda() + .eq(Visits::getStatus,Constants.VisitStatus.signin) + .eq(Visits::getSendTimeOutNotice,Constants.ZERO) + .apply(" now() >= DATE_ADD(ENDTIME,INTERVAL -"+times+" MINUTE) ") + ); + Integer visitTimeCount = 0; + Integer visitReportTimeCount = 0; + for (Visits visits:visitsList) { + if(Constants.equalsInteger(visits.getType(),Constants.TWO)){ + SmsEmailServiceImpl.sendVisitReportSms(systemDictDataBiz, + emayService,smsEmailMapper,smsConfigMapper,visitsMapper,visits.getId(), + SmsConstants.visitReportingContent.visitReportingTimeOutSignOut, + null,Arrays.asList(visits.getPhone().split(",")) + ); + visitReportTimeCount = visitReportTimeCount + 1; + }else{ + SmsEmailServiceImpl.sendVisitSms(systemDictDataBiz, + emayService,smsEmailMapper,smsConfigMapper,visitsMapper,visits.getId(), + SmsConstants.visitContent.visitTimeOutSignOut, + null,Arrays.asList(visits.getPhone().split(",")) + ); + visitTimeCount = visitTimeCount + 1 ; + } + visits.setSendTimeOutNotice(Constants.ONE); + visitsMapper.updateById(visits); + } + + if(visitTimeCount > 0 ){ + String mobile = systemDictDataBiz.queryByCode(Constants.VISIT_CONFIG,Constants.VISIT_TIME_OUT_MOBILE).getCode(); + if(StringUtils.isNotBlank(mobile)){ + SmsEmailServiceImpl.sendVisitTimeOutSms(systemDictDataBiz, + emayService,smsEmailMapper,smsConfigMapper, + SmsConstants.visitContent.visitTimeOutSignOutNum, + visitTimeCount.toString(),Arrays.asList(mobile.split(",")) + ); + } + } + + if(visitReportTimeCount > 0 ){ + String mobile = systemDictDataBiz.queryByCode(Constants.VISIT_CONFIG,Constants.VISIT_REPORT_TIME_OUT_MOBILE).getCode(); + if(StringUtils.isNotBlank(mobile)){ + SmsEmailServiceImpl.sendVisitReportTimeOutSms(systemDictDataBiz, + emayService,smsEmailMapper,smsConfigMapper, + SmsConstants.visitReportingContent.visitReportingTimeOutSignOutNum, + visitReportTimeCount.toString(),Arrays.asList(mobile.split(",")) + ); + } + } + } + @Override + public void visitNoCheckCancel(){ + log.info("===============寰呭鎵硅褰曡秴鏃惰嚜鍔ㄥ彇娑堥绾�===========start======="); + List<Visits> visitsList = visitsMapper.selectList(new QueryWrapper<Visits>().lambda() + .eq(Visits::getIsdeleted,Constants.ZERO) + .eq(Visits::getStatus,Constants.VisitStatus.waitCheck) + .apply(" now() >= ENDTIME ") + ); + if(visitsList!=null){ + Date date =new Date(); + for(Visits s :visitsList){ + dealAutoCancelBiz(s,date); + } + } + log.info("===============寰呭鎵硅褰曡秴鏃惰嚜鍔ㄥ彇娑堥绾�===========end======="); + } + + @Transactional + private void dealAutoCancelBiz(Visits s, Date date) { + visitsMapper.update(null,new UpdateWrapper<Visits>().lambda() + .set(Visits::getStatus,Constants.VisitStatus.cancel) + .set(Visits::getEditDate,date) + .set(Visits::getRemark,"棰勭害鎴鏃堕棿宸茶繃鏈鎵癸紝绯荤粺鑷姩鍙栨秷") + .eq(Visits::getId,s.getId())); + + VisitsServiceImpl.dealCancelNoticesData(noticesJoinMapper,approveMapper,"绯荤粺鍙栨秷",s.getId(), + s.getType(),Constants.equalsInteger(s.getType(),Constants.ZERO)?Constants.noticesObjectType.visit:Constants.noticesObjectType.visitReporting + ); + + +// //鏇存柊瀹℃壒涓殑璁板綍涓哄彇娑� +// approveMapper.update(null, +// new UpdateWrapper<Approve>().lambda() +// .set(Approve::getEditDate,date) +// .set(Approve::getStatus,Constants.approveStatus.cancel) +// .set(Approve::getStatusInfo,"绯荤粺宸插彇娑�") +// .set(Approve::getCheckInfo,"璁块棶鏃堕棿宸茶繃锛岀郴缁熻嚜鍔ㄥ彇娑�") +// .eq(Approve::getIsdeleted,Constants.ZERO) +// .in(Approve::getStatus,Constants.approveStatus.auditIng,Constants.approveStatus.wait) +// .eq(Approve::getObjId,s.getId()) +// .eq(Approve::getObjType,s.getType())); +// //鏇存柊寰呭姙娑堟伅鐘舵�� +// noticesJoinMapper.update(null, +// new UpdateWrapper<Notices>().lambda() +// .set(Notices::getEditDate,date) +// .set(Notices::getInfo,"宸插彇娑�") +//// .set(Notices::getStatus,Constants.ONE) +// .set(Notices::getParam2,Constants.FOUR)//宸插彇娑� +// .eq(Notices::getIsdeleted,Constants.ZERO) +// .eq(Notices::getStatus,Constants.ZERO) +// .eq(Notices::getParam2,Constants.ZERO)//寰呭鐞� +// .eq(Notices::getObjId,s.getId()) +// .eq(Notices::getObjType,Constants.equalsInteger(s.getType(),Constants.ZERO)?Constants.noticesObjectType.visit:Constants.noticesObjectType.visitReporting) +// ); + } + + + public static void dealCancelNoticesData(NoticesJoinMapper noticesJoinMapper,ApproveMapper approveMapper,String info,Integer objId,Integer approveObjectType,Integer noticesType){ + if(Objects.nonNull(approveObjectType)){ + approveMapper.update(null, + new UpdateWrapper<Approve>().lambda() + .set(Approve::getEditDate,new Date()) + .set(Approve::getStatus,Constants.approveStatus.cancel) + .set(Approve::getStatusInfo,info) + .set(Approve::getCheckInfo,info) + .eq(Approve::getIsdeleted,Constants.ZERO) + .in(Approve::getStatus,Constants.approveStatus.auditIng,Constants.approveStatus.wait) + .eq(Approve::getObjId,objId) + .eq(Approve::getObjType,approveObjectType)); + } + if(Objects.nonNull(noticesType)){ + //鏇存柊寰呭姙娑堟伅鐘舵�� + noticesJoinMapper.update(null, + new UpdateWrapper<Notices>().lambda() + .set(Notices::getEditDate,new Date()) + .set(Notices::getInfo,info) + .set(Notices::getParam2,Constants.FOUR)//宸插彇娑� + .eq(Notices::getStatus,Constants.ZERO) + .eq(Notices::getParam2,Constants.ZERO)//寰呭鐞� + .eq(Notices::getObjId,objId) + .eq(Notices::getObjType,noticesType) + ); + } + } + + + } -- Gitblit v1.9.3