Browse Source

feature 代码提交

xiahan 9 months ago
parent
commit
760bb22ccb

+ 7 - 1
cx-equipment/cx-equipment-common/pom.xml

@@ -82,5 +82,11 @@
             <version>1.1-SNAPSHOT</version>
             <version>1.1-SNAPSHOT</version>
             <scope>compile</scope>
             <scope>compile</scope>
         </dependency>
         </dependency>
+        <dependency>
+            <groupId>e-iceblue</groupId>
+            <artifactId>spire.doc.free</artifactId>
+            <version>5.1.0</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
     </dependencies>
-</project>
+</project>

+ 4 - 0
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/dao/EquGdyMeterDao.java

@@ -3,11 +3,15 @@ package com.rongwei.bscommon.sys.dao;
 import com.rongwei.bsentity.domain.EquGdyMeterDo;
 import com.rongwei.bsentity.domain.EquGdyMeterDo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 
+import java.util.List;
+
 /**
 /**
  * @Entity com.rongwei.training.domain.EquGdyMeter
  * @Entity com.rongwei.training.domain.EquGdyMeter
  */
  */
 public interface EquGdyMeterDao extends BaseMapper<EquGdyMeterDo> {
 public interface EquGdyMeterDao extends BaseMapper<EquGdyMeterDo> {
 
 
+    List<String> selectNoRecordMeterId();
+
 }
 }
 
 
 
 

+ 9 - 0
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/dao/EquGdyRecordDao.java

@@ -2,12 +2,21 @@ package com.rongwei.bscommon.sys.dao;
 
 
 import com.rongwei.bsentity.domain.EquGdyRecordDo;
 import com.rongwei.bsentity.domain.EquGdyRecordDo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.spire.ms.System.Collections.Generic.List;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
+
 
 
 /**
 /**
  * @Entity com.rongwei.training.domain.EquGdyRecord
  * @Entity com.rongwei.training.domain.EquGdyRecord
  */
  */
+@Mapper
 public interface EquGdyRecordDao extends BaseMapper<EquGdyRecordDo> {
 public interface EquGdyRecordDao extends BaseMapper<EquGdyRecordDo> {
 
 
+    List<String> getMeteridByDate(@Param("startDate") Date startDate,@Param("tenantId") String tenantId);
+
 }
 }
 
 
 
 

+ 4 - 0
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/EquGdyRecordService.java

@@ -5,6 +5,8 @@ import com.rongwei.bsentity.domain.EquGdyRecordDo;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.rongwei.rwcommon.base.R;
 import com.rongwei.rwcommon.base.R;
 
 
+import java.util.Date;
+
 /**
 /**
  *
  *
  */
  */
@@ -13,4 +15,6 @@ public interface EquGdyRecordService extends IService<EquGdyRecordDo> {
     R generateDailyRecords();
     R generateDailyRecords();
 
 
     R saveData(EquGdyRecordDo equGdyRecordDo);
     R saveData(EquGdyRecordDo equGdyRecordDo);
+
+    R generateByDate(Date startDate, Date endDate);
 }
 }

+ 51 - 2
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquGdyRecordServiceImpl.java

@@ -12,6 +12,7 @@ import com.rongwei.rwcommon.base.BaseDo;
 import com.rongwei.rwcommon.base.R;
 import com.rongwei.rwcommon.base.R;
 import com.rongwei.rwcommon.base.exception.CustomException;
 import com.rongwei.rwcommon.base.exception.CustomException;
 import com.rongwei.rwcommon.utils.SecurityUtil;
 import com.rongwei.rwcommon.utils.SecurityUtil;
+import com.rongwei.safecommon.utils.CXCommonUtils;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -22,6 +23,7 @@ import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 
 
 /**
 /**
@@ -108,6 +110,53 @@ public class EquGdyRecordServiceImpl extends ServiceImpl<EquGdyRecordDao, EquGdy
         return R.ok(currentData);
         return R.ok(currentData);
     }
     }
 
 
+    @Override
+    public R generateByDate(Date startDate, Date endDate) {
+        String currentUserFactoryId = CXCommonUtils.getCurrentUserFactoryId(null);
+        // 获取所有的表具信息
+        List<EquGdyMeterDo> gdyMeterDoList = equGdyMeterService.list(new LambdaQueryWrapper<EquGdyMeterDo>()
+                .eq(BaseDo::getDeleted, "0")
+                .eq(EquGdyMeterDo::getStatus, "enable")
+                .eq(EquGdyMeterDo::getTenantid, currentUserFactoryId));
+        Calendar startInstance = Calendar.getInstance();
+        startInstance.setTime(startDate);
+        Calendar endInstance = Calendar.getInstance();
+        endInstance.setTime(endDate);
+        Date now = new Date();
+        List<EquGdyRecordDo> saveData = new ArrayList<>();
+        while (startInstance.compareTo(endInstance)<=0) {
+            // 获取当天的数据
+            List<String> meteridList = this.getBaseMapper().getMeteridByDate(startInstance.getTime(), currentUserFactoryId);
+            // 获取没有生成数量的表具信息
+            List<EquGdyRecordDo> collect = gdyMeterDoList.stream().filter(data -> !meteridList.contains(data.getId()))
+                    .map(info -> {
+                                EquGdyRecordDo equGdyRecordDo = new EquGdyRecordDo();
+                                equGdyRecordDo.setId(SecurityUtil.getUUID());
+                                equGdyRecordDo.setEnergytype(info.getEnergytype());
+                                equGdyRecordDo.setMeterid(info.getId());
+                                equGdyRecordDo.setMetername(info.getMetername());
+                                equGdyRecordDo.setMetercode(info.getMetercode());
+                                equGdyRecordDo.setCbdate(startInstance.getTime());
+                                equGdyRecordDo.setUsedeptid(info.getUsedeptid());
+                                equGdyRecordDo.setCreatedate(now);
+                                equGdyRecordDo.setModifydate(now);
+                                equGdyRecordDo.setTenantid(info.getTenantid());
+                                equGdyRecordDo.setMeterlocation(info.getMeterlocation());
+                                equGdyRecordDo.setYear(startInstance.get(Calendar.YEAR));
+                                equGdyRecordDo.setMonth(startInstance.get(Calendar.MONTH) + 1);
+                                equGdyRecordDo.setDay(startInstance.get(Calendar.DAY_OF_MONTH));
+                                return equGdyRecordDo;
+                            }
+                    ).collect(Collectors.toList());
+            saveData.addAll(collect);
+            startInstance.add(Calendar.DATE, 1);
+        }
+        if (!saveData.isEmpty()) {
+            this.saveBatch(saveData, 100);
+        }
+        return R.ok();
+    }
+
     public EquGdyRecordDo dataFromTheDayBefore(EquGdyRecordDo equGdyRecordDo, int changeDay) {
     public EquGdyRecordDo dataFromTheDayBefore(EquGdyRecordDo equGdyRecordDo, int changeDay) {
         Date cbdate = equGdyRecordDo.getCbdate();
         Date cbdate = equGdyRecordDo.getCbdate();
         if (cbdate == null) {
         if (cbdate == null) {
@@ -119,10 +168,10 @@ public class EquGdyRecordServiceImpl extends ServiceImpl<EquGdyRecordDao, EquGdy
         instance.add(Calendar.DATE, changeDay);
         instance.add(Calendar.DATE, changeDay);
         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
 
 
-        return  this.getOne(new LambdaQueryWrapper<EquGdyRecordDo>()
+        return this.getOne(new LambdaQueryWrapper<EquGdyRecordDo>()
                 .eq(BaseDo::getDeleted, "0")
                 .eq(BaseDo::getDeleted, "0")
                 .eq(EquGdyRecordDo::getCbdate, dateFormat.format(instance.getTime()))
                 .eq(EquGdyRecordDo::getCbdate, dateFormat.format(instance.getTime()))
-                .eq(EquGdyRecordDo::getMeterid, equGdyRecordDo.getMeterid()),false);
+                .eq(EquGdyRecordDo::getMeterid, equGdyRecordDo.getMeterid()), false);
     }
     }
 }
 }
 
 

+ 13 - 0
cx-equipment/cx-equipment-common/src/main/resources/mybatis/business/EquGdyRecordDao.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.rongwei.bscommon.sys.dao.EquGdyRecordDao">
+    <select id="getMeteridByDate" resultType="java.lang.String">
+        select DISTINCT METERID
+        from equ_gdy_record
+        <where>
+            DELETED='0'
+            and CBDATE = #{startDate}
+            and TENANTID = #{tenantId}
+        </where>
+    </select>
+</mapper>

+ 13 - 8
cx-equipment/cx-equipment-server/src/main/java/com/rongwei/bsserver/sys/controller/EquGdyRecordController.java

@@ -1,17 +1,16 @@
 package com.rongwei.bsserver.sys.controller;
 package com.rongwei.bsserver.sys.controller;
 
 
+import com.rongwei.bscommon.sys.service.impl.EquGdyRecordServiceImpl;
 import com.rongwei.bsentity.domain.EquGdyRecordDo;
 import com.rongwei.bsentity.domain.EquGdyRecordDo;
-import com.rongwei.bsentity.dto.EquipmentDisposeDTO;
 import com.rongwei.rwcommon.base.R;
 import com.rongwei.rwcommon.base.R;
-import com.rongwei.bscommon.sys.service.impl.EquGdyRecordServiceImpl;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
 
 
 /**
 /**
  * EquGdyRecordController class
  * EquGdyRecordController class
@@ -29,12 +28,18 @@ public class EquGdyRecordController {
 
 
     @Scheduled(cron = "1 0 0 * * ? ")
     @Scheduled(cron = "1 0 0 * * ? ")
     @PostMapping("/write")
     @PostMapping("/write")
-    public R generateDailyRecords(){
+    public R generateDailyRecords() {
         return equGdyRecordService.generateDailyRecords();
         return equGdyRecordService.generateDailyRecords();
     }
     }
 
 
     @PostMapping("/save")
     @PostMapping("/save")
-    public R saveData(@RequestBody EquGdyRecordDo equGdyRecordDo){
+    public R saveData(@RequestBody EquGdyRecordDo equGdyRecordDo) {
         return equGdyRecordService.saveData(equGdyRecordDo);
         return equGdyRecordService.saveData(equGdyRecordDo);
     }
     }
+
+    @PostMapping("/generate-by-date")
+    public R generateByDate(@RequestParam("startDate") @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate,
+                            @RequestParam("endDate") @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate) {
+        return equGdyRecordService.generateByDate(startDate, endDate);
+    }
 }
 }