Merge remote-tracking branch 'origin/master' into master
正在显示
14 个修改的文件
包含
94 行增加
和
98 行删除
... | @@ -15,6 +15,10 @@ import com.skua.core.context.SpringContextUtils; | ... | @@ -15,6 +15,10 @@ import com.skua.core.context.SpringContextUtils; |
15 | * @version V0.1, 2021年2月26日 上午9:34:04 | 15 | * @version V0.1, 2021年2月26日 上午9:34:04 |
16 | */ | 16 | */ |
17 | public class ReportViewUtil { | 17 | public class ReportViewUtil { |
18 | |||
19 | public static String view2119 = "2119ecbf53a1d2d0708258ff67cfd9e1";// 水 COD TP TN NH3H | ||
20 | public static String view3a24 = "3a243d5715b9e1a3753c180872ca0df9";//能耗报表 | ||
21 | public static String view4411 = "4411ed3d78634bcdcd700f6e33724025";//生产运营周报 | ||
18 | /** | 22 | /** |
19 | * <pre> | 23 | * <pre> |
20 | * 构造填报报表视图 | 24 | * 构造填报报表视图 | ... | ... |
... | @@ -380,12 +380,21 @@ public class AjhMeetingSendController { | ... | @@ -380,12 +380,21 @@ public class AjhMeetingSendController { |
380 | public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) { | 380 | public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) { |
381 | // Step.1 组装查询条件 | 381 | // Step.1 组装查询条件 |
382 | QueryWrapper<AjhMeetingSend> queryWrapper = null; | 382 | QueryWrapper<AjhMeetingSend> queryWrapper = null; |
383 | refreshMeetStatus();//刷新会议状态 | ||
383 | try { | 384 | try { |
384 | String paramsStr = request.getParameter("paramsStr"); | 385 | String paramsStr = request.getParameter("paramsStr"); |
385 | if (ConvertUtils.isNotEmpty(paramsStr)) { | 386 | if (ConvertUtils.isNotEmpty(paramsStr)) { |
386 | String deString = URLDecoder.decode(paramsStr, "UTF-8"); | 387 | String deString = URLDecoder.decode(paramsStr, "UTF-8"); |
387 | AjhMeetingSend ajhMeetingSend = JSON.parseObject(deString, AjhMeetingSend.class); | 388 | AjhMeetingSend ajhMeetingSend = JSON.parseObject(deString, AjhMeetingSend.class); |
388 | queryWrapper = QueryGenerator.initQueryWrapper(ajhMeetingSend, request.getParameterMap()); | 389 | queryWrapper = QueryGenerator.initQueryWrapper(ajhMeetingSend, request.getParameterMap()); |
390 | queryWrapper.eq(ConvertUtils.isNotEmpty(ajhMeetingSend.getMeetId()),"meet_id",ajhMeetingSend.getMeetId()); | ||
391 | queryWrapper.eq(ConvertUtils.isNotEmpty(ajhMeetingSend.getDepartId()),"depart_id",ajhMeetingSend.getDepartId()); | ||
392 | queryWrapper.eq(ConvertUtils.isNotEmpty(ajhMeetingSend.getMeetStatus()),"meet_status",ajhMeetingSend.getMeetStatus()); | ||
393 | queryWrapper.eq(ConvertUtils.isNotEmpty(ajhMeetingSend.getSendStatus()),"send_status",ajhMeetingSend.getSendStatus()); | ||
394 | queryWrapper.like(ConvertUtils.isNotEmpty(ajhMeetingSend.getMeetTitle()),"meet_title",ajhMeetingSend.getMeetTitle()); | ||
395 | queryWrapper.between(ConvertUtils.isNotEmpty(ajhMeetingSend.getMeetStartTime()),"meet_start_time", | ||
396 | ajhMeetingSend.getMeetStartTime()+" 00:00:00",ajhMeetingSend.getMeetEndTime()+" 23:59:59"); | ||
397 | queryWrapper.orderByDesc("send_status"); | ||
389 | } | 398 | } |
390 | } catch (UnsupportedEncodingException e) { | 399 | } catch (UnsupportedEncodingException e) { |
391 | e.printStackTrace(); | 400 | e.printStackTrace(); | ... | ... |
... | @@ -56,49 +56,24 @@ public class SysCommandCentreController { | ... | @@ -56,49 +56,24 @@ public class SysCommandCentreController { |
56 | @GetMapping(value = "/statisticsByWaterData") | 56 | @GetMapping(value = "/statisticsByWaterData") |
57 | public Result<List<FRportlCommandCenterVO>> statisticsByWaterData(ReportItemvParam reportItemvParam)throws Exception{ | 57 | public Result<List<FRportlCommandCenterVO>> statisticsByWaterData(ReportItemvParam reportItemvParam)throws Exception{ |
58 | Result<List<FRportlCommandCenterVO> > result = new Result<>(); | 58 | Result<List<FRportlCommandCenterVO> > result = new Result<>(); |
59 | //将jsonObject转sysAlgorithmStatisticsLibraryVO对象 | ||
60 | //SysAlgorithmStatisticsLibraryVO sysAlgorithmLibraryVO = JSONObject.toJavaObject(jsonObject, SysAlgorithmStatisticsLibraryVO.class); | ||
61 | //String reportId = "2119ecbf53a1d2d0708258ff67cfd9e1";//报表编号 | ||
62 | //String reportItemCode = "CSL";//查询字段 | ||
63 | //报表数据项值 | ||
64 | String reitId = sysConfigService.queryValueByKey("REIT_ID_CSL"); | ||
65 | |||
66 | //ReportItemvParam reportItemvParam = new ReportItemvParam(reportId,reportItemCode ,sysAlgorithmLibraryVO.getStartDate() ,sysAlgorithmLibraryVO.getEndDate()); | ||
67 | reportItemvParam.initData(reitId ,reportItemvParam.getStartDate() ,reportItemvParam.getEndDate()); | ||
68 | |||
69 | |||
70 | List<FRportlCommandCenterVO> fReportItemvList = new ArrayList<>();//返回集合对象 | 59 | List<FRportlCommandCenterVO> fReportItemvList = new ArrayList<>();//返回集合对象 |
71 | //月统计 | 60 | DateVO dateVO = new DateVO(reportItemvParam.getStartDate()); |
72 | FRportlCommandCenterVO reportMonthData = commandCentreService.getReportItemvMonthDataByReitId(reportItemvParam ); | 61 | //本月数据 |
73 | fReportItemvList.add( reportMonthData ); | 62 | String monthCSL = reportItemvService.getSumCSL(BaseContextHandler.getDeparts(), dateVO.getNowMonthStartDate(), dateVO.getNowMonthEndDate()); |
74 | 63 | //环比 上月数据 | |
75 | FRportlCommandCenterVO reportDayData = commandCentreService.getReportItemvDayDataByReitId(reportItemvParam ); | 64 | String lastMonthCSL = reportItemvService.getSumCSL(BaseContextHandler.getDeparts(), dateVO.getNowMonthStartDate(), dateVO.getNowMonthEndDate()); |
76 | fReportItemvList.add( reportDayData ); | 65 | //同比 去年数据 |
77 | 66 | String lastYearCSL = reportItemvService.getSumCSL(BaseContextHandler.getDeparts(), dateVO.getLastYearMonthStartTime(), dateVO.getLastYearMonthEndTime()); | |
78 | //换算单位 | ||
79 | if(fReportItemvList != null && !fReportItemvList.isEmpty()){ | ||
80 | String value = null ; | ||
81 | String valueHb = null; | ||
82 | String valueTb = null; | ||
83 | for( FRportlCommandCenterVO reportDayData3 : fReportItemvList){ | ||
84 | value = DigitalUtils.division(reportDayData3.getValue(),"10000"); | ||
85 | reportDayData3.setValue( value ); | ||
86 | valueHb = DigitalUtils.division(reportDayData3.getValueHb(),"10000"); | ||
87 | reportDayData3.setValueHb(valueHb ); | ||
88 | |||
89 | valueTb = DigitalUtils.division(reportDayData3.getValueTb(),"10000"); | ||
90 | reportDayData3.setValueTb( valueTb ); | ||
91 | } | ||
92 | } | ||
93 | |||
94 | /* FReportItemv currenteportItemv = commandCentreService.getReportItemvByReitIdAndDate(reportId, reportItemCode,startDate , endDate ); | ||
95 | //上月数据 | ||
96 | FReportItemv lastMonthReportItemv = commandCentreService.getReportItemvByReitIdAndDate(reportId, reportItemCode,reportItemvParam.getLastMonthStartDate() , reportItemvParam.getLastMonthEndDate() ); | ||
97 | //去年数据 | ||
98 | FReportItemv lastYearReportItemv = commandCentreService.getReportItemvByReitIdAndDate(reportId, reportItemCode, reportItemvParam.getLastYearStartDate() , reportItemvParam.getLastYearEndDate() ); | ||
99 | 67 | ||
100 | //整理数据 | 68 | long nowDifferDay = DateUtils.differenceDay(dateVO.getNowMonthStartDate(),dateVO.getNowMonthEndDate()); |
101 | List<FRportlCommandCenterVO> fReportItemvList = arrangeFRportlCommandCenterVO(currenteportItemv , lastMonthReportItemv,lastYearReportItemv);*/ | 69 | long lastMonthDifferDay = DateUtils.differenceDay(dateVO.getLastMonthStartTime(),dateVO.getLastMonthEndTime()); |
70 | long lastYearDifferDay = DateUtils.differenceDay(dateVO.getLastYearMonthStartTime(),dateVO.getLastYearMonthEndTime()); | ||
71 | //月对象数据String value, String valueTb, String valueHb | ||
72 | FRportlCommandCenterVO monthDataVO = new FRportlCommandCenterVO("月汇总数据",JSUtils.format(monthCSL),JSUtils.format(lastMonthCSL),JSUtils.format(lastYearCSL)); | ||
73 | //日处理对象 | ||
74 | FRportlCommandCenterVO avgDayDataVO = new FRportlCommandCenterVO("日均处理水量",JSUtils.divide(monthCSL,nowDifferDay*10000),JSUtils.divide(lastMonthCSL,lastMonthDifferDay*10000),JSUtils.divide(lastYearCSL,lastYearDifferDay*10000)); | ||
75 | fReportItemvList.add( monthDataVO) ; | ||
76 | fReportItemvList.add( avgDayDataVO ) ; | ||
102 | 77 | ||
103 | //年数据统计: | 78 | //年数据统计: |
104 | String total = factoryInfoService.querySumProScale(); | 79 | String total = factoryInfoService.querySumProScale(); |
... | @@ -106,7 +81,6 @@ public class SysCommandCentreController { | ... | @@ -106,7 +81,6 @@ public class SysCommandCentreController { |
106 | // total = DigitalUtils.multiply(total,"10000"); | 81 | // total = DigitalUtils.multiply(total,"10000"); |
107 | fReportItemvList.add( new FRportlCommandCenterVO( total,"0","0")); | 82 | fReportItemvList.add( new FRportlCommandCenterVO( total,"0","0")); |
108 | 83 | ||
109 | //todo 演示暂时注释 | ||
110 | result.setSuccess(true); | 84 | result.setSuccess(true); |
111 | result.setResult(fReportItemvList); | 85 | result.setResult(fReportItemvList); |
112 | return result; | 86 | return result; |
... | @@ -119,6 +93,15 @@ public class SysCommandCentreController { | ... | @@ -119,6 +93,15 @@ public class SysCommandCentreController { |
119 | public Result<DepartLoadRateResultVO> statisticsByLoadRate(ReportItemvParam reportItemvParam) throws Exception { | 93 | public Result<DepartLoadRateResultVO> statisticsByLoadRate(ReportItemvParam reportItemvParam) throws Exception { |
120 | DepartLoadRateResultVO loadRateResultVO = new DepartLoadRateResultVO(); | 94 | DepartLoadRateResultVO loadRateResultVO = new DepartLoadRateResultVO(); |
121 | //SysAlgorithmStatisticsLibraryVO sysAlgorithmLibraryVO = JSONObject.toJavaObject(jsonObject, SysAlgorithmStatisticsLibraryVO.class); | 95 | //SysAlgorithmStatisticsLibraryVO sysAlgorithmLibraryVO = JSONObject.toJavaObject(jsonObject, SysAlgorithmStatisticsLibraryVO.class); |
96 | // 运行负荷率分析 = CSL/规模 | ||
97 | String departId = BaseContextHandler.getDeparts(); | ||
98 | String startTime = reportItemvParam.getStartDate(); | ||
99 | String endTime = reportItemvParam.getEndDate(); | ||
100 | String dataViewName2119 = ReportViewUtil.buildView(ReportViewUtil.view2119,"CSL", departId, startTime,endTime);// 部门、时间 | ||
101 | |||
102 | |||
103 | |||
104 | |||
122 | //报表数据项值 | 105 | //报表数据项值 |
123 | String reitId = sysConfigService.queryValueByKey("REIT_ID_CSL"); | 106 | String reitId = sysConfigService.queryValueByKey("REIT_ID_CSL"); |
124 | 107 | ... | ... |
... | @@ -14,9 +14,7 @@ import org.springframework.stereotype.Service; | ... | @@ -14,9 +14,7 @@ import org.springframework.stereotype.Service; |
14 | public class ReportItemvService { | 14 | public class ReportItemvService { |
15 | 15 | ||
16 | 16 | ||
17 | String view2119 = "2119ecbf53a1d2d0708258ff67cfd9e1";// 水 COD TP TN NH3H | 17 | |
18 | String view3a24 = "3a243d5715b9e1a3753c180872ca0df9";//能耗报表 | ||
19 | String view4411 = "4411ed3d78634bcdcd700f6e33724025";//生产运营周报 | ||
20 | 18 | ||
21 | private JdbcTemplate getJdbcTemplate(){ | 19 | private JdbcTemplate getJdbcTemplate(){ |
22 | //主库数据源 | 20 | //主库数据源 |
... | @@ -25,7 +23,7 @@ public class ReportItemvService { | ... | @@ -25,7 +23,7 @@ public class ReportItemvService { |
25 | } | 23 | } |
26 | 24 | ||
27 | public String getSumCSL(String departId ,String startTime ,String endTime){ | 25 | public String getSumCSL(String departId ,String startTime ,String endTime){ |
28 | String dataViewName2119 = ReportViewUtil.buildViewLike(view2119,"CSL", departId, startTime,endTime); | 26 | String dataViewName2119 = ReportViewUtil.buildViewLike(ReportViewUtil.view2119,"CSL", departId, startTime,endTime); |
29 | String sql = "select sum(aaa.CSL) from " + dataViewName2119+ "aaa"; | 27 | String sql = "select sum(aaa.CSL) from " + dataViewName2119+ "aaa"; |
30 | String csl = getJdbcTemplate().queryForObject(sql,String.class); | 28 | String csl = getJdbcTemplate().queryForObject(sql,String.class); |
31 | return csl; | 29 | return csl; |
... | @@ -35,7 +33,7 @@ public class ReportItemvService { | ... | @@ -35,7 +33,7 @@ public class ReportItemvService { |
35 | }*/ | 33 | }*/ |
36 | 34 | ||
37 | public String getSumDLHJ(String departId ,String startTime ,String endTime){ | 35 | public String getSumDLHJ(String departId ,String startTime ,String endTime){ |
38 | String dataViewName3a24 = ReportViewUtil.buildViewLike(view3a24,"DLHJ", departId, startTime,endTime); | 36 | String dataViewName3a24 = ReportViewUtil.buildViewLike(ReportViewUtil.view3a24,"DLHJ", departId, startTime,endTime); |
39 | String sql = "select sum(aaa.DLHJ) from " + dataViewName3a24+ "aaa"; | 37 | String sql = "select sum(aaa.DLHJ) from " + dataViewName3a24+ "aaa"; |
40 | String dlhj = getJdbcTemplate().queryForObject(sql,String.class); | 38 | String dlhj = getJdbcTemplate().queryForObject(sql,String.class); |
41 | return dlhj; | 39 | return dlhj; | ... | ... |
... | @@ -307,20 +307,14 @@ public class PurchasePlanController { | ... | @@ -307,20 +307,14 @@ public class PurchasePlanController { |
307 | purchasePlanSearchVO.setSparepartType( sparepartTypeStr ); | 307 | purchasePlanSearchVO.setSparepartType( sparepartTypeStr ); |
308 | } | 308 | } |
309 | log.debug("查询物料子分类集合:{}",sparepartTypeStr); | 309 | log.debug("查询物料子分类集合:{}",sparepartTypeStr); |
310 | //查询下一级部门集合 | 310 | Set<String> departsSet = new HashSet<String>(); |
311 | if (!"1".equals(BaseContextHandler.get("userType"))) { | 311 | String departIds = null; |
312 | Set<String> departsSet = new HashSet<String>(); | 312 | if (StringUtils.isNotEmpty(purchasePlanSearchVO.getDepartId())) { |
313 | String departIds = ""; | 313 | // 查询子集 |
314 | if (StringUtils.isNotEmpty(purchasePlanSearchVO.getDepartId())) { | 314 | departsSet = departService.getAllChildrenDepartIds( purchasePlanSearchVO.getDepartId() ); |
315 | // 查询子集 | 315 | if(departsSet.size() > 0 ) departIds = String.join(",", departsSet);// 使用String.join()方法转换Set为字符串,以逗号分隔 |
316 | departsSet = departService.getAllChildrenDepartIds( purchasePlanSearchVO.getDepartId() ); | 316 | purchasePlanSearchVO.setDepartIds( departIds ); |
317 | if(departsSet.size() > 0 ) departIds = String.join(",", departsSet);// 使用String.join()方法转换Set为字符串,以逗号分隔 | 317 | log.debug("查询部门集合:{}",departIds); |
318 | purchasePlanSearchVO.setDepartIds( departIds ); | ||
319 | log.debug("查询部门集合:{}",departIds); | ||
320 | }else{ | ||
321 | purchasePlanSearchVO.setDepartIds( BaseUtil.quoteEach(BaseContextHandler.getDeparts(),",") ); | ||
322 | log.debug("查询权限部门集合:{}", BaseUtil.quoteEach(BaseContextHandler.getDeparts(),",")); | ||
323 | } | ||
324 | } | 318 | } |
325 | if(StringUtils.isNotEmpty(purchasePlanSearchVO.getSparepartAttribute() )){ | 319 | if(StringUtils.isNotEmpty(purchasePlanSearchVO.getSparepartAttribute() )){ |
326 | purchasePlanSearchVO.setSparepartAttribute( BaseUtil.quoteEach(purchasePlanSearchVO.getSparepartAttribute(),",") ) ; | 320 | purchasePlanSearchVO.setSparepartAttribute( BaseUtil.quoteEach(purchasePlanSearchVO.getSparepartAttribute(),",") ) ; | ... | ... |
... | @@ -15,13 +15,13 @@ | ... | @@ -15,13 +15,13 @@ |
15 | and pi.sparepart_type in ( ${ev.sparepartType}) | 15 | and pi.sparepart_type in ( ${ev.sparepartType}) |
16 | </if> | 16 | </if> |
17 | <if test="ev.sparepartCode != null and ev.sparepartCode != '' "> | 17 | <if test="ev.sparepartCode != null and ev.sparepartCode != '' "> |
18 | AND pi.sparepart_code like '%'#{ev.sparepartCode}'%' | 18 | AND pi.sparepart_code like CONCAT('%', #{ev.sparepartCode},'%') |
19 | </if> | 19 | </if> |
20 | <if test="ev.sparepartName != null and ev.sparepartName != '' "> | 20 | <if test="ev.sparepartName != null and ev.sparepartName != '' "> |
21 | AND pi.sparepart_name like '%'#{ev.sparepartName}'%' | 21 | AND pi.sparepart_name like CONCAT('%', #{ev.sparepartName},'%') |
22 | </if> | 22 | </if> |
23 | <if test="ev.purpose != null and ev.purpose != '' "> | 23 | <if test="ev.purpose != null and ev.purpose != '' "> |
24 | AND pi.purpose like '%'#{ev.purpose}'%' | 24 | AND pi.purpose like CONCAT('%', #{ev.purpose},'%') |
25 | </if> | 25 | </if> |
26 | <if test="ev.applyYear != null and ev.applyYear != '' "> | 26 | <if test="ev.applyYear != null and ev.applyYear != '' "> |
27 | and pp.apply_year = #{ev.applyYear} | 27 | and pp.apply_year = #{ev.applyYear} | ... | ... |
... | @@ -74,6 +74,8 @@ public class DistributContractServiceImpl extends ServiceImpl<DistributContractM | ... | @@ -74,6 +74,8 @@ public class DistributContractServiceImpl extends ServiceImpl<DistributContractM |
74 | errMsg = "所属厂站["+departMapper.selectById(distributContractVO.getDepartId()).getDepartName()+"]下的货号["+material.getGoodCode()+"]已经分销过!"; | 74 | errMsg = "所属厂站["+departMapper.selectById(distributContractVO.getDepartId()).getDepartName()+"]下的货号["+material.getGoodCode()+"]已经分销过!"; |
75 | break; | 75 | break; |
76 | } | 76 | } |
77 | //校验数量:分销数量不能大于采购数据量 | ||
78 | |||
77 | } | 79 | } |
78 | } | 80 | } |
79 | return errMsg; | 81 | return errMsg; | ... | ... |
... | @@ -25,6 +25,7 @@ import com.skua.modules.guest.util.DateUtil; | ... | @@ -25,6 +25,7 @@ import com.skua.modules.guest.util.DateUtil; |
25 | import com.skua.modules.quartz.util.BaseUtil; | 25 | import com.skua.modules.quartz.util.BaseUtil; |
26 | import com.skua.modules.supplies.entity.SuppliesWarehouse; | 26 | import com.skua.modules.supplies.entity.SuppliesWarehouse; |
27 | import com.skua.modules.supplies.service.ISuppliesWarehouseService; | 27 | import com.skua.modules.supplies.service.ISuppliesWarehouseService; |
28 | import com.skua.tool.util.DateUtils; | ||
28 | import org.apache.commons.lang3.StringUtils; | 29 | import org.apache.commons.lang3.StringUtils; |
29 | import org.hibernate.service.spi.ServiceException; | 30 | import org.hibernate.service.spi.ServiceException; |
30 | import org.springframework.beans.factory.annotation.Autowired; | 31 | import org.springframework.beans.factory.annotation.Autowired; |
... | @@ -148,10 +149,11 @@ public class MaterialINServiceImpl extends ServiceImpl<MaterialINMapper, Materia | ... | @@ -148,10 +149,11 @@ public class MaterialINServiceImpl extends ServiceImpl<MaterialINMapper, Materia |
148 | equipmentOutDTO.setDepartId( equipmentIn.getDepartId() ) ; | 149 | equipmentOutDTO.setDepartId( equipmentIn.getDepartId() ) ; |
149 | equipmentOutDTO.setOutType("9");// | 150 | equipmentOutDTO.setOutType("9");// |
150 | equipmentOutDTO.setRemark( materialINTemp.getRemark() ); | 151 | equipmentOutDTO.setRemark( materialINTemp.getRemark() ); |
151 | equipmentOutDTO.setChooseTime(BaseUtil.getCurrentDate());//经办时间 | 152 | equipmentOutDTO.setChooseTime(DateUtils.date2Str(new Date(),"yyyy-MM-dd HH:mm:ss"));//经办时间 |
152 | equipmentOutDTO.setUseBy( BaseContextHandler.getUserId() );//使用人 | 153 | equipmentOutDTO.setUseBy( BaseContextHandler.getUserId() );//使用人 |
153 | equipmentOutDTO.setOutDate( BaseUtil.getCurrentDate() ); | 154 | equipmentOutDTO.setOutDate( DateUtils.date2Str(new Date(),"yyyy-MM-dd HH:mm:ss") ); |
154 | equipmentOutDTO.setInventoryUpdateTimeEnd( BaseUtil.getCurrentDate()); | 155 | equipmentOutDTO.setInventoryUpdateTimeEnd( DateUtils.date2Str(new Date(),"yyyy-MM-dd HH:mm:ss") ); |
156 | equipmentOutDTO.setInventoryUpdateTime(new Date()); | ||
155 | 157 | ||
156 | equipmentOutDTO.setSuppliesWarehouseId( equipmentIn.getSuppliesWarehouseId() );// this.suppliesWarehouseId = suppliesWarehouseId;//所属仓库 | 158 | equipmentOutDTO.setSuppliesWarehouseId( equipmentIn.getSuppliesWarehouseId() );// this.suppliesWarehouseId = suppliesWarehouseId;//所属仓库 |
157 | //this.outOrder = outOrder; | 159 | //this.outOrder = outOrder; | ... | ... |
... | @@ -66,8 +66,6 @@ public class DateUtil { | ... | @@ -66,8 +66,6 @@ public class DateUtil { |
66 | Date date = formatter.parse(dateString); | 66 | Date date = formatter.parse(dateString); |
67 | // 再将 Date 对象格式化为字符串 | 67 | // 再将 Date 对象格式化为字符串 |
68 | formattedDate = formatter.format(date); | 68 | formattedDate = formatter.format(date); |
69 | // 输出结果 | ||
70 | System.out.println(formattedDate); // 输出: 2024-08-19 | ||
71 | } | 69 | } |
72 | } catch (Exception e) { | 70 | } catch (Exception e) { |
73 | e.printStackTrace(); | 71 | e.printStackTrace(); | ... | ... |
... | @@ -4,6 +4,7 @@ import com.skua.core.util.ConvertUtils; | ... | @@ -4,6 +4,7 @@ import com.skua.core.util.ConvertUtils; |
4 | import org.apache.commons.lang3.StringUtils; | 4 | import org.apache.commons.lang3.StringUtils; |
5 | 5 | ||
6 | import java.math.BigDecimal; | 6 | import java.math.BigDecimal; |
7 | import java.math.RoundingMode; | ||
7 | import java.text.DecimalFormat; | 8 | import java.text.DecimalFormat; |
8 | import java.text.ParseException; | 9 | import java.text.ParseException; |
9 | import java.text.SimpleDateFormat; | 10 | import java.text.SimpleDateFormat; |
... | @@ -33,6 +34,12 @@ public class BaseUtil { | ... | @@ -33,6 +34,12 @@ public class BaseUtil { |
33 | return d.toString(); | 34 | return d.toString(); |
34 | } | 35 | } |
35 | 36 | ||
37 | public static Double formatDouble(Object obj ){ | ||
38 | Double value = ConvertUtils.getDouble(obj,0d); | ||
39 | BigDecimal bd = BigDecimal.valueOf(value); | ||
40 | return bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); | ||
41 | } | ||
42 | |||
36 | /*** | 43 | /*** |
37 | * 计算时间的前几个月的月份 | 44 | * 计算时间的前几个月的月份 |
38 | * @param month | 45 | * @param month | ... | ... |
... | @@ -133,7 +133,7 @@ public class DangerLevelManageController { | ... | @@ -133,7 +133,7 @@ public class DangerLevelManageController { |
133 | dangerLevelManageService.updateById( dangerLevelManage ) ; | 133 | dangerLevelManageService.updateById( dangerLevelManage ) ; |
134 | 134 | ||
135 | //是否共享 添加到共享库 | 135 | //是否共享 添加到共享库 |
136 | if("1".equals(dangerLevelManage.getIs_share())){ | 136 | if("1".equals(dangerLevelManage.getShare())){ |
137 | DangerLevelManageShare dangerLevelManageShare = new DangerLevelManageShare(); | 137 | DangerLevelManageShare dangerLevelManageShare = new DangerLevelManageShare(); |
138 | BeanUtils.copyProperties(dangerLevelManage , dangerLevelManageShare); | 138 | BeanUtils.copyProperties(dangerLevelManage , dangerLevelManageShare); |
139 | dangerLevelManageShareService.save( dangerLevelManageShare ) ; | 139 | dangerLevelManageShareService.save( dangerLevelManageShare ) ; |
... | @@ -166,7 +166,7 @@ public class DangerLevelManageController { | ... | @@ -166,7 +166,7 @@ public class DangerLevelManageController { |
166 | boolean ok = dangerLevelManageService.updateById(dangerLevelManage); | 166 | boolean ok = dangerLevelManageService.updateById(dangerLevelManage); |
167 | 167 | ||
168 | //是否共享 添加到共享库 | 168 | //是否共享 添加到共享库 |
169 | if("1".equals(dangerLevelManage.getIs_share())){ | 169 | if("1".equals(dangerLevelManage.getShare())){ |
170 | dangerLevelManageShareService.removeById( dangerLevelManage.getId()) ; | 170 | dangerLevelManageShareService.removeById( dangerLevelManage.getId()) ; |
171 | DangerLevelManageShare dangerLevelManageShare = new DangerLevelManageShare(); | 171 | DangerLevelManageShare dangerLevelManageShare = new DangerLevelManageShare(); |
172 | BeanUtils.copyProperties(dangerLevelManage , dangerLevelManageShare); | 172 | BeanUtils.copyProperties(dangerLevelManage , dangerLevelManageShare); | ... | ... |
... | @@ -16,6 +16,9 @@ import lombok.experimental.Accessors; | ... | @@ -16,6 +16,9 @@ import lombok.experimental.Accessors; |
16 | import com.fasterxml.jackson.annotation.JsonFormat; | 16 | import com.fasterxml.jackson.annotation.JsonFormat; |
17 | import org.springframework.format.annotation.DateTimeFormat; | 17 | import org.springframework.format.annotation.DateTimeFormat; |
18 | import org.jeecgframework.poi.excel.annotation.Excel; | 18 | import org.jeecgframework.poi.excel.annotation.Excel; |
19 | |||
20 | import javax.persistence.Column; | ||
21 | |||
19 | /** | 22 | /** |
20 | * 风险分级管控清单 | 23 | * 风险分级管控清单 |
21 | */ | 24 | */ |
... | @@ -95,7 +98,7 @@ public class DangerLevelManage{ | ... | @@ -95,7 +98,7 @@ public class DangerLevelManage{ |
95 | 98 | ||
96 | @Excel(name = "是否共享", width = 15) | 99 | @Excel(name = "是否共享", width = 15) |
97 | @ApiModelProperty(value = "是否共享") | 100 | @ApiModelProperty(value = "是否共享") |
98 | private String is_share; | 101 | private String share; |
99 | 102 | ||
100 | //@Excel(name = "二维码", width = 15) | 103 | //@Excel(name = "二维码", width = 15) |
101 | @ApiModelProperty(value = "二维码") | 104 | @ApiModelProperty(value = "二维码") | ... | ... |
... | @@ -8,6 +8,7 @@ import com.skua.modules.report.service.IOperationReportService; | ... | @@ -8,6 +8,7 @@ import com.skua.modules.report.service.IOperationReportService; |
8 | import com.skua.modules.report.vo.*; | 8 | import com.skua.modules.report.vo.*; |
9 | import com.skua.tool.util.DateUtils; | 9 | import com.skua.tool.util.DateUtils; |
10 | import com.skua.tool.util.DigitalUtils; | 10 | import com.skua.tool.util.DigitalUtils; |
11 | import com.skua.tool.util.JSUtils; | ||
11 | import org.apache.commons.lang3.StringUtils; | 12 | import org.apache.commons.lang3.StringUtils; |
12 | import org.springframework.beans.factory.annotation.Autowired; | 13 | import org.springframework.beans.factory.annotation.Autowired; |
13 | import org.springframework.jdbc.core.BeanPropertyRowMapper; | 14 | import org.springframework.jdbc.core.BeanPropertyRowMapper; |
... | @@ -59,15 +60,7 @@ public class OperationReportServiceImpl implements IOperationReportService { | ... | @@ -59,15 +60,7 @@ public class OperationReportServiceImpl implements IOperationReportService { |
59 | String deptartCount = getJdbcTemplate().queryForObject(sql,String.class); | 60 | String deptartCount = getJdbcTemplate().queryForObject(sql,String.class); |
60 | productDataVO.setDeptartCount( deptartCount ); | 61 | productDataVO.setDeptartCount( deptartCount ); |
61 | 62 | ||
62 | //生产指标完成情况--收费水量 | ||
63 | //DLHJ 电量合计 ,ydh 用电量 ,yslwcbl 月水量完成比例,ysjsldyqntqyy 月实际水量低于去年同期原因,qntqsfsl 去年同期收费水量, ysfsl`,月收费水量 `bnsjdh`, 本年实际电耗 sldyyqyy`, 收费水量对比变化率 ,`dhgyqntqyy`, 电耗高于去年同期原因;`yyf`, 月药费 `yhgyqntqyy`, 药耗高于去年同期原因 `dhcmbzyy`, 电耗超目标值原因 `yhcyqyy` 药耗超预期原因 | ||
64 | // 电量合计 , 用电量 , 月水量完成比例, 月实际水量低于去年同期原因, 去年同期收费水量, `,月收费水量 ``, 本年实际电耗 `, 收费水量对比变化率 ,``, 电耗高于去年同期原因;``, 月药费 ``, 药耗高于去年同期原因 ``, 电耗超目标值原因 `` 药耗超预期原因 | ||
65 | //String fields = "DLHJ,ydh,yslwcbl,ysjsldyqntqyy,qntqsfsl,ysfsl,bnsjdh,sldyyqyy,dhgyqntqyy,yyf,yhgyqntqyy,dhcmbzyy,yhcyqyy"; | ||
66 | // fields = "DLHJ,YDH,YSLWCBL,YSJSLDYQNTQYY,QNTQSFSL,YSFSL,BNSJDH,SLDYYQYY,DHGYQNTQYY,YYF,YHGYQNTQYY,DHCMBZYY,YHCYQYY"; | ||
67 | // fields = fields.toUpperCase(); | ||
68 | String departId = null; | 63 | String departId = null; |
69 | |||
70 | |||
71 | // ysfsl:月收费水量 ; yyf:月药费 ; ysjsl:月实际水量 | 64 | // ysfsl:月收费水量 ; yyf:月药费 ; ysjsl:月实际水量 |
72 | String dataViewName4411 = ReportViewUtil.buildViewLike(view4411,"ysfsl,ysjsl,yyf", departId, seasonTimeVO.getStartTime(),seasonTimeVO.getEndTime()); | 65 | String dataViewName4411 = ReportViewUtil.buildViewLike(view4411,"ysfsl,ysjsl,yyf", departId, seasonTimeVO.getStartTime(),seasonTimeVO.getEndTime()); |
73 | sql = "select sum( aaa.ysfsl ) 'ysfsl' , sum( aaa.ysjsl ) 'ysjsl' , sum(tc.target_water ) 'target_water', sum(tc.target_drug ) 'target_drug' ,round((sum( aaa.ysfsl ) *100 / sum(tc.target_water )),2) as 'completeRatio' from "+dataViewName4411+" aaa"; | 66 | sql = "select sum( aaa.ysfsl ) 'ysfsl' , sum( aaa.ysjsl ) 'ysjsl' , sum(tc.target_water ) 'target_water', sum(tc.target_drug ) 'target_drug' ,round((sum( aaa.ysfsl ) *100 / sum(tc.target_water )),2) as 'completeRatio' from "+dataViewName4411+" aaa"; |
... | @@ -76,39 +69,42 @@ public class OperationReportServiceImpl implements IOperationReportService { | ... | @@ -76,39 +69,42 @@ public class OperationReportServiceImpl implements IOperationReportService { |
76 | productDataVO.setDayNum( DateUtils.differenceDay(seasonTimeVO.getStartTime(),seasonTimeVO.getEndTime()) );//相差天数 | 69 | productDataVO.setDayNum( DateUtils.differenceDay(seasonTimeVO.getStartTime(),seasonTimeVO.getEndTime()) );//相差天数 |
77 | Double target_drug = null;//药吨水药耗 | 70 | Double target_drug = null;//药吨水药耗 |
78 | Double drugCost = 0d;//药剂实际费用 | 71 | Double drugCost = 0d;//药剂实际费用 |
72 | Double completeRatio = null; | ||
79 | Double ysjsl = null;//实际处理水量 | 73 | Double ysjsl = null;//实际处理水量 |
80 | if(mapList != null ){ | 74 | if(mapList != null ){ |
81 | for(Map<String,Object> map : mapList){ | 75 | for(Map<String,Object> map : mapList){ |
82 | productDataVO.setChargeWaterVolume( ConvertUtils.getString( map.get("ysfsl")) ); //收费水量 | 76 | productDataVO.setChargeWaterVolume( JSUtils.format( map.get("ysfsl")) ); //收费水量 |
83 | productDataVO.setYsjslWaterVolume(ConvertUtils.getString( map.get("ysjsl")) );//实际处理水量 | 77 | productDataVO.setYsjslWaterVolume(JSUtils.format(map.get("ysjsl")) );//实际处理水量 |
84 | productDataVO.setCompleteRatio( ConvertUtils.getDouble( map.get("completeRatio"),0d) );//收费水量-完成率 | 78 | productDataVO.setCompleteRatio( JSUtils.format( map.get("completeRatio")) );//收费水量-完成率 |
85 | 79 | ||
80 | completeRatio = ConvertUtils.getDouble(map.get("completeRatio"),0d); | ||
86 | target_drug = ConvertUtils.getDouble( map.get("target_drug"),0d); | 81 | target_drug = ConvertUtils.getDouble( map.get("target_drug"),0d); |
87 | ysjsl = ConvertUtils.getDouble( map.get("ysjsl"),0d); | 82 | ysjsl = ConvertUtils.getDouble( map.get("ysjsl"),0d); |
88 | if(ysjsl.doubleValue() != 0 ){ | 83 | if(ysjsl.doubleValue() != 0 ){ |
89 | drugCost = ConvertUtils.getDouble( map.get("yyf"),0d) / ysjsl; | 84 | drugCost = formatDouble(ConvertUtils.getDouble( map.get("yyf"),0d) / ysjsl); |
90 | } | 85 | } |
91 | } | 86 | } |
92 | } | 87 | } |
93 | productDataVO.setDrugCost( drugCost ); | 88 | productDataVO.setDrugCost( drugCost ); |
94 | productDataVO.setTargetDrug( target_drug ); | 89 | productDataVO.setTargetDrug( target_drug ); |
95 | productDataVO.setSequentialProgress("基本满足时序进度"); | 90 | productDataVO.setSequentialProgress("基本满足时序进度"); |
96 | if(productDataVO.getCompleteRatio().doubleValue() > 25){ | 91 | if(completeRatio.doubleValue() > 25){ |
97 | productDataVO.setSequentialProgress("超额完成时序进度"); | 92 | productDataVO.setSequentialProgress("超额完成时序进度"); |
98 | } | 93 | } |
99 | // 去年水数据:月收费水量、月实际水量 | 94 | // 去年水数据:月收费水量、月实际水量 |
100 | // ysfsl:月收费水量 ; yyf:月药费 ; ysjsl:月实际水量 | 95 | // ysfsl:月收费水量 ; yyf:月药费 ; ysjsl:月实际水量 |
101 | dataViewName4411 = ReportViewUtil.buildViewLike(view4411,"ysfsl,ysjsl", departId, lastSeasonTimeVO.getStartTime(),lastSeasonTimeVO.getEndTime()); | 96 | dataViewName4411 = ReportViewUtil.buildViewLike(view4411,"ysfsl,ysjsl", departId, lastSeasonTimeVO.getStartTime(),lastSeasonTimeVO.getEndTime()); |
102 | sql = "select sum( aaa.ysfsl ) 'ysfsl' , sum( aaa.ysjsl ) 'ysjsl' from "+dataViewName4411+" aaa"; | 97 | sql = "select sum( aaa.ysfsl ) 'ysfsl' , sum( aaa.ysjsl ) 'ysjsl' from "+dataViewName4411+" aaa"; |
98 | |||
103 | if(mapList != null ){ | 99 | if(mapList != null ){ |
104 | for(Map<String,Object> map : mapList){ | 100 | for(Map<String,Object> map : mapList){ |
105 | Double qn_ysfsl = ConvertUtils.getDouble( map.get("ysfsl"),0d);// 去年:收费水量 | 101 | Double qn_ysfsl = ConvertUtils.getDouble( map.get("ysfsl"),0d);// 去年:收费水量 |
106 | Double qn_ysjsl = ConvertUtils.getDouble( map.get("ysjsl"),0d);// 去年:月实际水量 | 102 | Double qn_ysjsl = ConvertUtils.getDouble( map.get("ysjsl"),0d);// 去年:月实际水量 |
107 | if(qn_ysfsl.doubleValue() != 0){//去年:收费水量 | 103 | if(qn_ysfsl.doubleValue() != 0){//去年:收费水量 |
108 | productDataVO.setChargeWaterRatio( (ConvertUtils.getDouble( productDataVO.getChargeWaterVolume() ,0d) - qn_ysfsl) / qn_ysfsl ); | 104 | productDataVO.setChargeWaterRatio( formatDouble((ConvertUtils.getDouble( productDataVO.getChargeWaterVolume() ,0d) - qn_ysfsl)*100 / qn_ysfsl )); |
109 | } | 105 | } |
110 | if(qn_ysjsl.doubleValue() != 0){//去年:月实际水量 | 106 | if(qn_ysjsl.doubleValue() != 0){//去年:月实际水量 |
111 | productDataVO.setYsjslWaterRatio( ( ConvertUtils.getDouble( productDataVO.getYsjslWaterVolume() ,0d) - qn_ysjsl ) / qn_ysjsl ); | 107 | productDataVO.setYsjslWaterRatio( formatDouble(( ConvertUtils.getDouble( productDataVO.getYsjslWaterVolume() ,0d) - qn_ysjsl ) *100/ qn_ysjsl ) ); |
112 | } | 108 | } |
113 | } | 109 | } |
114 | } | 110 | } |
... | @@ -126,19 +122,18 @@ public class OperationReportServiceImpl implements IOperationReportService { | ... | @@ -126,19 +122,18 @@ public class OperationReportServiceImpl implements IOperationReportService { |
126 | 122 | ||
127 | //水电耗高于控制目标--水务公司列表 | 123 | //水电耗高于控制目标--水务公司列表 |
128 | dataViewName4411 = ReportViewUtil.buildViewLike(view4411,"ydh,qntqdh,dhgyqntqyy", departId, seasonTimeVO.getStartTime(),seasonTimeVO.getEndTime(),"max"); | 124 | dataViewName4411 = ReportViewUtil.buildViewLike(view4411,"ydh,qntqdh,dhgyqntqyy", departId, seasonTimeVO.getStartTime(),seasonTimeVO.getEndTime(),"max"); |
129 | sql = "select aaa.dhgyqntqyy 'causeAnalysis' , aaa.qntqdh ,aaa.ydh 'realConsume' ,d.depart_name 'deptartName' , tc.target_power 'targetConsume' from " + dataViewName4411 + " aaa "; | 125 | sql = "select aaa.dhgyqntqyy 'causeAnalysis' , aaa.qntqdh ,aaa.ydh 'realConsume' ,d.depart_name 'deptartName' , IFNULL(tc.target_power,'-') 'targetConsume' from " + dataViewName4411 + " aaa "; |
130 | sql += " left join report_target_config tc on (tc.depart_id = aaa.depart_id and tc.target_year ="+year+")"; | 126 | sql += " left join report_target_config tc on (tc.depart_id = aaa.depart_id and tc.target_year ="+year+")"; |
131 | sql += " left join sys_depart d on d.id = aaa.depart_id "; | 127 | sql += " left join sys_depart d on d.id = aaa.depart_id "; |
132 | sql += " where aaa.ydh > IFNULL(tc.target_power,0)"; | 128 | sql += " where aaa.ydh > IFNULL(tc.target_power,0)"; |
133 | List<FReportPowerMonthDataVO> powerMonthDataVOList = getJdbcTemplate().query(sql,new BeanPropertyRowMapper<FReportPowerMonthDataVO>(FReportPowerMonthDataVO.class)); | 129 | List<FReportPowerMonthDataVO> powerMonthDataVOList = getJdbcTemplate().query(sql,new BeanPropertyRowMapper<FReportPowerMonthDataVO>(FReportPowerMonthDataVO.class)); |
134 | productDataVO.setPowerDeptartList(powerMonthDataVOList); | 130 | productDataVO.setPowerDeptartList(powerMonthDataVOList); |
135 | 131 | ||
136 | /** | 132 | /** ysjsl:月实际水量 ; 月药耗 yyh; 去年同期药耗 qntqyh; 月药费 yyf;药耗高于去年同期原因 yhgyqntqyy;药耗超预期原因 yhcyqyy; 本年实际药耗 bnsjyh; 本年药耗目标 bnyhmb*/ |
137 | * ysjsl:月实际水量 ; 月药耗 yyh; 去年同期药耗 qntqyh; 月药费 yyf;药耗高于去年同期原因 yhgyqntqyy;药耗超预期原因 yhcyqyy; 本年实际药耗 bnsjyh; 本年药耗目标 bnyhmb*/ | ||
138 | //药剂成本高于控制目标--水务公司列表 | 133 | //药剂成本高于控制目标--水务公司列表 |
139 | dataViewName4411 = ReportViewUtil.buildViewLike(view4411,"ysjsl,yyh,qntqyh,qntqyh,yhgyqntqyy,bnsjyh,bnyhmb", departId, seasonTimeVO.getStartTime(),seasonTimeVO.getEndTime(),"max"); | 134 | dataViewName4411 = ReportViewUtil.buildViewLike(view4411,"ysjsl,yyh,qntqyh,qntqyh,yhgyqntqyy,bnsjyh,bnyhmb", departId, seasonTimeVO.getStartTime(),seasonTimeVO.getEndTime(),"max"); |
140 | // sql = "select (aaa.yyh/aaa.ysjsl) 'realConsume',aaa.ysjsl,aaa.qntqyh,aaa.qntqyh,aaa.yhgyqntqyy '',aaa.bnsjyh,aaa.bnyhmb,aaa.depart_id ,d.depart_name ,tc.target_drug 'targetConsume' from " + dataViewName4411 + " aaa "; | 135 | // sql = "select round((aaa.yyh/aaa.ysjsl),2) 'realConsume',aaa.ysjsl,aaa.qntqyh,aaa.qntqyh,aaa.yhgyqntqyy '',aaa.bnsjyh,aaa.bnyhmb,aaa.depart_id ,d.depart_name ,IFNULL(tc.target_drug,'-') 'targetConsume' from " + dataViewName4411 + " aaa "; |
141 | sql = "select (aaa.yyh/aaa.ysjsl) 'realConsume',aaa.yhgyqntqyy 'causeAnalysis',d.depart_name 'deptartName' ,tc.target_drug 'targetConsume' from " + dataViewName4411 + " aaa "; | 136 | sql = "select round((aaa.yyh/aaa.ysjsl),2) 'realConsume',aaa.yhgyqntqyy 'causeAnalysis',d.depart_name 'deptartName' ,IFNULL(tc.target_drug,'-') 'targetConsume' from " + dataViewName4411 + " aaa "; |
142 | sql += " left join report_target_config tc on (tc.depart_id = aaa.depart_id and tc.target_year ="+year+")"; | 137 | sql += " left join report_target_config tc on (tc.depart_id = aaa.depart_id and tc.target_year ="+year+")"; |
143 | sql+= " left join sys_depart d on d.id = aaa.depart_id "; | 138 | sql+= " left join sys_depart d on d.id = aaa.depart_id "; |
144 | sql += " where (aaa.ysjsl/aaa.ysjsl) > IFNULL(tc.target_drug,0)"; | 139 | sql += " where (aaa.ysjsl/aaa.ysjsl) > IFNULL(tc.target_drug,0)"; |
... | @@ -146,17 +141,18 @@ public class OperationReportServiceImpl implements IOperationReportService { | ... | @@ -146,17 +141,18 @@ public class OperationReportServiceImpl implements IOperationReportService { |
146 | productDataVO.setDrugDeptartList(drugDataList); | 141 | productDataVO.setDrugDeptartList(drugDataList); |
147 | 142 | ||
148 | //隐患排查完成情况 | 143 | //隐患排查完成情况 |
149 | sql = "select d.depart_name from ajh_rectification_info t "; | ||
150 | sql+=" left join sys_depart d on t.depart_id = d.id "; | ||
151 | sql += " group by t.depart_id "; | ||
152 | |||
153 | List<String> deptNameList = operationReportMapper.queryDepatNameList(); | 144 | List<String> deptNameList = operationReportMapper.queryDepatNameList(); |
154 | productDataVO.setDangerDeptCount( 0 ); | 145 | productDataVO.setDangerDeptCount( 0 ); |
155 | if(deptNameList != null && !deptNameList.isEmpty()){ | 146 | if(deptNameList != null && !deptNameList.isEmpty()){ |
156 | productDataVO.setDangerDeptCount( deptNameList.size()); | 147 | productDataVO.setDangerDeptCount( deptNameList.size()); |
157 | productDataVO.setDangerDeptNames(String.join(",",deptNameList)); | 148 | productDataVO.setDangerDeptNames(String.join(",",deptNameList)); |
158 | } | 149 | } |
159 | |||
160 | return productDataVO; | 150 | return productDataVO; |
161 | } | 151 | } |
152 | |||
153 | public Double formatDouble(Object obj ){ | ||
154 | Double value = ConvertUtils.getDouble(obj,0d); | ||
155 | BigDecimal bd = BigDecimal.valueOf(value); | ||
156 | return bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); | ||
157 | } | ||
162 | } | 158 | } | ... | ... |
... | @@ -34,7 +34,7 @@ public class ProductDataVO { | ... | @@ -34,7 +34,7 @@ public class ProductDataVO { |
34 | @ApiModelProperty(value = "收费水量-同比增长") | 34 | @ApiModelProperty(value = "收费水量-同比增长") |
35 | private Double chargeWaterRatio; | 35 | private Double chargeWaterRatio; |
36 | @ApiModelProperty(value = "收费水量-完成率") | 36 | @ApiModelProperty(value = "收费水量-完成率") |
37 | private Double completeRatio; | 37 | private String completeRatio; |
38 | @ApiModelProperty(value = "序时进度") | 38 | @ApiModelProperty(value = "序时进度") |
39 | private String sequentialProgress; | 39 | private String sequentialProgress; |
40 | 40 | ... | ... |
-
请 注册 或 登录 后发表评论