MrShi
2025-01-06 e1ec365640eefdcb06abb1d73da0d80367f79be3
Merge branch 'master' of http://139.186.142.91:10010/r/productDev/funingyunwei
已添加1个文件
已修改26个文件
269 ■■■■ 文件已修改
server/system_gateway/src/main/resources/application-pro.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_gateway/src/main/resources/bootstrap-dev.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_gateway/src/main/resources/bootstrap.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_timer/src/main/resources/application-pro.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_timer/src/main/resources/application-test.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_timer/src/main/resources/bootstrap-dev.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/admin_timer/src/main/java/com/doumee/api/YwTimerController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/admin_timer/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/admin_timer/src/main/resources/bootstrap-dev.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/ExcelTestDemo.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/resources/bootstrap-dev.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/resources/bootstrap.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolSchemeService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/resources/application-pro.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_gateway/src/main/resources/application-pro.yml
@@ -1,7 +1,7 @@
spring:
  # æ•°æ®æºé…ç½®
  datasource:
    url: jdbc:mysql://rm-bp136n33jr035pbfl3o.mysql.rds.aliyuncs.com:3306/funingyunwei?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
    url: jdbc:mysql://rm-bp136n33jr035pbfl.mysql.rds.aliyuncs.com:3306/funingyunwei?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
    username: zhcg
    password: Fnwtzx@1127$dmtt
    driver-class-name: com.mysql.cj.jdbc.Driver
server/system_gateway/src/main/resources/bootstrap-dev.yml
@@ -7,7 +7,7 @@
      discovery:
        server-addr: http://175.27.187.84:8848 #配置Nacos地址
#        namespace: dmvisit
        namespace: dmvisit_dev
        namespace: dev_renkang
        username: nacos
        password: nacos
    gateway:
server/system_gateway/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
spring:
  profiles:
    active: pro
    active: dev
  application:
    name: system_gateway
  # å®‰å…¨é…ç½®
server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -1968,13 +1968,13 @@
    }
    /**
     * å¾—到当前日期时间,格式为yyyy-MM-dd hh:mm:ss.
     * å¾—到当前日期时间,格式为yyyy-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);
    }
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();
}
server/system_timer/src/main/resources/application-pro.yml
@@ -1,7 +1,7 @@
spring:
  # æ•°æ®æºé…ç½®
  datasource:
    url: jdbc:mysql://rm-bp136n33jr035pbfl3o.mysql.rds.aliyuncs.com:3306/funingyunwei?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
    url: jdbc:mysql://rm-bp136n33jr035pbfl.mysql.rds.aliyuncs.com:3306/funingyunwei?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
    username: zhcg
    password: Fnwtzx@1127$dmtt
    driver-class-name: com.mysql.cj.jdbc.Driver
server/system_timer/src/main/resources/application-test.yml
@@ -1,7 +1,7 @@
spring:
  # æ•°æ®æºé…ç½®
  datasource:
    url: jdbc:mysql://sh-cdb-aiskr3vy.sql.tencentcdb.com:62443/antaiwuliu?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
    url: jdbc:mysql://sh-cdb-aiskr3vy.sql.tencentcdb.com:62443/funingyunwei?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
    username: doumee
    password: rtjgfEr@&0c0m
    driver-class-name: com.mysql.cj.jdbc.Driver
server/system_timer/src/main/resources/bootstrap-dev.yml
@@ -23,6 +23,6 @@
      #        data-id: com.doumee.meeting.admin
      discovery:
        server-addr: http://175.27.187.84:8848 #配置Nacos地址
        namespace: dmvisit_dev
        namespace: dev_renkang
        username: nacos
        password: nacos
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("定时生成今日巡检任务任务执行中");
    }
server/visits/admin_timer/src/main/resources/application.yml
@@ -64,7 +64,7 @@
  compression:
    enabled: true
    mime-types: application/json
  port: 10031
  port: 10037
  tomcat:
    max-swallow-size: -1
  servlet:
server/visits/admin_timer/src/main/resources/bootstrap-dev.yml
@@ -23,6 +23,6 @@
#        data-id: com.doumee.meeting.admin
      discovery:
        server-addr: http://175.27.187.84:8848 #配置Nacos地址
        namespace: dmvisit
        namespace: dev_renkang
        username: nacos
        password: nacos
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));
    }
}
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); // å°†ä¿®æ”¹åŽçš„æ–‡æ¡£å†™å…¥è¾“出流
            }
        } 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;
    }
}
server/visits/dmvisit_admin/src/main/resources/bootstrap-dev.yml
@@ -24,7 +24,7 @@
      discovery:
        server-addr: http://175.27.187.84:8848 #配置Nacos地址
#        namespace: dmvisit
        namespace: dmvisit_dev
        namespace: dev_renkang
        username: nacos
        password: nacos
# swagger配置
server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
spring:
  profiles:
    active: pro
    active: dev
  application:
    name: visitsAdmin
    # å®‰å…¨é…ç½®
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java
@@ -111,6 +111,9 @@
    @TableField(exist = false)
    private String pointCode;
    @ApiModelProperty(value = "设备主键")
    @TableField(exist = false)
    private Integer deviceId;
    @ApiModelProperty(value = "附件列表")
    @TableField(exist = false)
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java
@@ -103,4 +103,7 @@
    YwDeviceDataVO getYwDeviceData();
    YwDevice findByCode(String deviceCode);
}
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();
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -549,7 +549,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);
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())
                        );
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){
                        //如果费用正好,则修改账单信息为已结清
                        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);
    }
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);
    }
}
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);
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);
    }
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
@@ -175,7 +177,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);
        }
@@ -187,13 +190,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)){
@@ -202,8 +209,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())
@@ -215,7 +223,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)
@@ -224,13 +233,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())){
@@ -265,6 +297,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)
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);
            }
        }
server/visits/dmvisit_service/src/main/resources/application-pro.yml
@@ -1,7 +1,7 @@
spring:
  # æ•°æ®æºé…ç½®
  datasource:
    url: jdbc:mysql://rm-bp136n33jr035pbfl3o.mysql.rds.aliyuncs.com:3306/funingyunwei?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
    url: jdbc:mysql://rm-bp136n33jr035pbfl.mysql.rds.aliyuncs.com:3306/funingyunwei?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
    username: zhcg
    password: Fnwtzx@1127$dmtt
    driver-class-name: com.mysql.cj.jdbc.Driver