Przeglądaj źródła

运行记录1210-运行记录工单保存优化

yuanchao 1 tydzień temu
rodzic
commit
e29ac36ae4

+ 13 - 2
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotopeationfill/IotOpeationFillController.java

@@ -113,13 +113,24 @@ public class IotOpeationFillController {
             List<IotOpeationFillSaveReqVO> fillList = createReqVO;
 
             for (IotOpeationFillSaveReqVO fill:fillList) {
-
                 //累计并且设置了累计值,数据累加
                 //累计并且设置了累计值,数据不累加
                 if(fill.getIsSum()==1&&fill.getDefaultValue()!=""&&fill.getSumId()==1){
+
+                    LocalTime localTime = LocalTime.of(0,0);
+                    IotDeviceRunLogDO fillLog = new IotDeviceRunLogDO();
+                    fillLog.setDeviceId(fill.getDeviceId());
+                    fillLog.setPointName(fill.getPointName());
+                    fillLog.setCreateTime(LocalDateTime.of(fill.getCreateTime(),localTime));
+                    IotDeviceRunLogDO maxFillData = iotOpeationFillService.maxReportData(fillLog);
+
                     for (IotOpeationFillSaveReqVO fill1:fillList) {
                         if(Long.parseLong(fill.getDefaultValue())==fill1.getModelId()){
-                            fill.setTotalRunTime(fill.getTotalRunTime().add(new BigDecimal(fill1.getFillContent())));
+                            if(maxFillData!=null){
+                                fill.setTotalRunTime(maxFillData.getTotalRunTime().add(new BigDecimal(fill1.getFillContent())));
+                            }else{
+                                fill.setTotalRunTime(fill.getTotalRunTime().add(new BigDecimal(fill1.getFillContent())));
+                            }
                         }
                     }
                 }else if(fill.getIsSum()==1&&fill.getDefaultValue()!=""&&fill.getSumId()==0){

+ 3 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotopeationfill/IotOpeationFillMapper.java

@@ -246,6 +246,9 @@ public interface IotOpeationFillMapper extends BaseMapperX<IotOpeationFillDO> {
     @TenantIgnore
     IotDeviceRunLogDO reportData(IotDeviceRunLogDO runLogDO);
 
+    @TenantIgnore
+    IotDeviceRunLogDO maxReportData(IotDeviceRunLogDO runLogDO);
+
     @TenantIgnore
     IotDeviceRunLogDO reportData1(IotDeviceRunLogDO runLogDO);
 

+ 2 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotopeationfill/IotOpeationFillService.java

@@ -173,6 +173,8 @@ public interface IotOpeationFillService {
 
     IotDeviceRunLogDO reportData(IotDeviceRunLogDO runLogDO);
 
+    IotDeviceRunLogDO maxReportData(IotDeviceRunLogDO runLogDO);
+
     IotDeviceRunLogDO reportData1(IotDeviceRunLogDO runLogDO);
 
     IotDeviceRunLogDO getDesc(IotDeviceRunLogDO runLogDO);

+ 5 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotopeationfill/IotOpeationFillServiceImpl.java

@@ -441,6 +441,11 @@ public class IotOpeationFillServiceImpl implements IotOpeationFillService {
         return iotOpeationFillMapper.reportData(runLogDO);
     }
 
+    @Override
+    public IotDeviceRunLogDO maxReportData(IotDeviceRunLogDO runLogDO) {
+        return iotOpeationFillMapper.maxReportData(runLogDO);
+    }
+
     @Override
     public IotDeviceRunLogDO reportData1(IotDeviceRunLogDO runLogDO) {
         return iotOpeationFillMapper.reportData1(runLogDO);

+ 12 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/IotOpeationFillMapper.xml

@@ -1165,6 +1165,18 @@
           and DATE(create_time) = DATE(#{createTime})
     </select>
 
+    <select id="maxReportData" parameterType="cn.iocoder.yudao.module.pms.dal.dataobject.iotdevicerunlog.IotDeviceRunLogDO"
+            resultType="cn.iocoder.yudao.module.pms.dal.dataobject.iotdevicerunlog.IotDeviceRunLogDO">
+        SELECT
+            MAX(total_Run_Time) AS total_run_time
+        FROM
+        rq_iot_device_run_log
+        WHERE
+        device_id = #{deviceId}
+        AND point_name = #{pointName}
+        AND create_time &lt; #{createTime}
+    </select>
+
     <select id="reportData1" parameterType="cn.iocoder.yudao.module.pms.dal.dataobject.iotdevicerunlog.IotDeviceRunLogDO"
             resultType="cn.iocoder.yudao.module.pms.dal.dataobject.iotdevicerunlog.IotDeviceRunLogDO">
         select * from