Browse Source

设备导出xml

lin 4 years ago
parent
commit
7549f4effb

+ 1 - 1
smart-city-intf/src/main/java/com/zcxk/smartcity/data/access/common/RedisUtil.java

@@ -141,7 +141,7 @@ public class RedisUtil {
             byte[] keys = serializer.serialize(key);
             byte[] values = serializer.serialize(value);
             connection.set(keys, values);
-            log.info("[redisTemplate redis]放入 缓存  url:{}", key);
+            //log.info("[redisTemplate redis]放入 缓存  url:{}", key);
             return 1L;
         });
     }

+ 1 - 0
smart-city-intf/src/main/java/com/zcxk/smartcity/data/access/dao/ConfigMapper.java

@@ -16,4 +16,5 @@ public interface ConfigMapper {
 
     Config findByName(@Param("name") String name);
 
+    Config findByValue(@Param("value") String value);
 }

+ 3 - 1
smart-city-intf/src/main/java/com/zcxk/smartcity/data/access/dto/ConfigDataDto.java

@@ -2,8 +2,10 @@ package com.zcxk.smartcity.data.access.dto;
 
 import lombok.Data;
 
+import java.io.Serializable;
+
 @Data
-public class ConfigDataDto {
+public class ConfigDataDto implements Serializable {
     private String name;
     private String value;
 }

+ 1 - 1
smart-city-intf/src/main/java/com/zcxk/smartcity/data/access/service/impl/ConfigServiceImpl.java

@@ -22,7 +22,7 @@ public class ConfigServiceImpl implements ConfigService {
     @Override
     @Cacheable(value = "CacheConfigData", key = "#type",unless = "#result == null")
     public List<ConfigDataDto> getConfigData(String type) {
-        Config config = configMapper.findByName(type);
+        Config config = configMapper.findByValue(type);
         List<ConfigDataDto> list = newArrayList();
         if (config != null) {
             list = configMapper.findByParentId(config.getId());

+ 1 - 0
smart-city-intf/src/main/java/com/zcxk/smartcity/data/access/service/impl/DeviceDataServiceV2Impl.java

@@ -239,6 +239,7 @@ public class DeviceDataServiceV2Impl implements DeviceDataServiceV2 {
 
     private boolean matches(Integer customerId) {
         List<ConfigDataDto> configDataList = configService.getConfigData("push_valve_config");
+        //log.info("customerId={},configDataList={}",customerId,JSON.toJSON(configDataList));
         if (configDataList != null && configDataList.size() > 0) {
             for (ConfigDataDto configDataDto : configDataList) {
                 if(StringUtils.equals(configDataDto.getValue(),customerId.toString())){

+ 1 - 1
smart-city-intf/src/main/resources/application.properties

@@ -1,2 +1,2 @@
 #开发环境:dev  测试环境:sit  线上环境:prd
-spring.profiles.active=uat
+spring.profiles.active=sit

+ 5 - 0
smart-city-intf/src/main/resources/mapper/ConfigMapper.xml

@@ -41,5 +41,10 @@
         where status = 1 and config_name = #{name}
     </select>
 
+    <select id="findByValue" resultMap="BaseResultMap">
+        select <include refid="Base_Column_List"/> from sc_config_t
+        where status = 1 and config_value = #{value}
+    </select>
+
 </mapper>
 

+ 16 - 0
smart-city-platform/src/main/java/com/bz/smart_city/controller/clearing/WaterClearingController.java

@@ -192,6 +192,22 @@ public class WaterClearingController {
 		clearingRecordItemService.exportClearingRecordItemList(recordId,isAudit,beginWsv,endWsv,sortColumn,sortOrder,httpServletResponse);
 	}
 
+	@GetMapping("/item/list/exportXml")
+	@PreAuthorize("hasAuthority('clearing:item:export')")
+	@ApiOperation(value = "导出结算明细",notes = "权限:clearing:item:export")
+	public void exportClearingItemXml(
+			@ApiParam(value = "记录ID", required = true) @RequestParam(required = true) Integer recordId,
+			@ApiParam(value = "是否审核,0审核,1已审核", required = true) @RequestParam(required = true) Integer isAudit,
+			@ApiParam(value = "用水量(起)", required = false) @RequestParam(required = false) Double beginWsv,
+			@ApiParam(value = "用水量(止)", required = false) @RequestParam(required = false) Double endWsv,
+			@ApiParam(value = "排序参数,对应列表字段", required = false) @RequestParam(required = false) String sortColumn,
+			@ApiParam(value = "排序方式,顺序:ASC  倒序:DESC", required = false) @RequestParam(required = false) String sortOrder,
+			@ApiParam(value = "token", required = true) @RequestParam(required = true) String token,
+			HttpServletResponse httpServletResponse
+	){
+		clearingRecordItemService.exportClearingRecordItemListXml(recordId,isAudit,beginWsv,endWsv,sortColumn,sortOrder,httpServletResponse);
+	}
+
 	/**
 	 * 结算记录明细审核(单个)
 	 */

+ 2 - 0
smart-city-platform/src/main/java/com/bz/smart_city/dto/ClearingItemDTO.java

@@ -37,4 +37,6 @@ public class ClearingItemDTO extends ClearingRecordItem {
 	@JsonFormat(pattern = "yyyy-MM-dd")
 	@ApiModelProperty(value = "结算结束时间")
 	private Date clearingEndDate;
+
+	String userNo ;
 }

+ 2 - 0
smart-city-platform/src/main/java/com/bz/smart_city/service/DeviceService.java

@@ -66,6 +66,8 @@ public interface DeviceService{
                                Integer days,
                                HttpServletResponse httpServletResponse);
 
+    void genrateXMLFile(List<JinNanSyncDTO> datas,HttpServletResponse response) throws Exception;
+
     void add(DeviceDataDto deviceDataDto);
 
     String synArchives(String jsonStirig);

+ 2 - 0
smart-city-platform/src/main/java/com/bz/smart_city/service/clearing/ClearingRecordItemService.java

@@ -23,6 +23,8 @@ public interface ClearingRecordItemService{
 
     void exportClearingRecordItemList(Integer recordId , Integer isAudit , Double beginWsv , Double endWsv, String sortColumn, String sortOrder, HttpServletResponse httpServletResponse);
 
+    void exportClearingRecordItemListXml(Integer recordId , Integer isAudit , Double beginWsv , Double endWsv, String sortColumn, String sortOrder, HttpServletResponse httpServletResponse);
+
     /**
          * 审核结算明细(单个)
      * @param clearingRecordItemId

+ 30 - 0
smart-city-platform/src/main/java/com/bz/smart_city/service/clearing/impl/ClearingRecordItemServiceImpl.java

@@ -2,7 +2,10 @@ package com.bz.smart_city.service.clearing.impl;
 
 import com.bz.smart_city.commom.constant.DeviceStatusEnum;
 import com.bz.smart_city.commom.util.ExcelUtil;
+import com.bz.smart_city.dto.JinNanSyncDTO;
 import com.bz.smart_city.dto.assistant.InstallListDTO;
+import com.bz.smart_city.service.DeviceService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
@@ -40,6 +43,8 @@ public class ClearingRecordItemServiceImpl implements ClearingRecordItemService{
 
     @Resource
     private ClearingRecordMapper clearingRecordMapper;
+    @Autowired
+	private DeviceService deviceService;
     
     @Resource
     private CustomerService customerService;
@@ -97,6 +102,31 @@ public class ClearingRecordItemServiceImpl implements ClearingRecordItemService{
 		}
 	}
 
+	@Override
+	public void exportClearingRecordItemListXml(Integer recordId, Integer isAudit, Double beginWsv, Double endWsv, String sortColumn, String sortOrder, HttpServletResponse httpServletResponse) {
+
+		List<ClearingItemDTO> rtnList = clearingRecordItemMapper.queryClearingRecordItemList(recordId, isAudit, beginWsv, endWsv, sortColumn, sortOrder);
+		List<JinNanSyncDTO> list = newArrayList();
+		if (rtnList != null && rtnList.size() > 0) {
+			for (ClearingItemDTO clearingItem : rtnList) {
+				JinNanSyncDTO sync = new JinNanSyncDTO();
+				sync.setDeviceNo(clearingItem.getDeviceNo());
+				sync.setUserNo(clearingItem.getUserNo());
+				sync.setMeterNo(clearingItem.getWaterMeterNo());
+				sync.setDeviceId(clearingItem.getDeviceId());
+				sync.setReadDate(clearingItem.getCurrentPeriodDate());
+				sync.setWsv(clearingItem.getCurrentPeriodData());
+				list.add(sync);
+			}
+		}
+		// 2,导出XML
+		try {
+			deviceService.genrateXMLFile(list,httpServletResponse);
+		} catch (Exception e) {
+			throw new ServiceException(-900, "导出异常");
+		}
+	}
+
 	@Override
 	public int auditClearingRecordItem(Integer clearingRecordItemId) {
 		ClearingRecordItem dto = new ClearingRecordItem();

+ 3 - 2
smart-city-platform/src/main/java/com/bz/smart_city/service/impl/DeviceServiceImpl.java

@@ -426,14 +426,15 @@ public  class DeviceServiceImpl implements DeviceService {
         }
     }
 
-    protected void genrateXMLFile(List<JinNanSyncDTO> datas,HttpServletResponse response) throws Exception {
+    @Override
+    public void genrateXMLFile(List<JinNanSyncDTO> datas,HttpServletResponse response) throws Exception {
         String title = "设备列表";
         Element root = new Element("NewDataSet");
         Document Doc = new Document(root);
         for (JinNanSyncDTO  data :  datas) {
 
             Element elements = new Element("流量数据");
-            elements.addContent(new Element("水表注册号").setText(data.getMeterNo()));
+            elements.addContent(new Element("水表档案号").setText(data.getMeterNo()));
             elements.addContent(new Element("用户注册号").setText(data.getUserNo()));
             elements.addContent(new Element("本次表数").setText(data.getWsv()));
             elements.addContent(new Element("本次抄表日期").setText(DateTimeUtil.formatDate(data.getReadDate(), DateTimeUtil.DATE_TIME_FORMAT)));

+ 3 - 1
smart-city-platform/src/main/resources/mapper/ClearingRecordItemMapper.xml

@@ -313,10 +313,12 @@
 		current_period_date,
 		is_audit,
 		r.clearing_start_date,
-		r.clearing_end_date
+		r.clearing_end_date,
+        mu.user_no
 	FROM
 		sc_clearing_record_item it
 		LEFT JOIN sc_clearing_record r ON ( it.record_id = r.id )
+        left join sc_meter_user mu on (it.water_meter_no = mu.meter_no)
   	where 
   		record_id = #{clearingRecordId}
   	<if test="isAudit != null ">