From 4a2bbbc0345635ba658636fb5fef0cfcdd3447fc Mon Sep 17 00:00:00 2001 From: renkang <8417338+k94314517@user.noreply.gitee.com> Date: 星期五, 03 一月 2025 15:30:46 +0800 Subject: [PATCH] 客户资料 巡检任务业务 --- server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java | 3 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java | 57 +++++++++-- server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/ExcelTestDemo.java | 71 ++++++++++++++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java | 3 server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java | 4 server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java | 3 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java | 9 + server/visits/admin_timer/src/main/java/com/doumee/api/YwTimerController.java | 12 ++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java | 6 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolSchemeService.java | 5 + server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java | 2 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java | 31 ++++++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java | 3 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java | 3 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java | 10 ++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java | 25 +++++ 16 files changed, 226 insertions(+), 21 deletions(-) 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 63a30b8..2d9f2ef 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 @@ -1968,13 +1968,13 @@ } /** - * 寰楀埌褰撳墠鏃ユ湡鏃堕棿,鏍煎紡涓簓yyy-MM-dd hh:mm:ss. + * 寰楀埌褰撳墠鏃ユ湡鏃堕棿,鏍煎紡涓簓yyy-MM-dd HH:mm:ss. * * @return String */ public static String getCurrDateTime() { Timestamp date = new Timestamp(System.currentTimeMillis()); - SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return formatter.format(date); } diff --git a/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java b/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java index cc4a379..3dd4077 100644 --- a/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java +++ b/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java @@ -94,5 +94,8 @@ @GetMapping("/timer/yw/ywDealContractTimeOutTimer") ApiResponse ywDealContractTimeOutTimer(); + @ApiOperation("銆愰槣瀹佽繍缁淬�戝畾鏃剁敓鎴愪粖鏃ュ贰妫�浠诲姟") + @GetMapping("/timer/yw/ywPatrolSchemeTaskTimer") + ApiResponse ywPatrolSchemeTaskTimer(); } diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/YwTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/YwTimerController.java index 8a7c380..5bf7386 100644 --- a/server/visits/admin_timer/src/main/java/com/doumee/api/YwTimerController.java +++ b/server/visits/admin_timer/src/main/java/com/doumee/api/YwTimerController.java @@ -9,6 +9,7 @@ import com.doumee.service.business.PlatformJobService; import com.doumee.service.business.YwContractBillService; import com.doumee.service.business.YwContractService; +import com.doumee.service.business.YwPatrolSchemeService; import com.doumee.service.system.SystemDictDataService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -39,6 +40,9 @@ @Autowired private YwContractService ywContractService; + @Autowired + private YwPatrolSchemeService ywPatrolSchemeService; + @ApiOperation("瀹氭椂澶勭悊鍚堝悓璐﹀崟缂栫爜") @GetMapping("/ywDealContractBillCodeTimer") @@ -60,9 +64,15 @@ .replace("APPSECRET","f228b9e3b49a37b881b51431a483c939"); String response = HttpsUtil.get(url,false); JSONObject json = JSONObject.parseObject(response); - System.out.println(json); + } + + @ApiOperation("瀹氭椂鐢熸垚浠婃棩宸℃浠诲姟浠诲姟") + @GetMapping("/ywPatrolSchemeTaskTimer") + public ApiResponse ywPatrolSchemeTaskTimer() { + ywPatrolSchemeService.timerAuto(); + return ApiResponse.success("瀹氭椂鐢熸垚浠婃棩宸℃浠诲姟浠诲姟鎵ц涓�"); } diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java index 44bd24c..ff55707 100644 --- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java @@ -92,4 +92,14 @@ public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(ywDeviceService.getDetail(id)); } + + @ApiOperation("鏍规嵁缂栫爜鏌ヨ璁惧") + @GetMapping("/findByCode") + @CloudRequiredPermission("business:ywdevice:query") + public ApiResponse findByCode(@RequestParam String deviceCode,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { + return ApiResponse.success(ywDeviceService.findByCode(deviceCode)); + } + + + } diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/ExcelTestDemo.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/ExcelTestDemo.java new file mode 100644 index 0000000..555a682 --- /dev/null +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/ExcelTestDemo.java @@ -0,0 +1,71 @@ +package com.doumee.cloud.board; + +import org.apache.poi.xwpf.usermodel.XWPFDocument; +import org.apache.poi.xwpf.usermodel.XWPFParagraph; +import org.apache.poi.xwpf.usermodel.XWPFRun; + +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.HttpURLConnection; +import java.net.URL; + +/** + * Created by IntelliJ IDEA. + * + * @Author : Rk + * @create 2025/1/3 9:11 + */ +public class ExcelTestDemo { + + public static void main(String[] args) { + modifyWordTemplate("https://bdreport.oss-cn-beijing.aliyuncs.com/xczl/20250103/temp/F0F4B90E185A4A9BA2147841B90F3909.docx", "d://output.docx", "寮犱笁", "Java璇剧▼"); + } + + public static void modifyWordTemplate(String templatePath, String outputPath, String name, String product) { + try ( +// FileInputStream fis = new FileInputStream(templatePath); + XWPFDocument document = new XWPFDocument(getFileInputStream(templatePath))) { + // 姝ゅ杩炴帴鍒板悗缁浛鎹㈡楠� + // 閬嶅巻娈佃惤 + for (XWPFParagraph paragraph : document.getParagraphs()) { + for (XWPFRun run : paragraph.getRuns()) { + // 鏇挎崲鍗犱綅绗� + String text = run.getText(0); + if (text != null) { + text = text.replace("{{name}}", name) + .replace("{{text}}", product); + run.setText(text, 0); // 閲嶆柊璁剧疆鏂囨湰 + } + } + } + try (FileOutputStream fos = new FileOutputStream(outputPath)) { + document.write(fos); // 灏嗕慨鏀瑰悗鐨勬枃妗e啓鍏ヨ緭鍑烘祦 + } + } catch (IOException e) { + e.printStackTrace(); + } + } + + /*璇诲彇缃戠粶鏂囦欢*/ + public static InputStream getFileInputStream(String path) { + URL url = null; + try { + url = new URL(path); + HttpURLConnection conn = (HttpURLConnection)url.openConnection(); + //璁剧疆瓒呮椂闂翠负3绉� + conn.setConnectTimeout(3*1000); + //闃叉灞忚斀绋嬪簭鎶撳彇鑰岃繑鍥�403閿欒 + conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); + //寰楀埌杈撳叆娴� + return conn.getInputStream(); + } catch (Exception e) { + + } + return null; + } + + + +} 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 index 1cf5188..e3905db 100644 --- 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 @@ -113,6 +113,9 @@ @TableField(exist = false) private String pointCode; + @ApiModelProperty(value = "璁惧涓婚敭") + @TableField(exist = false) + private Integer deviceId; @ApiModelProperty(value = "闄勪欢鍒楄〃") @TableField(exist = false) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java index 4e5501e..0b9b7c9 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java @@ -103,4 +103,7 @@ YwDeviceDataVO getYwDeviceData(); + YwDevice findByCode(String deviceCode); + + } 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 413946d..fc868bc 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 @@ -101,4 +101,9 @@ * @param ywPatrolScheme */ void updateStatus(YwPatrolScheme ywPatrolScheme); + + /** + * 瀹氭椂鐢熸垚浠婃棩浠诲姟 + */ + void timerAuto(); } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java index 2108dd2..a978630 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java @@ -537,7 +537,8 @@ queryWrapper.select("t1.name",Company::getParentName); queryWrapper.select("t1.company_path",Company::getParentCompanyPath); queryWrapper.apply(" t.isdeleted = 0 ") ; - queryWrapper.eq(Objects.nonNull(company.getStatus()),Company::getStatus,Constants.ZERO); + queryWrapper.apply(" t.status = 0 ") ; +// queryWrapper.eq(Objects.nonNull(company.getStatus()),Company::getStatus,Constants.ZERO); queryWrapper.like(StringUtils.isNotBlank(company.getName()),Company::getName,company.getName()); queryWrapper.like(StringUtils.isNotBlank(company.getParentName()),"t1.name",company.getParentName()); return companyMapper.selectList(queryWrapper); diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java index 4580e1d..5bc2097 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java @@ -393,7 +393,7 @@ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractRoomList)){ for (YwContractBill ywContractBill:ywContractBillList) { - if(Constants.equalsInteger(ywContractBill.getType(),Constants.ZERO)){ + if(Constants.equalsInteger(ywContractBill.getType(),Constants.ZERO) || Constants.equalsInteger(ywContractBill.getType(),Constants.TWO)){ ywContractBill.setYwContractRoomList( ywContractRoomList.stream().filter(i->(Constants.equalsInteger(i.getType(),Constants.TWO)||Constants.equalsInteger(i.getType(),Constants.ZERO))&&Constants.equalsInteger(i.getContractId(),ywContractBill.getContractId())).collect(Collectors.toList()) ); diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java index 4b51994..9e3df6e 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java @@ -399,6 +399,7 @@ List<YwContractBill> noBills = new ArrayList<>();//涓嶉渶瑕佺粨绠楃殑璐﹀崟 List<YwContractBill> yjBills = new ArrayList<>();//鎶奸噾璐﹀崟 List<YwContractBill> canBills = new ArrayList<>();//鍙��绉熶慨鏀规暟鎹� + Integer canBillCount = Constants.ZERO; List<YwContractBill> allBills = ywContractBillMapper.selectList(new QueryWrapper<YwContractBill>(). select("*," + "( select ifnull(sum(case when yw.REVENUE_TYPE = 0 then yw.ACT_RECEIVABLE_FEE else -yw.ACT_RECEIVABLE_FEE end),0) from yw_contract_revenue yw where yw.bill_id = yw_contract_bill.id and yw.status = 0 and yw.isdeleted = 0 ) as actReceivableFee " ) @@ -420,6 +421,7 @@ ||Constants.equalsInteger(bill.getPayStatus(),Constants.THREE)){ if(bill.getStartDate().getTime()<=param.getBtDate().getTime()){ canBills.add(bill); + canBillCount = canBillCount ++; }else{ //濡傛灉杩樻病寮�濮嬶紝璐﹀崟鐩存帴鍏抽棴 closeBills.add(bill); @@ -431,9 +433,11 @@ noBills.add(bill); }else{ canBills.add(bill); + canBillCount = canBillCount ++; } }else if(Constants.equalsInteger(bill.getPayStatus(),Constants.TWO) ){ canBills.add(bill); + canBillCount = canBillCount ++; } } } @@ -461,6 +465,7 @@ if(fee.compareTo(new BigDecimal(0))== 0){ //濡傛灉璐圭敤姝eソ锛屽垯淇敼璐﹀崟淇℃伅涓哄凡缁撴竻 b.setPayStatus(Constants.ONE); + canBillCount = canBillCount --; }else if(fee.compareTo(new BigDecimal(0))> 0){ //濡傛灉闇�瑕佽繘琛岄��娆撅紝鏇存柊璐﹀崟淇℃伅涓哄緟閫�娆� b.setPayStatus(Constants.FOUR); @@ -487,6 +492,8 @@ for(YwContractBill addBill : param.getAddBillList()){ addBill.setIsdeleted(Constants.ZERO); addBill.setContractId(param.getId()); + addBill.setCreateDate(new Date()); + addBill.setCreator(param.getEditor()); addBill.setType(Constants.TWO); addBill.setStatus(Constants.ZERO); addBill.setTotleFee(addBill.getReceivableFee()); @@ -548,7 +555,7 @@ } } } - param.setBtWaitBill(canBills.size() + newBills.size()+yjNoBills);//鏈竻绠楃殑璐﹀崟鏁伴噺 + param.setBtWaitBill(canBillCount + newBills.size()+yjNoBills);//鏈竻绠楃殑璐﹀崟鏁伴噺 param.setBtCLoseBill(closeBills.size()); param.setBtFee(totalBackFee); } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java index a1a9b36..36f4e94 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java @@ -189,4 +189,7 @@ QueryWrapper<YwDeviceRecord> wrapper = new QueryWrapper<>(ywDeviceRecord); return ywDeviceRecordMapper.selectCount(wrapper); } + + + } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java index 2f9f45b..e96dd30 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java @@ -12,6 +12,7 @@ import com.doumee.dao.business.YwDeviceMapper; import com.doumee.dao.business.YwDeviceRecordMapper; import com.doumee.dao.business.model.Category; +import com.doumee.dao.business.model.Company; import com.doumee.dao.business.model.YwDevice; import com.doumee.dao.business.model.YwDeviceRecord; import com.doumee.dao.business.vo.YwDeviceDataVO; @@ -184,6 +185,30 @@ } + /** + * 鏍规嵁缂栫爜鏌ヨ + * @param deviceCode + * @return + */ + @Override + public YwDevice findByCode(String deviceCode) { + YwDevice ywDevice = ywDeviceMapper.selectOne( + new QueryWrapper<YwDevice>() + .lambda() + .eq(YwDevice::getIsdeleted,Constants.ZERO) + .eq(YwDevice::getCode,deviceCode) + .last(" limit 1 ") + ); + if(Objects.isNull(ywDevice)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + + return ywDevice; + } + + + + @Override public YwDevice findOne(YwDevice ywDevice) { QueryWrapper<YwDevice> wrapper = new QueryWrapper<>(ywDevice); 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 0afc0a7..59adbcc 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 @@ -105,6 +105,23 @@ } } + + @Override + public void timerAuto(){ + List<YwPatrolScheme> ywPatrolSchemeList = ywPatrolSchemeMapper.selectList(new QueryWrapper<YwPatrolScheme>().lambda() + .eq(YwPatrolScheme::getIsdeleted,Constants.ZERO) + .eq(YwPatrolScheme::getStatus,Constants.ZERO) + .apply(" START_DATE <= now() and END_DATE>= now() ") + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywPatrolSchemeList)){ + for (YwPatrolScheme ywPatrolScheme:ywPatrolSchemeList) { + this.createTask(new Date(),ywPatrolScheme); + } + } + } + + + /** * 鏍规嵁鏃ユ湡鐢熸垚浠诲姟 * @param schemeDate @@ -192,6 +209,20 @@ @Override public void deleteById(Integer id, LoginUserInfo user) { + //鍒ゆ柇鏄惁鏈夎繘琛屼腑鎴栧凡瓒呮湡鐨勪换鍔� + if(ywPatrolTaskMapper.selectCount(new QueryWrapper<YwPatrolTask>().lambda() + .eq(YwPatrolTask::getSchemeId,id) + .in(YwPatrolTask::getStatus,Constants.ONE,Constants.THREE,Constants.TWO) + )>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪杩涜涓�/宸插畬鎴愮殑浠诲姟锛屾棤娉曡繘琛屽垹闄�"); + } + if(ywPatrolTaskMapper.selectCount(new QueryWrapper<YwPatrolTask>().lambda() + .eq(YwPatrolTask::getSchemeId,id) + .eq(YwPatrolTask::getStatus,Constants.ZERO) + .le(YwPatrolTask::getEndDate,"now()") + )>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪宸茶秴鏈熺殑浠诲姟锛屾棤娉曡繘琛屽垹闄�"); + } ywPatrolSchemeMapper.deleteById(id); } 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..92357ea 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 @@ -56,6 +56,8 @@ @Autowired private YwPatrolTaskMapper ywPatrolTaskMapper; + @Autowired + private YwPatrolSchemeMapper ywPatrolSchemeMapper; @Override @@ -149,7 +151,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 +164,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 +183,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()) @@ -189,7 +197,8 @@ 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,13 +207,36 @@ .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()) + ); + } }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()) + ); + } } //闄勪欢鏁版嵁 if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywPatrolTaskRecord.getMultifileList())){ @@ -239,6 +271,7 @@ .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) 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 57dc76a..b5998ec 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 @@ -94,7 +94,7 @@ .eq(YwPatrolTask::getId,id) .last(" limit 1 ")) ; - if(Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.TWO) && + if((Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.ZERO) || Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.ONE) ) && ywPatrolTask.getEndDate().getTime()<System.currentTimeMillis()){ ywPatrolTask.setStatus(Constants.TWO); } @@ -156,8 +156,8 @@ ; IPage<YwPatrolTask> iPage = ywPatrolTaskMapper.selectJoinPage(page,YwPatrolTask.class,queryWrapper); for (YwPatrolTask ywPatrolTask:iPage.getRecords()) { - if(Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.TWO) && - ywPatrolTask.getEndDate().getTime()<System.currentTimeMillis()){ + if((Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.ZERO) || Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.ONE) ) && + ywPatrolTask.getEndDate().getTime()<System.currentTimeMillis()){ ywPatrolTask.setStatus(Constants.TWO); } } -- Gitblit v1.9.3