lin 3 年之前
父节点
当前提交
c14ed53048

+ 2 - 0
zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/dto/install/InstallDeviceDto.java

@@ -1,5 +1,6 @@
 package com.zcxk.rmcp.api.dto.install;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -35,6 +36,7 @@ public class InstallDeviceDto {
     @ApiModelProperty(value="阀门状态 0:关,1:开,2:无阀")
     private Integer valveStatus;
 
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value="最后上报时间")
     private LocalDateTime lastReceiveTime;
 

+ 4 - 0
zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/vo/DeviceVo.java

@@ -1,5 +1,6 @@
 package com.zcxk.rmcp.api.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -63,6 +64,7 @@ public class DeviceVo {
     @ApiModelProperty(value="阀门状态 0:关,1:开,2:无阀")
     private Integer valveStatus;
 
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value="最后上报时间")
     private LocalDateTime lastReceiveTime;
 
@@ -72,12 +74,14 @@ public class DeviceVo {
     @ApiModelProperty(value="创建人")
     private String createBy;
 
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value="创建时间")
     private LocalDateTime createDate;
 
     @ApiModelProperty(value="更新人")
     private String updateBy;
 
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value="更新时间")
     private LocalDateTime updateDate;
 

+ 2 - 1
zoniot-rmcp/zoniot-rmcp-core/src/main/java/com/zcxk/rmcp/core/dao/InstallListMapper.java

@@ -1,5 +1,6 @@
 package com.zcxk.rmcp.core.dao;
 
+import com.zcxk.rmcp.api.dto.install.InstallDeviceDto;
 import com.zcxk.rmcp.api.dto.install.InstallListDto;
 import com.zcxk.rmcp.api.vo.InstallListVo;
 import com.zcxk.rmcp.core.entity.InstallList;
@@ -22,7 +23,7 @@ public interface InstallListMapper {
 
     List<InstallListDto> getList(@Param("planId") Integer planId);
 
-    List<InstallListDto> getInstallList(@Param("planId") Integer planId);
+    List<InstallDeviceDto> getInstallList(@Param("planId") Integer planId);
 
     List<InstallListVo> getUnInstallList(@Param("planId") Integer planId);
 

+ 14 - 2
zoniot-rmcp/zoniot-rmcp-core/src/main/java/com/zcxk/rmcp/core/mapper/InstallListMapper.xml

@@ -262,8 +262,20 @@
     where ril.status = 1 and ril.install_plan_id = #{planId}
   </select>
 
-  <select id="getInstallList" resultType="com.zcxk.rmcp.api.dto.install.InstallListDto">
-    select ril.id,ril.install_plan_data_id,ril.device_id,ril.door_no,ril.is_installed,ril.is_accepted,rd.device_status
+  <select id="getInstallList" resultType="com.zcxk.rmcp.api.dto.install.InstallDeviceDto">
+    select
+    ril.id,
+    rd.id as device_id,
+    rd.device_no,
+    rd.meter_no,
+    rd.device_status,
+    rd.address,
+    rd.read_data,
+    rd.valve_status,
+    rd.last_receive_time,
+    rd.user_name,
+    rd.user_phone,
+    rd.is_accept
     from rmcp_install_list ril
     left join rmcp_device rd on ril.device_id = rd.id
     where ril.status = 1 and rd.status = 1 and ril.install_plan_id = #{planId}

+ 7 - 4
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/InstallController.java

@@ -2,6 +2,7 @@ package com.zcxk.rmcp.web.controller;
 
 import com.zcxk.core.common.pojo.AjaxMessage;
 import com.zcxk.core.mysql.pageing.Pagination;
+import com.zcxk.rmcp.api.dto.install.InstallDeviceDto;
 import com.zcxk.rmcp.api.dto.install.InstallInputDto;
 import com.zcxk.rmcp.api.dto.install.InstallListDto;
 import com.zcxk.rmcp.core.entity.InstallList;
@@ -32,12 +33,14 @@ public class InstallController {
     @Autowired
     private InstallPlanService installPlanService;
 
-    @GetMapping("getInstallList")
+    @GetMapping("getInstallPage")
     @ApiOperation(value = "查询安装计划清单列表")
-    public AjaxMessage<Pagination<InstallListDto>> getInstallList(
-            @ApiParam(value = "安装计划id", required = true) @RequestParam(required = true) Integer id
+    public AjaxMessage<Pagination<InstallDeviceDto>> getInstallPage(
+            @ApiParam(value = "安装计划id", required = true) @RequestParam(required = true) Integer id,
+            @ApiParam(value = "页数,非必传,默认第一页", required = false, defaultValue = "1") @RequestParam(required = false, defaultValue = "1") int pageNum,
+            @ApiParam(value = "条数,非必传,默认15条", required = false, defaultValue = "15") @RequestParam(required = false, defaultValue = "15") int pageSize
     ) {
-        Pagination<InstallListDto> pagination = installListService.getInstallList(id);
+        Pagination<InstallDeviceDto> pagination = installListService.getInstallList(id,pageNum,pageSize);
         return AjaxMessage.success(pagination);
     }
 

+ 3 - 2
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/excel/resolver/listener/DeviceImportListener.java

@@ -35,12 +35,13 @@ public class DeviceImportListener extends AnalysisEventListener<DeviceImportData
     @Override
     public void invoke(DeviceImportData data, AnalysisContext analysisContext) {
         if (
-                data.getDeviceNo() == null && data.getDeviceTypeName() == null
-                && data.getMeterNo() == null && data.getCompanyOrgName() == null
+                data.getDeviceNo() == null || data.getDeviceTypeName() == null
+                && data.getMeterNo() == null || data.getCompanyOrgName() == null
         ) {
             data.setRemark("必填项不能为空");
             list.add(data);
             excelData.getFailNum().incrementAndGet();
+            return;
         }
         ResultMessage resultMessage = deviceService.saveExcelData(data,excelData);
         if(resultMessage.getStatus()){

+ 5 - 2
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/excel/resolver/listener/InstallImportListener.java

@@ -33,13 +33,16 @@ public class InstallImportListener extends AnalysisEventListener<InstallMeterDat
     }
     @Override
     public void invoke(InstallMeterData data, AnalysisContext analysisContext) {
+        System.out.println(data);
         if (
-                data.getDoorNo() == null && data.getMeterNo() == null
-                        && data.getDeviceNo() == null && data.getStartDegree() == null
+                data.getId() == null ||
+                        data.getDoorNo() == null || data.getMeterNo() == null
+                        || data.getDeviceNo() == null || data.getStartDegree() == null
         ) {
             data.setRemark("必填项不能为空");
             list.add(data);
             excelData.getFailNum().incrementAndGet();
+            return;
         }
         ResultMessage resultMessage = installListService.saveExcelData(data,excelData);
         if(resultMessage.getStatus()){

+ 15 - 5
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/excel/resolver/service/InstallHandleExcelService.java

@@ -5,18 +5,17 @@ import com.alibaba.excel.ExcelReader;
 import com.alibaba.excel.read.metadata.ReadSheet;
 import com.alibaba.fastjson.JSONObject;
 import com.zcxk.core.common.pojo.Message;
+import com.zcxk.rmcp.core.entity.ImportFile;
 import com.zcxk.rmcp.web.excel.download.adapter.DeviceExcelFillAdapter;
 import com.zcxk.rmcp.web.excel.download.adapter.InstallMeterExcelFillAdapter;
-import com.zcxk.rmcp.web.excel.model.CommImportData;
-import com.zcxk.rmcp.web.excel.model.DeviceImportData;
-import com.zcxk.rmcp.web.excel.model.DownloadExcelData;
-import com.zcxk.rmcp.web.excel.model.ExcelData;
+import com.zcxk.rmcp.web.excel.model.*;
 import com.zcxk.rmcp.web.excel.resolver.HandleExcelService;
 import com.zcxk.rmcp.web.excel.resolver.listener.CommDataListener;
 import com.zcxk.rmcp.web.excel.resolver.listener.DeviceImportListener;
 import com.zcxk.rmcp.web.excel.resolver.listener.InstallImportListener;
 import com.zcxk.rmcp.web.service.CommonService;
 import com.zcxk.rmcp.web.service.DeviceService;
+import com.zcxk.rmcp.web.service.ImportFileService;
 import com.zcxk.rmcp.web.service.install.InstallListService;
 import com.zcxk.rmcp.web.util.MessageSendUtil;
 import lombok.extern.slf4j.Slf4j;
@@ -41,6 +40,8 @@ public class InstallHandleExcelService implements HandleExcelService {
     private CommonService commonService;
     @Autowired
     private MessageSendUtil messageSendUtil;
+    @Autowired
+    private ImportFileService importFileService;
 
     @Override
     public void Handle(ExcelData data) {
@@ -49,7 +50,7 @@ public class InstallHandleExcelService implements HandleExcelService {
         InstallImportListener listener = new InstallImportListener(installListService,data);
 
 
-        ReadSheet readSheet1 = EasyExcel.readSheet(0).head(DeviceImportData.class).headRowNumber(4).registerReadListener(listener).build();
+        ReadSheet readSheet1 = EasyExcel.readSheet(0).head(InstallMeterData.class).headRowNumber(7).registerReadListener(listener).build();
         // 这里注意 一定要把sheet1 sheet2 一起传进去,不然有个问题就是03版的excel 会读取多次,浪费性能
         excelReader.read(readSheet1);
         // 这里千万别忘记关闭,读的时候会创建临时文件,到时磁盘会崩的
@@ -68,6 +69,15 @@ public class InstallHandleExcelService implements HandleExcelService {
             data.getImportFile().setFailFilePath(downloadExcelData.getFilePath());
         }
 
+        //  更新状态生成消息
+        ImportFile updateImportFile = new ImportFile();
+        updateImportFile.setId(data.getImportFile().getId());
+        updateImportFile.setImportStatus(1);
+        updateImportFile.setSuccessNum(data.getSuccessNum().get());
+        updateImportFile.setFailNum(data.getFailNum().get());
+        updateImportFile.setFailFilePath(data.getImportFile().getFailFilePath());
+        importFileService.updateByPrimaryKeySelective(updateImportFile);
+
         sendMessage(data);
     }
 

+ 4 - 1
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/service/AsyncTaskImportService.java

@@ -2,6 +2,7 @@ package com.zcxk.rmcp.web.service;
 
 import com.zcxk.rmcp.core.entity.ImportFile;
 import com.zcxk.rmcp.web.excel.resolver.ResolverExcelTemplate;
+import com.zcxk.rmcp.web.excel.resolver.service.InstallHandleExcelService;
 import com.zcxk.rmcp.web.excel.resolver.service.WaterDeviceHandleExcelService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -18,6 +19,8 @@ public class AsyncTaskImportService {
 
     @Autowired
     private WaterDeviceHandleExcelService waterDeviceHandleExcelService;
+    @Autowired
+    private InstallHandleExcelService installHandleExcelService;
 
     @Async
     public void executeAsyncDeviceTask(ImportFile importFile, Integer sysId){
@@ -30,7 +33,7 @@ public class AsyncTaskImportService {
     @Async
     public void executeAsyncInstallTask(ImportFile importFile, Integer sysId){
         log.info("begin executeAsyncInstallTask!");
-        ResolverExcelTemplate template = new ResolverExcelTemplate(waterDeviceHandleExcelService);
+        ResolverExcelTemplate template = new ResolverExcelTemplate(installHandleExcelService);
         template.build(null,null,importFile, null,"新装水表管理-批量添加水表");
         log.info("end executeAsyncInstallTask!");
     }

+ 2 - 2
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/service/install/InstallListService.java

@@ -1,8 +1,8 @@
 package com.zcxk.rmcp.web.service.install;
 
-import com.zcxk.core.common.pojo.AjaxMessage;
 import com.zcxk.core.common.pojo.ResultMessage;
 import com.zcxk.core.mysql.pageing.Pagination;
+import com.zcxk.rmcp.api.dto.install.InstallDeviceDto;
 import com.zcxk.rmcp.api.dto.install.InstallInputDto;
 import com.zcxk.rmcp.api.dto.install.InstallListDto;
 import com.zcxk.rmcp.core.entity.InstallList;
@@ -25,7 +25,7 @@ public interface InstallListService{
 
     void installEdit(InstallInputDto dto);
 
-    Pagination<InstallListDto> getInstallList(Integer id);
+    Pagination<InstallDeviceDto> getInstallList(Integer id, int pageNum, int pageSize);
 
     ResultMessage saveExcelData(InstallMeterData data, ExcelData excelData);
 }

+ 5 - 3
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/service/install/impl/InstallListServiceImpl.java

@@ -1,14 +1,15 @@
 package com.zcxk.rmcp.web.service.install.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.github.pagehelper.PageHelper;
 import com.zcxk.core.common.enums.StatusEnum;
 import com.zcxk.core.common.exception.BusinessException;
-import com.zcxk.core.common.pojo.AjaxMessage;
 import com.zcxk.core.common.pojo.ResultMessage;
 import com.zcxk.core.common.util.SnowflakeIdWorker;
 import com.zcxk.core.mysql.pageing.Pagination;
 import com.zcxk.core.oauth2.pojo.LoginUser;
 import com.zcxk.core.oauth2.util.UserUtil;
+import com.zcxk.rmcp.api.dto.install.InstallDeviceDto;
 import com.zcxk.rmcp.api.dto.install.InstallInputDto;
 import com.zcxk.rmcp.api.dto.install.InstallListDto;
 import com.zcxk.rmcp.api.enums.DeviceStatusEnum;
@@ -211,9 +212,10 @@ public class InstallListServiceImpl implements InstallListService {
     }
 
     @Override
-    public Pagination<InstallListDto> getInstallList(Integer id) {
+    public Pagination<InstallDeviceDto> getInstallList(Integer id, int pageNum, int pageSize) {
 
-        List<InstallListDto> list = installListMapper.getInstallList(id);
+        PageHelper.startPage(pageNum,pageSize);
+        List<InstallDeviceDto> list = installListMapper.getInstallList(id);
         return new Pagination<>(list);
     }
 

二进制
zoniot-rmcp/zoniot-rmcp-web/src/main/resources/excel/installMeterTemplate.xlsx