7 天以前 | whyclxw | ![]() |
7 天以前 | whyclxw | ![]() |
7 天以前 | whyclxw | ![]() |
7 天以前 | whyclxw | ![]() |
7 天以前 | whycxzp | ![]() |
7 天以前 | whycxzp | ![]() |
7 天以前 | whycxzp | ![]() |
7 天以前 | whycxzp | ![]() |
7 天以前 | whyclxw | ![]() |
7 天以前 | whyclxw | ![]() |
7 天以前 | whyclxw | ![]() |
7 天以前 | whyclxw | ![]() |
7 天以前 | whyclxw | ![]() |
7 天以前 | DELL | ![]() |
7 天以前 | whyclxw | ![]() |
7 天以前 | whyclxw | ![]() |
PlateFormFile/Ö±Á÷µçÔ´ÖÇ»ÛÆ½Ì¨¿ª·¢¼Æ»®.xlsxBinary files differ
PlateFormFile/Ö±Á÷µçÔ´ÖÇ»ÛÆ½Ì¨ÐèÇ󹿏ñÊé2.0.docxBinary files differ
src/main/java/com/whyc/controller/AlmParamController.java
@@ -39,6 +39,9 @@ private BattalarmDataService battalarmDataService; @Autowired private PwrdevAlarmService pwrdevAlarmService; @Autowired private BattRealdataIdService battRealdataIdService; @@ -135,9 +138,17 @@ } @GetMapping("getBattHisRealInAlm") @ApiOperation("çµæ± åè¦ç¹å»å ·ä½åè¦ä¿¡æ¯æ¥çä»åè¦å¼å§æ¶é´å°ç°å¨çåå²å®æ¶æ°æ®") public Response getBattHisRealInAlm(@RequestParam Integer battgroupId,@RequestParam String startTime,@RequestParam(required = false) Integer monNum) throws ParseException, InterruptedException { return battRealdataIdService.getBattHisRealInAlm(battgroupId,startTime,monNum); @ApiOperation("é¢è¦åæç®¡ç-䏻屿§ååæå±æ§") public Response getBattHisRealInAlm(@RequestParam Integer battgroupId,@RequestParam String startTime,@RequestParam(required = false) Integer almId) throws ParseException, InterruptedException { return battRealdataIdService.getBattHisRealInAlm(battgroupId,startTime,almId); } @PostMapping("getPwrtAlmAnalyse") @ApiOperation("é¢è¦åæç®¡ç-çµæºåè¦") public Response getPwrtAlmAnalyse(@RequestBody AlmAnalyseDto dto){ Integer uid=ActionUtil.getUser().getId(); dto.setUid(uid); return pwrdevAlarmService.getPwrtAlmAnalyse(dto); } } src/main/java/com/whyc/controller/StatisticController.java
@@ -90,7 +90,7 @@ } @ApiOperation(value = "ä¼è¯çµæºæ°éç»è®¡(1.2.7)") @PostMapping("getPwr7Statistic") public Response getPwr7Statistic(@RequestBody Pwr7Stic stic){ public Response getPwr7Statistic(@RequestBody Pwr7Stic stic) throws NoSuchFieldException, IllegalAccessException { User uinf= ActionUtil.getUser(); stic.setUid(uinf.getId()); return battTinfService.getPwr7Statistic(stic); src/main/java/com/whyc/mapper/AlmAnalysisParamMapper.java
New file @@ -0,0 +1,6 @@ package com.whyc.mapper; import com.whyc.pojo.db_param.AlmAnalysisParam; public interface AlmAnalysisParamMapper extends CustomMapper<AlmAnalysisParam>{ } src/main/java/com/whyc/mapper/PwrdevAlarmMapper.java
@@ -1,8 +1,10 @@ package com.whyc.mapper; import com.whyc.dto.AlarmDto; import com.whyc.dto.Param.AlmAnalyseDto; import com.whyc.dto.Real.AlmDto; import com.whyc.pojo.db_pwrdev_alarm.PwrdevAlarm; import com.whyc.pojo.db_pwrdev_alarm.PwrdevAlarmParam; import com.whyc.pojo.web_site.AlarmInspection; import java.util.List; @@ -14,5 +16,6 @@ List<AlarmInspection> getListGreatThan(Long id); List<AlarmDto> getListByUserId(Integer userId, Integer alarmLevel); //é¢è¦åæç®¡ç-çµæºåè¦ List<PwrdevAlarm> getPwrtAlmAnalyse(AlmAnalyseDto dto); } src/main/java/com/whyc/mapper/WorkflowDeviceMapper.java
New file @@ -0,0 +1,6 @@ package com.whyc.mapper; import com.whyc.pojo.web_site.WorkflowDevice; public interface WorkflowDeviceMapper extends CustomMapper<WorkflowDevice>{ } src/main/java/com/whyc/pojo/db_param/AlmAnalysisParam.java
New file @@ -0,0 +1,69 @@ package com.whyc.pojo.db_param; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.io.Serializable; /** * <p> * é¢è¦åæç®¡çå ³èåæ®µé 置表 * </p> * * @author lxw * @since 2025-06-19 */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName(schema = "db_param",value ="tb_alm_analysis_param") @ApiModel(value="AlmAnalysisParam对象", description="é¢è¦åæç®¡çå ³èåæ®µé 置表") public class AlmAnalysisParam implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "èªå¢ä¸»é®") @TableId(value = "num", type = IdType.AUTO) private Long num; @ApiModelProperty(value = "åè¦ID") private Integer almId; @ApiModelProperty(value = "主åèåæ®µ") private String mainField; @ApiModelProperty(value = "䏻忮µç±»å[1:ç´æµï¼2ï¼éä¿¡ï¼3é ç½ 4:çµæ± 5:设å¤]") private Integer mainFieldType; @ApiModelProperty(value = "次è¦å段1åèé ç½®") private String minorField1; @ApiModelProperty(value = "åæ®µ1ç±»å[1:ç´æµï¼2ï¼éä¿¡ï¼3é ç½ 4:çµæ± 5:设å¤]") private Integer minorField1Type; @ApiModelProperty(value = "次è¦å段2åèé ç½®") private String minorField2; @ApiModelProperty(value = "åæ®µ2ç±»å[1:ç´æµï¼2ï¼éä¿¡ï¼3é ç½ 4:çµæ± 5:设å¤]") private Integer minorField2Type; @ApiModelProperty(value = "次è¦å段3åèé ç½®") private String minorField3; @ApiModelProperty(value = "åæ®µ3ç±»å[1:ç´æµï¼2ï¼éä¿¡ï¼3é ç½ 4:çµæ± 5:设å¤]") private Integer minorField3Type; @ApiModelProperty(value = "次è¦å段4åèé ç½®") private String minorField4; @ApiModelProperty(value = "åæ®µ4ç±»å[1:ç´æµï¼2ï¼éä¿¡ï¼3é ç½ 4:çµæ± 5:设å¤]") private Integer minorField4Type; } src/main/java/com/whyc/pojo/db_param/BattAlmparam.java
@@ -99,4 +99,7 @@ @TableField(exist = false) private String battgroupName; @TableField(exist = false) private String devName; } src/main/java/com/whyc/pojo/web_site/WorkflowDevice.java
New file @@ -0,0 +1,35 @@ package com.whyc.pojo.web_site; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.ToString; @ToString @Data @TableName(schema = "web_site",value ="tb_workflow_device") @ApiModel("工忍¡å-ç°åºæ 鿍¡å-ç»´ä¿®-å ¥åº-æ¥åº-åºåºç设å¤ä¿¡æ¯") public class WorkflowDevice { private Integer id; @ApiModelProperty("å¨ä»¶åç§°") private String name; @ApiModelProperty("å¨ä»¶åå·") private String model; @ApiModelProperty("å¨ä»¶çæ¬") private String version; @ApiModelProperty("æ°é") private Integer quantity; @ApiModelProperty("æªå¤ççæ°é.ç»´ä¿®ç³è¯·æ¶éå¡«å ¥") private Integer quantityUnprocessed; @ApiModelProperty("åç") private String brand; @ApiModelProperty("ç±»å") private String type; @ApiModelProperty("ä¾åºå") private String supplier; @ApiModelProperty("工念ç¨ä¸»è¡¨id") private Integer mainId; } src/main/java/com/whyc/pojo/web_site/WorkflowMain.java
@@ -54,11 +54,6 @@ @ApiModelProperty("彿¡£æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai") private Date endTime; @ApiModelProperty("ç³è¯·æ°é") private Integer quantity; @ApiModelProperty("æªå¤ççæ°é.ç»´ä¿®ç³è¯·æ¶éå¡«å ¥") private Integer quantityUnprocessed; /**ä»»å¡ç级*/ @ApiModelProperty("ä»»å¡ç级") private Integer taskLevel; @@ -104,15 +99,7 @@ @TableField(exist = false) private List<WorkflowLink> linkList; public WorkflowMain(Integer id, Integer status, String endReason, Date endTime) { this.id = id; this.status = status; this.endReason = endReason; this.endTime = endTime; } public WorkflowMain() { } @TableField(exist = false) private List<WorkflowDevice> deviceList; } src/main/java/com/whyc/service/AlmAnalysisParamService.java
New file @@ -0,0 +1,21 @@ package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.whyc.mapper.AlmAnalysisParamMapper; import com.whyc.pojo.db_param.AlmAnalysisParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class AlmAnalysisParamService { @Autowired(required = false) private AlmAnalysisParamMapper mapper; //è·ååè¦almId对åºçåæé ç½®å±æ§å¼ public AlmAnalysisParam getAnalysisParam(Integer almId) { QueryWrapper wrapper=new QueryWrapper(); wrapper.eq("alm_id",almId); wrapper.last("limit 1"); AlmAnalysisParam param= mapper.selectOne(wrapper); return param; } } src/main/java/com/whyc/service/AppParamService.java
@@ -54,4 +54,12 @@ wrapper.orderByAsc("id"); return mapper.selectList(wrapper); } //è·åé¢è¦åæå¨æéå¼ public AppParam getAlarmAnalysisCycle() { QueryWrapper wrapper=new QueryWrapper(); wrapper.eq("param_name_psx","alm_analysis_already_time"); wrapper.last("limit 1"); AppParam param=mapper.selectOne(wrapper); return param; } } src/main/java/com/whyc/service/BaojigroupService.java
@@ -247,6 +247,9 @@ //æ¥è¯¢æºæ¿æå¨ççç» public String getGroupName(Integer powerId) { String groupName = powerInfMapper.getGroupName(powerId); if(groupName==null||groupName.length()<0){ groupName="none"; } return groupName; } //æ¥è¯¢ææçå æºç»åéåï¼çç»ï¼ src/main/java/com/whyc/service/BattRealdataIdService.java
@@ -9,6 +9,8 @@ import com.whyc.mapper.CommonMapper; import com.whyc.pojo.db_data_history.BattRealdataId; import com.whyc.pojo.db_param.AlmAnalysisParam; import com.whyc.pojo.db_param.AppParam; import com.whyc.util.ActionUtil; import com.whyc.util.DateUtil; import com.whyc.util.ThreadLocalUtil; @@ -40,6 +42,12 @@ @Autowired private BattInfService binfService; @Autowired private AlmAnalysisParamService almAnalysisParamService; @Autowired private AppParamService appParamService; //è·åçµæ± ç»æè¿ä¸å£åº¦çå使°æ® @@ -219,9 +227,16 @@ return new Response().set(1, dataListSorted); } //çµæ± åè¦ç¹å»å ·ä½åè¦ä¿¡æ¯æ¥çä»åè¦å¼å§æ¶é´å°ç°å¨çåå²å®æ¶æ°æ® public Response getBattHisRealInAlm(Integer battgroupId, String startTime, Integer monNum) throws ParseException, InterruptedException { public Response getBattHisRealInAlm(Integer battgroupId, String startTime, Integer almId) throws ParseException, InterruptedException { //è·ååè¦almId对åºçåæé ç½®å±æ§å¼ AlmAnalysisParam almAnalysisParam= almAnalysisParamService.getAnalysisParam(almId); List<RealDateDTO> dataList = new LinkedList<>(); List<List<Date>> monthTimeList = DateUtil.getMonthTime(ThreadLocalUtil.parse(startTime,1),new Date()); //è·åé¢è¦åæå¨æéå¼ AppParam appParam = appParamService.getAlarmAnalysisCycle(); Integer cycleTime=appParam.getParamValue().intValue(); Date cyscleDate=ActionUtil.getDateAdd(ThreadLocalUtil.parse(startTime,1),cycleTime*(-1)); //è·åcyscleDateå°ç°å¨ææçåå²å®æ¶æ°æ® List<List<Date>> monthTimeList = DateUtil.getMonthTime(cyscleDate,new Date()); ThreadPoolExecutor pool = ThreadPoolExecutorFactory.getPoolExecutor(); CountDownLatch latch = new CountDownLatch(monthTimeList.size()); for (int i = 0; i < monthTimeList.size(); i++) { @@ -237,15 +252,7 @@ int tableNum = subTablePageInfoService.judgeTable_realdata(table); List<RealDateDTO> list = new ArrayList(); if (tableNum > 0) { //è·åæå®æ¶é´æ®µå æå¤§æå°recordNumç¡®ä¿æ°æ®ç宿´ List recordNums= subTablePageInfoService.getMaxAndMinRecordNum(realdata); Integer maxRecordNum= 0; Integer minRecordNum= 0; if(recordNums.size()>0){ maxRecordNum=(Integer)recordNums.get(0); minRecordNum=(Integer)recordNums.get(1); } list = subTablePageInfoService.getBattRealDataHis(realdata,1,maxRecordNum,minRecordNum); list = subTablePageInfoService.getBattHisRealInAlm(realdata); } dataList.addAll(list); latch.countDown(); @@ -254,7 +261,7 @@ } latch.await(10, TimeUnit.MINUTES); List dataListSorted = dataList.stream().sorted(Comparator.comparing(RealDateDTO::getRecordTime)).collect(Collectors.toList()); return new Response().set(1, dataListSorted); return new Response().setIII(1,true, dataListSorted,almAnalysisParam,"çµæ± åè¦ç¹å»å ·ä½åè¦ä¿¡æ¯æ¥çä»åè¦å¼å§æ¶é´å°ç°å¨çåå²å®æ¶æ°æ®"); } } src/main/java/com/whyc/service/BatttestdataInfService.java
@@ -939,18 +939,20 @@ return new Response().setII(1,reslist.size()>0,pageInfo,"çµæ± ç»çµæ± æ§è½ç»è®¡ï¼æªæ¾çµï¼ä¼ç§ï¼å£åï¼æåï¼ç»è®¡(1.2.8/9/10)"); } //ä¼è¯çµæºæ°éç»è®¡(1.2.7) public Response getPwr7Statistic(Pwr7Stic stic) { public Response getPwr7Statistic(Pwr7Stic stic) throws NoSuchFieldException, IllegalAccessException { Date inuseTimeStart =new Date(); if(stic.getInuseYear()==1){ //æå ¥ä½¿ç¨æ¶é´æ¡ä»¶çé LocalDateTime startTime = LocalDateTime.now().minusYears(5); inuseTimeStart = DateUtil.convertToDate(startTime); }else{ //æå ¥ä½¿ç¨æ¶é´æ¡ä»¶çé LocalDateTime startTime = LocalDateTime.now().minusYears(stic.getInuseYear()); inuseTimeStart = DateUtil.convertToDate(startTime); if(stic.getInuseYear()!=null){ if(stic.getInuseYear()==1){ //æå ¥ä½¿ç¨æ¶é´æ¡ä»¶çé LocalDateTime startTime = LocalDateTime.now().minusYears(5); inuseTimeStart = DateUtil.convertToDate(startTime); }else{ //æå ¥ä½¿ç¨æ¶é´æ¡ä»¶çé LocalDateTime startTime = LocalDateTime.now().minusYears(stic.getInuseYear()); inuseTimeStart = DateUtil.convertToDate(startTime); } stic.setPwrInUseTime(inuseTimeStart); } stic.setPwrInUseTime(inuseTimeStart); //1æ¥è¯¢ç¬¦åæ¡ä»¶ççµæ± ç» List<PowerInf> pinfList=powerInfService.getPwr7Statistic(stic); if(pinfList==null||pinfList.size()==0){ src/main/java/com/whyc/service/PwrdevAlarmParamService.java
@@ -5,12 +5,15 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.whyc.constant.BattSingalIdEnum; import com.whyc.constant.PowerAlarmEnum; import com.whyc.dto.AlarmParam; import com.whyc.dto.Param.AlmAnalyseDto; import com.whyc.dto.Param.ParamAlmDto; import com.whyc.dto.Real.AlmDto; import com.whyc.dto.Response; import com.whyc.mapper.PwrdevAlarmParamMapper; import com.whyc.pojo.db_alarm.BattalarmData; import com.whyc.pojo.db_param.BattAlmparam; import com.whyc.pojo.db_pwrdev_alarm.PwrdevAlarmParam; import com.whyc.pojo.db_station.PowerInf; @@ -106,5 +109,4 @@ } return new Response().set(1,true,"ä¿®æ¹çµæºåè¦åæ°"); } } src/main/java/com/whyc/service/PwrdevAlarmService.java
@@ -8,11 +8,13 @@ import com.whyc.constant.DevAlarmEnum; import com.whyc.constant.PowerAlarmEnum; import com.whyc.dto.AlarmDto; import com.whyc.dto.Param.AlmAnalyseDto; import com.whyc.dto.Real.AlmDto; import com.whyc.dto.Response; import com.whyc.mapper.PwrdevAlarmMapper; import com.whyc.pojo.db_alarm.DevalarmData; import com.whyc.pojo.db_pwrdev_alarm.PwrdevAlarm; import com.whyc.pojo.db_pwrdev_alarm.PwrdevAlarmParam; import com.whyc.pojo.web_site.AlarmInspection; import com.whyc.util.ActionUtil; import org.springframework.beans.factory.annotation.Autowired; @@ -84,4 +86,12 @@ public List<AlarmDto> getListByUserId(Integer userId,Integer alarmLevel) { return mapper.getListByUserId(userId,alarmLevel); } //é¢è¦åæç®¡ç-çµæºåè¦ public Response getPwrtAlmAnalyse(AlmAnalyseDto dto) { PageHelper .startPage(dto.getPageNum(),dto.getPageSize()); List<PwrdevAlarm> list=mapper.getPwrtAlmAnalyse(dto); PageInfo pageInfo=new PageInfo(list); return new Response().setII(1,list!=null,pageInfo,"çµæºåè¦åæ"); } } src/main/java/com/whyc/service/PwrdevHistorydataIdService.java
@@ -20,6 +20,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.lang.reflect.Field; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Date; @@ -90,7 +91,7 @@ return new Response().setIII(1,datalist.size()>0,datalist,modelCfg,"è·ååå°æ¶å ç´æµè¾åºç»è®¡"); } //1.2.7ä¼è¯çµæºç»è®¡ä¸ä¸å£åº¦ççµæºæä¸å±æ§ååæ°éå¼è¶ è¿çæ¬¡æ° public Integer getPwrQuarter7(Integer powerId,Integer powerType) { public Integer getPwrQuarter7(Integer powerId,Integer powerType) throws NoSuchFieldException, IllegalAccessException { Map<String,Integer> map=new HashMap<>(); //è·åä¼è¯çµæºæ§è½ç»è®¡å¨å¹³å°ä¸çæ¶é´åæ°è®¾ç½®è¡¨ ApptimeParam apptimeParam=apptimeParamService.getPwrPerformanceStrartTime(powerId); @@ -98,12 +99,12 @@ List<String> datelist=ActionUtil.getDateListBetweenDates(apptimeParam.getParamValue(), new Date()); //è·åçµæºä¼è¯å¤æçæ ååæ°å¼ List<PowerPropertyParam> paramList=propertyParamService.getPwrStandardParam(powerType); Map<String,Float> paramValues=new HashMap<>(); /*Map<String,Float> paramValues=new HashMap<>(); for (PowerPropertyParam param : paramList) { paramValues.put(param.getPropertyName()+"_upper", param.getBasisVal()*param.getAlarmLimithUpper()); paramValues.put(param.getPropertyName()+"_lower", param.getBasisVal()*param.getAlarmLimitlLower()); map.put(param.getPropertyName(), 0); } }*/ for (int i=0;i<datelist.size();i++) { String date=datelist.get(i); String tableName ="db_data_history.tb_pwrdev_historydata_"+powerId+"_"+date; @@ -112,10 +113,10 @@ if(existTableName == null){ continue; } List<QuarterPwr7Res> datalist=subTablePageInfoService.getPwrQuarter7(tableName); List<PwrdevHistorydataId> datalist=subTablePageInfoService.getPwrQuarter7(tableName); // éå dataList å¹¶æ¯è¾å±æ§å¼ for (QuarterPwr7Res data : datalist) { if(paramValues.get("acin1_vola_upper")!=null){ for (PwrdevHistorydataId data : datalist) { /*if(paramValues.get("acin1_vola_upper")!=null){ if ((data.getAcin1Vola() > paramValues.get("acin1_vola_upper"))||(data.getAcin1Vola() < paramValues.get("acin1_vola_lower"))) { map.put("acin1_vola", map.get("acin1_vola") + 1); } @@ -134,6 +135,17 @@ if ((data.getDcoutCurr() > paramValues.get("dcout_curr_upper")) || (data.getDcoutCurr() < paramValues.get("dcout_curr_lower"))) { map.put("dcout_curr", map.get("dcout_curr") + 1); } }*/ for (int j=0;j<paramList.size();j++) { PowerPropertyParam param = paramList.get(j); String propertyName = ActionUtil.toCamelCase(param.getPropertyName()); Field field = PwrdevHistorydataId.class.getDeclaredField(propertyName); field.setAccessible(true); // 妿忮µæ¯ç§æçï¼éè¦è®¾ç½®ä¸ºå¯è®¿é® Float value = (Float) field.get(data); if ((value > (param.getBasisVal()*param.getAlarmLimithUpper()))||(value <(param.getBasisVal()*param.getAlarmLimitlLower()))) { int limitNum=map.get(param.getPropertyName())==null?0:map.get(param.getPropertyName()); map.put(param.getPropertyName(), limitNum+1); } } } } src/main/java/com/whyc/service/SubTablePageInfoService.java
@@ -772,6 +772,35 @@ }); return list; } //çµæ± æ°æ®åå²å®æ¶å¤ç(é¢è¦åæ) public List<RealDateDTO> getBattHisRealInAlm(BattRealdataId realdata) { String sql=" select record_time, group_vol, online_vol,group_curr, mon_vol, mon_tmp, mon_res, mon_num,record_num " + " from db_data_history.tb_batt_realdata_"+realdata.getTableName()+" " + " where record_time >= '"+ThreadLocalUtil.format(realdata.getRecordTime(),1)+"' " + " and record_time <= '"+ThreadLocalUtil.format(realdata.getRecordTime1(),1)+"' " + " order by record_time asc,mon_num asc"; List<RealDateDTO> list = sqlExecuteService.executeQuery_call(sql, new CallBack() { @Override public List getResults(ResultSet rs) throws SQLException { List<RealDateDTO> list=new ArrayList<>(); while (rs.next()){ RealDateDTO ph=new RealDateDTO(); ph.setRecordTime(rs.getTimestamp("record_time")); ph.setGroupVol(rs.getFloat("group_vol")); ph.setOnlineVol(rs.getFloat("online_vol")); ph.setGroupCurr(rs.getFloat("group_curr")); ph.setMonVol(rs.getFloat("mon_vol")); ph.setMonTmp(rs.getFloat("mon_tmp")); ph.setMonRes(rs.getFloat("mon_res")); ph.setMonNum(rs.getInt("mon_num")); ph.setRecordNum(rs.getInt("record_num")); list.add(ph); } return list; } }); return list; } //è·åæå®æ¶é´æ®µå æå¤§æå°recordNumç¡®ä¿æ°æ®ç宿´ public List getMaxAndMinRecordNum(BattRealdataId realdata) { String sql="select max(record_num) as maxRecordNum,min(record_num) as minRecordNum " + @@ -793,21 +822,102 @@ return list; } //1.2.7ä¼è¯çµæºç»è®¡ä¸ä¸å£åº¦ççµæºæä¸å±æ§ååæ°éå¼è¶ è¿çæ¬¡æ° public List<QuarterPwr7Res> getPwrQuarter7(String tableName) { String sql=" select distinct record_datetime,acin1_vola,acout_curra,dcout_vol,dcout_curr " + public List<PwrdevHistorydataId> getPwrQuarter7(String tableName) { String sql=" select distinct * " + " from "+tableName+" " ; sql+=" order by record_datetime asc"; List<QuarterPwr7Res> list = sqlExecuteService.executeQuery_call(sql, new CallBack() { List<PwrdevHistorydataId> list = sqlExecuteService.executeQuery_call(sql, new CallBack() { @Override public List getResults(ResultSet rs) throws SQLException { List<QuarterPwr7Res> list=new ArrayList<>(); List<PwrdevHistorydataId> list=new ArrayList<>(); while (rs.next()){ QuarterPwr7Res data=new QuarterPwr7Res(); PwrdevHistorydataId data=new PwrdevHistorydataId(); data.setRecordDatetime(rs.getTimestamp("record_datetime")); data.setAcin1Vola(rs.getFloat("acin1_vola")); data.setAcin1Volb(rs.getFloat("acin1_volb")); data.setAcin1Volc(rs.getFloat("acin1_volc")); data.setAcin2Vola(rs.getFloat("acin2_vola")); data.setAcin2Volb(rs.getFloat("acin2_volb")); data.setAcin2Volc(rs.getFloat("acin2_volc")); data.setAcoutVola(rs.getFloat("acout_vola")); data.setAcoutVolb(rs.getFloat("acout_volb")); data.setAcoutVolc(rs.getFloat("acout_volc")); data.setAcoutCurra(rs.getFloat("acout_curra")); data.setAcoutCurrb(rs.getFloat("acout_currb")); data.setAcoutCurrc(rs.getFloat("acout_currc")); data.setDcoutVol(rs.getFloat("dcout_vol")); data.setDcoutCurr(rs.getFloat("dcout_curr")); data.setBattgroup1Vol(rs.getFloat("battgroup1_vol")); data.setBattgroup1Curr(rs.getFloat("battgroup1_curr")); data.setBattgroup2Vol(rs.getFloat("battgroup2_vol")); data.setBattgroup2Curr(rs.getFloat("battgroup2_curr")); data.setTemprature(rs.getFloat("temprature")); data.setMOutputvol(rs.getFloat("m_outputvol")); data.setM1Outcurr(rs.getFloat("m1_outcurr")); data.setM2Outcurr(rs.getFloat("m2_outcurr")); data.setM3Outcurr(rs.getFloat("m3_outcurr")); data.setM4Outcurr(rs.getFloat("m4_outcurr")); data.setM5Outcurr(rs.getFloat("m5_outcurr")); data.setM6Outcurr(rs.getFloat("m6_outcurr")); data.setM7Outcurr(rs.getFloat("m7_outcurr")); data.setM8Outcurr(rs.getFloat("m8_outcurr")); data.setM9Outcurr(rs.getFloat("m9_outcurr")); data.setM10Outcurr(rs.getFloat("m10_outcurr")); data.setM11Outcurr(rs.getFloat("m11_outcurr")); data.setM12Outcurr(rs.getFloat("m12_outcurr")); data.setM13Outcurr(rs.getFloat("m13_outcurr")); data.setM14Outcurr(rs.getFloat("m14_outcurr")); data.setM15Outcurr(rs.getFloat("m15_outcurr")); data.setM16Outcurr(rs.getFloat("m16_outcurr")); data.setAcin1Curra(rs.getFloat("acin1_curra")); data.setAcin1Currb(rs.getFloat("acin1_currb")); data.setAcin1Currc(rs.getFloat("acin1_currc")); data.setLoaderCurr(rs.getFloat("loader_curr")); data.setBattgroup1Ah(rs.getFloat("battgroup1_ah")); data.setBattgroup1Temp(rs.getFloat("battgroup1_temp")); data.setBattgroup2Ah(rs.getFloat("battgroup2_ah")); data.setBattgroup2Temp(rs.getFloat("battgroup2_temp")); data.setAcdcmTemp(rs.getFloat("acdcm_temp")); data.setM1OutVol(rs.getFloat("m1_out_vol")); data.setM2OutVol(rs.getFloat("m2_out_vol")); data.setM3OutVol(rs.getFloat("m3_out_vol")); data.setM4OutVol(rs.getFloat("m4_out_vol")); data.setM5OutVol(rs.getFloat("m5_out_vol")); data.setM6OutVol(rs.getFloat("m6_out_vol")); data.setM7OutVol(rs.getFloat("m7_out_vol")); data.setM8OutVol(rs.getFloat("m8_out_vol")); data.setM9OutVol(rs.getFloat("m9_out_vol")); data.setM10OutVol(rs.getFloat("m10_out_vol")); data.setM11OutVol(rs.getFloat("m11_out_vol")); data.setM12OutVol(rs.getFloat("m12_out_vol")); data.setM13OutVol(rs.getFloat("m13_out_vol")); data.setM14OutVol(rs.getFloat("m14_out_vol")); data.setM15OutVol(rs.getFloat("m15_out_vol")); data.setM16OutVol(rs.getFloat("m16_out_vol")); data.setUseracin1Vola(rs.getFloat("useracin1_vola")); data.setUseracin1Volb(rs.getFloat("useracin1_volb")); data.setUseracin1Volc(rs.getFloat("useracin1_volc")); data.setUseracin1Curra(rs.getFloat("useracin1_curra")); data.setUseracin1Currb(rs.getFloat("useracin1_currb")); data.setUseracin1Currc(rs.getFloat("useracin1_currc")); data.setUseracin1Freq(rs.getFloat("useracin1_freq")); data.setUseracin2Vola(rs.getFloat("useracin2_vola")); data.setUseracin2Volb(rs.getFloat("useracin2_volb")); data.setUseracin2Volc(rs.getFloat("useracin2_volc")); data.setUseracin2Curra(rs.getFloat("useracin2_curra")); data.setUseracin2Currb(rs.getFloat("useracin2_currb")); data.setUseracin2Currc(rs.getFloat("useracin2_currc")); data.setUseracin2Freq(rs.getFloat("useracin2_freq")); data.setMTemper1(rs.getFloat("m_temper1")); data.setMTemper2(rs.getFloat("m_temper2")); data.setMTemper3(rs.getFloat("m_temper3")); data.setMHumidity1(rs.getFloat("m_humidity1")); data.setMHumidity2(rs.getFloat("m_humidity2")); data.setMHumidity3(rs.getFloat("m_humidity3")); list.add(data); } return list; src/main/java/com/whyc/service/WorkflowDeviceService.java
New file @@ -0,0 +1,45 @@ package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.whyc.mapper.WorkflowDeviceMapper; import com.whyc.pojo.web_site.WorkflowDevice; import com.whyc.util.ActionUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class WorkflowDeviceService { @Autowired private WorkflowDeviceMapper mapper; public void addBatch(List<WorkflowDevice> deviceList) { mapper.insertBatchSomeColumn(deviceList); } public List<WorkflowDevice> getByMainId(Integer relatedId) { QueryWrapper<WorkflowDevice> query = Wrappers.query(); query.eq("main_id",relatedId); return mapper.selectList(query); } public void setQuantityUnprocessedZero(Integer relatedId) { UpdateWrapper<WorkflowDevice> update = Wrappers.update(); update.set("quantity_unprocessed",0).eq("main_id",relatedId); mapper.update((WorkflowDevice) ActionUtil.objeNull,update); } public void updateQuantityUnprocessedBatch(List<WorkflowDevice> deviceRelatedListInDB) { for (int i = 0; i < deviceRelatedListInDB.size(); i++) { WorkflowDevice deviceRelatedInDB = deviceRelatedListInDB.get(i); UpdateWrapper<WorkflowDevice> update = Wrappers.update(); update.set("quantity_unprocessed",deviceRelatedInDB.getQuantityUnprocessed()) .eq("id",deviceRelatedInDB.getId()); mapper.update((WorkflowDevice) ActionUtil.objeNull,update); } } } src/main/java/com/whyc/service/WorkflowLinkService.java
@@ -6,6 +6,7 @@ import com.whyc.dto.Response; import com.whyc.mapper.*; import com.whyc.pojo.db_user.User; import com.whyc.pojo.web_site.WorkflowDevice; import com.whyc.pojo.web_site.WorkflowLink; import com.whyc.pojo.web_site.WorkflowMain; import com.whyc.util.CommonUtil; @@ -27,6 +28,9 @@ @Autowired @Lazy private WorkflowMainService mainService; @Autowired private WorkflowDeviceService deviceService; public void addBatch(List<WorkflowLink> links) { @@ -63,11 +67,52 @@ mainService.updateById(mainInDB); link.setDealAndClose(1); } } }break; //设å¤å ¥åºç³è¯· case 2: //è®¾å¤æ¥åºç³è¯· case 3:{ if(link.getStatus() == WorkflowEnum.LINK_STATUS_PASS.getValue().intValue()){ mainInDB.setStatus(WorkflowEnum.MAIN_STATUS_END_PASS.getValue()); mainInDB.setEndTime(now); mainInDB.setEndReason(link.getDealReason()); mainService.updateById(mainInDB); }else if(link.getStatus() == WorkflowEnum.LINK_STATUS_REJECT.getValue().intValue()){ mainInDB.setStatus(WorkflowEnum.MAIN_STATUS_END_REJECT.getValue()); mainInDB.setEndReason(link.getDealRejectReason()); mainInDB.setEndTime(now); //æ£æ¥æ¯å¦æå ³èå·¥å. // 妿æå ³èå·¥å,å ³èå·¥åç¶æé置为å®ç»å¾ å¤ç,宿æ¶é´é置为空 if(mainInDB.getRelatedId() != null){ Integer relatedId = mainInDB.getRelatedId(); mainService.resetRepairStatus(relatedId); //å ³èå·¥åç设å¤éå±è¡¨æªå¤çæ°éä¹è¦åé,çäºä¸»è¡¨è®¾å¤æ°é List<WorkflowDevice> deviceRelatedListInDB = deviceService.getByMainId(mainInDB.getRelatedId()); List<WorkflowDevice> deviceListInDB = deviceService.getByMainId(mainInDB.getId()); for (int i = 0; i < deviceListInDB.size(); i++) { WorkflowDevice deviceInDB = deviceListInDB.get(i); for (int j = 0; j < deviceRelatedListInDB.size(); j++) { WorkflowDevice deviceRelatedInDB = deviceRelatedListInDB.get(j); if (deviceInDB.getName().equals(deviceRelatedInDB.getName()) && deviceInDB.getModel().equals(deviceRelatedInDB.getModel()) && deviceInDB.getVersion().equals(deviceRelatedInDB.getVersion()) && deviceInDB.getBrand().equals(deviceRelatedInDB.getBrand()) && deviceInDB.getType().equals(deviceRelatedInDB.getType()) && deviceInDB.getSupplier().equals(deviceRelatedInDB.getSupplier()) ) { deviceRelatedInDB.setQuantityUnprocessed(deviceInDB.getQuantity()); //å ³èå·¥åå½å设å¤éå±çæªå¤çæ°éåé宿,ä¸ä¸ä¸ª break; } } } deviceService.updateQuantityUnprocessedBatch(deviceRelatedListInDB); } mainService.updateById(mainInDB); link.setDealAndClose(1); } }break; case 4:{ //TODO åºåºç³è¯· if(link.getStatus() == WorkflowEnum.LINK_STATUS_PASS.getValue().intValue()){ mainInDB.setStatus(WorkflowEnum.MAIN_STATUS_WAIT_FOR_DEALING.getValue()); mainService.updateById(mainInDB); @@ -78,12 +123,14 @@ //æ£æ¥æ¯å¦æå ³èå·¥å.妿æå ³èå·¥å,å ³èå·¥åç¶æé置为å®ç»å¾ å¤ç,宿æ¶é´é置为空 if(mainInDB.getRelatedId() != null){ Integer relatedId = mainInDB.getRelatedId(); mainService.resetRepairStatus(relatedId,mainInDB.getQuantity()); //mainService.resetRepairStatus(relatedId,mainInDB.getQuantity()); } mainService.updateById(mainInDB); link.setDealAndClose(1); } } }break; default: break; } src/main/java/com/whyc/service/WorkflowMainService.java
@@ -11,6 +11,7 @@ import com.whyc.dto.Response; import com.whyc.mapper.WorkflowMainMapper; import com.whyc.pojo.db_user.User; import com.whyc.pojo.web_site.WorkflowDevice; import com.whyc.pojo.web_site.WorkflowLink; import com.whyc.pojo.web_site.WorkflowMain; import com.whyc.util.ActionUtil; @@ -34,6 +35,9 @@ @Autowired(required = false) private WorkflowLinkService linkService; @Autowired private WorkflowDeviceService deviceService; /** @@ -235,6 +239,8 @@ /** * éç¨æäº¤æ¹æ³,æäº¤ç»è§è²-è§è²å± * 妿related_idä¸ä¸ºç©º,åéè¦ç¹æ®å¤ç. è¯æä¼å½±åå°å ³èåæ® * * æ¶åå°æ°çé®é¢éè¦è§£å³,ç°åºæ éå,设å¤ç»´ä¿®ç³è¯· æ æ¥åºç³è¯· æ¯å¤ä¸ª,å¹¶åå ¥å·¥å设å¤è¡¨ä¸. å¹¶ä¸åªæ¯åçº¯çæ°é. TODO ?èªå¨åå¤çæä¹æ´æ° */ @Transactional @@ -242,10 +248,30 @@ //1.æäº¤å°åæ®å®¡æ¹æµç¨ //妿åå¨å ³èåæ®id,é¦å æ ¡éªæäº¤çæ°é Date now = new Date(); WorkflowMain mainRelated = getById(main.getRelatedId()); List<WorkflowDevice> deviceListRelatedInDB = deviceService.getByMainId(main.getRelatedId()); List<WorkflowDevice> deviceList = main.getDeviceList(); if(main.getRelatedId() != null) { if (main.getQuantity() > mainRelated.getQuantityUnprocessed()) { return new Response().setII(1, "å ¥åºæ°éä¸è½å¤§äºç»´ä¿®ç³è¯·å ³èåæ®çæªå¤çæ°é"); //éådeviceList,妿deviceListå ç对象çquantityå¼å¤§äº deviceListRelatedInDBå 对象å表ä¸ç对象ææå段ç¸åçè®°å½çquantityUnprocessedå¼,åè¿åé误 for (int i = 0; i < deviceList.size(); i++) { WorkflowDevice device = deviceList.get(i); for (int j = 0; j < deviceListRelatedInDB.size(); j++) { WorkflowDevice deviceInDB = deviceListRelatedInDB.get(j); if (device.getName().equals(deviceInDB.getName()) && device.getModel().equals(deviceInDB.getModel()) && device.getVersion().equals(deviceInDB.getVersion()) && device.getBrand().equals(deviceInDB.getBrand()) && device.getType().equals(deviceInDB.getType()) && device.getSupplier().equals(deviceInDB.getSupplier()) ) { if (device.getQuantity() > deviceInDB.getQuantityUnprocessed()) { return new Response().setII(1, "å ¥åºæ°éä¸è½å¤§äºç»´ä¿®ç³è¯·å ³èåæ®çæªå¤çæ°é"); }else{ //å½å设å¤çæ ¡éªç»æ,è¿å ¥ä¸ä¸ä¸ªè®¾å¤æ ¡éª break; } } } } } //主表æå ¥ @@ -268,9 +294,17 @@ main.setStatus(mainStatus); main.setProcessStage(process.getStage()); if(main.getType() == WorkflowTypeEnum.DEVICE_REPAIR.getType().intValue()){ //ç»´ä¿®ç³è¯·å,éå¡«å ¥ main.setQuantityUnprocessed(main.getQuantity()); for (int i = 0; i < deviceList.size(); i++) { deviceList.get(i).setQuantityUnprocessed(deviceList.get(i).getQuantity()); } } add(main); //ä¸»è¡¨å ³èçç©ææå ¥ for (WorkflowDevice device : deviceList) { device.setMainId(main.getId()); } deviceService.addBatch(deviceList); //å åä¸å»é¤å·²æå ¥æ°æ®åºçåå· ServletContext application = ActionUtil.getApplication(); List<String> orderIdList = (List<String>) application.getAttribute("orderIdList"); @@ -296,14 +330,25 @@ linkService.add(link); //妿åå¨å ³èåæ®id,å¤çå ³èåæ®åèªå¨çææ°åæ® checkRelatedAndDone(main, now, mainRelated, user); checkRelatedAndDone(main, now, deviceListRelatedInDB, user); return new Response().setII(1,"æäº¤å®æ"); } private void checkRelatedAndDone(WorkflowMain main, Date now, WorkflowMain mainRelated, User user) { private void checkRelatedAndDone(WorkflowMain main, Date now, List<WorkflowDevice> deviceListRelatedInDB, User user) { if(main.getRelatedId() != null){ //夿æ¯ç³è¯·çå ¥åº,è¿æ¯æ¥åº. if (main.getQuantity() < mainRelated.getQuantityUnprocessed()){ //说æéè¦èªå¨çæå ¥åºæè æ¥åºåæ® //ç³è¯·çæ°é<å ³èåæ®çæªå¤çæ°é,å说ææå©ä½. éè¦èªå¨çæå¯¹ç«å·¥å List<WorkflowDevice> deviceList = main.getDeviceList(); //计ç®deviceListnå quantity屿§å¼çå int sumQuantity = 0; for (WorkflowDevice device : deviceList) { sumQuantity += device.getQuantity(); } //计ç®deviceListRelatedInDBnå quantityUnprocessed屿§å¼çå int sumQuantityUnprocessedInDB = 0; for (WorkflowDevice device : deviceListRelatedInDB) { sumQuantityUnprocessedInDB += device.getQuantityUnprocessed(); } if (sumQuantity < sumQuantityUnprocessedInDB){ //说æéè¦èªå¨çæå ¥åºæè æ¥åºåæ® //éè¦èªå¨çææ¥åºçç³è¯· WorkflowMain mainAuto = new WorkflowMain(); WorkflowTypeEnum typeEnumAuto; @@ -313,10 +358,52 @@ mainAuto.setCreateUserId(user.getId()); mainAuto.setCreateTime(now); mainAuto.setBeginTime(now); mainAuto.setQuantity(mainRelated.getQuantityUnprocessed()- main.getQuantity()); mainAuto.setProcessStage(processAuto.getStage()); mainAuto.setStatus(statusAuto); mainAuto.setRelatedId(main.getRelatedId()); //æ´ç主表ç设å¤é表 List<WorkflowDevice> deviceListAuto = new ArrayList<>(); //éådeviceListRelatedInDB,åå»deviceListä¸ç³è¯·çæ°é for (WorkflowDevice deviceInDB : deviceListRelatedInDB) { boolean deviceExists = false; for (WorkflowDevice device : deviceList) { if (device.getName().equals(deviceInDB.getName()) && device.getModel().equals(deviceInDB.getModel()) && device.getVersion().equals(deviceInDB.getVersion()) && device.getBrand().equals(deviceInDB.getBrand()) && device.getType().equals(deviceInDB.getType()) && device.getSupplier().equals(deviceInDB.getSupplier()) ){ deviceExists = true; if (deviceInDB.getQuantityUnprocessed()-device.getQuantity() > 0){ WorkflowDevice deviceAuto = new WorkflowDevice(); deviceAuto.setName(deviceInDB.getName()); deviceAuto.setModel(deviceInDB.getModel()); deviceAuto.setVersion(deviceInDB.getVersion()); deviceAuto.setQuantity(deviceInDB.getQuantityUnprocessed()-device.getQuantity()); deviceAuto.setBrand(deviceInDB.getBrand()); deviceAuto.setType(deviceInDB.getType()); deviceAuto.setSupplier(deviceInDB.getSupplier()); deviceListAuto.add(deviceAuto); }else{ break; } } } if (!deviceExists){ WorkflowDevice deviceAuto = new WorkflowDevice(); deviceAuto.setName(deviceInDB.getName()); deviceAuto.setModel(deviceInDB.getModel()); deviceAuto.setVersion(deviceInDB.getVersion()); deviceAuto.setQuantity(deviceInDB.getQuantityUnprocessed()); deviceAuto.setBrand(deviceInDB.getBrand()); deviceAuto.setType(deviceInDB.getType()); deviceAuto.setSupplier(deviceInDB.getSupplier()); deviceListAuto.add(deviceAuto); } } if(main.getType() == WorkflowTypeEnum.DEVICE_IN.getType().intValue()) { //ç³è¯·çå ¥åº mainAuto.setTaskDesc("æäº¤äºç»´ä¿®åçå ¥åºç³è¯·,ç³»ç»èªå¨çæå©ä½æ°éçæ¥åºç³è¯·"); @@ -330,6 +417,11 @@ mainAuto.setTitle(titleAuto); mainAuto.setType(typeEnumAuto.getType()); add(mainAuto); deviceListAuto.forEach(device -> { device.setMainId(mainAuto.getId()); }); //æå ¥ä¸»è¡¨ç设å¤é表 deviceService.addBatch(deviceListAuto); //èªå¨èç¹çæ WorkflowLink linkAuto = new WorkflowLink(); @@ -355,8 +447,9 @@ }else{ relatedMain.setEndReason("ç¨æ·æäº¤ç»´ä¿®ç³è¯·åçæ¥åºç³è¯·,ç»´ä¿®æµç¨ç»æ"); } relatedMain.setQuantityUnprocessed(0); updateById(relatedMain); //æ´æ°å ³èåæ®ç设å¤å©ä½æªå¤çæ°é为0 deviceService.setQuantityUnprocessedZero(main.getRelatedId()); } } @@ -407,12 +500,11 @@ mapper.update((WorkflowMain) ActionUtil.objeNull,update); } public void resetRepairStatus(Integer relatedId, Integer quantity) { public void resetRepairStatus(Integer relatedId) { UpdateWrapper<WorkflowMain> update = Wrappers.update(); update.set("status",WorkflowEnum.MAIN_STATUS_WAIT_FOR_DEALING.getValue()) .set("end_time",null) .set("end_reason",null) .set("quantity_unprocessed",quantity) .eq("id",relatedId); mapper.update((WorkflowMain) ActionUtil.objeNull,update); } src/main/java/com/whyc/util/ActionUtil.java
@@ -29,6 +29,7 @@ public static String time_yyyyMMddHHmmss = "yyyy-MM-dd HH:mm:ss"; public static String time_yyyyMMdd = "yyyy-MM-dd"; public static String time_yyyyMM = "yyyy-MM"; public static String time_yyyy_MM = "yyyy_MM"; public static String time_yyyyMMdd_HH_mm_ss = "yyyy-MM-dd_HH_mm_ss"; public static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public static SimpleDateFormat sdfwithOutday = new SimpleDateFormat("yyyy_MM"); @@ -647,7 +648,7 @@ List<String> dateList = new ArrayList<>(); LocalDate currentDate = startDate; DateTimeFormatter formatter = DateTimeFormatter.ofPattern(ActionUtil.time_yyyyMM); DateTimeFormatter formatter = DateTimeFormatter.ofPattern(ActionUtil.time_yyyy_MM); while (!currentDate.isAfter(endDate)) { String formattedDate = currentDate.format(formatter); dateList.add(formattedDate); @@ -655,11 +656,29 @@ } return dateList; } // å¹é "_" åè·ä¸ä¸ªåæ¯ï¼å°åæå¤§åï¼ public static String toCamelCase(String input) { // å¹é "_" åè·ä¸ä¸ªåæ¯ï¼å°åæå¤§åï¼ Pattern pattern = Pattern.compile("_(\\w)"); Matcher matcher = pattern.matcher(input); StringBuffer result = new StringBuffer(); while (matcher.find()) { // å°å¹é å°çåæ¯è½¬ä¸ºå¤§åï¼å¹¶æ¿æ¢æåé¢çä¸å线 matcher.appendReplacement(result, matcher.group(1).toUpperCase()); } matcher.appendTail(result); return result.toString(); } public static void main(String[] args) throws ParseException { List<String> dateList =getDateListBetweenDates(ActionUtil.sdf.parse("2025-01-01 00:00:00"),new Date()); /*List<String> dateList =getDateListBetweenDates(ActionUtil.sdf.parse("2025-01-01 00:00:00"),new Date()); for (String date : dateList) { System.out.println(date); } }*/ //System.out.println(toCamelCase("user_name_and_age")); Date time1=getDateAdd(new Date(),-10); System.out.println(ActionUtil.sdf.format(time1)); } } src/main/resources/mapper/BattAlmparamMapper.xml
@@ -35,7 +35,7 @@ </where> </select> <select id="getBattAlmParamToExport" resultType="com.whyc.pojo.db_param.BattAlmparam"> select distinct tb_batt_almparam.*,tb_batt_inf.battgroup_name select distinct tb_batt_almparam.*,tb_batt_inf.battgroup_name,tb_batt_inf.dev_name ,tb_station_inf.station_type,tb_station_inf.station_name,tb_station_inf.provice,tb_station_inf.city,tb_station_inf.country,tb_station_inf.full_name from db_station.tb_batt_inf,db_station.tb_station_inf,db_param.tb_batt_almparam <where> src/main/resources/mapper/BattalarmDataMapper.xml
@@ -95,9 +95,6 @@ <if test="stationId!=null"> and tb_station_inf.station_id=#{stationId} </if> <if test="stationId!=null"> and tb_station_inf.station_id=#{stationId} </if> <if test="battgroupId!=null"> and tb_battalarm_data.battgroup_id=#{battgroupId} </if> @@ -119,7 +116,7 @@ and tb_baojigroup_usr.uid=#{uid} ) </if> order by alm_start_time desc </where> </select> </mapper> src/main/resources/mapper/PowerPropertyParamMapper.xml
@@ -8,5 +8,6 @@ from db_param.tb_power_property_param,db_pwrdev_alarm.tb_pwrdev_alarm_param_stand where tb_power_property_param.property_name=tb_pwrdev_alarm_param_stand.property_name and tb_power_property_param.power_type=#{powerType} and tb_power_property_param.field_en=1 </select> </mapper> src/main/resources/mapper/PwrdevAlarmMapper.xml
@@ -63,4 +63,35 @@ and bu.uid = #{userId} ) </select> <select id="getPwrtAlmAnalyse" resultType="com.whyc.pojo.db_pwrdev_alarm.PwrdevAlarm"> select tb_pwrdev_alarm.*,tb_power_inf.power_name,tb_station_inf.station_name,tb_station_inf.provice,tb_station_inf.city,tb_station_inf.country,tb_station_inf.full_name from db_pwrdev_alarm.tb_pwrdev_alarm,db_station.tb_power_inf,db_station.tb_station_inf <where> tb_pwrdev_alarm.power_id=tb_power_inf.power_id and tb_power_inf.station_id=tb_station_inf.station_id <if test="provice!=null"> and tb_station_inf.provice=#{provice} </if> <if test="city!=null"> and tb_station_inf.city=#{city} </if> <if test="country!=null"> and tb_station_inf.country=#{country} </if> <if test="stationId!=null"> and tb_station_inf.station_id=#{stationId} </if> <if test="powerId!=null"> and tb_pwrdev_alarm.power_id=#{powerId} </if> <if test="uid>100"> and tb_pwrdev_alarm.power_id in( select distinct power_id from db_user.tb_baojigroup_power,db_user.tb_baojigroup_usr where tb_baojigroup_power.baoji_group_id=tb_baojigroup_usr.baoji_group_id and tb_baojigroup_usr.uid=#{uid} ) </if> </where> order by alm_start_time desc </select> </mapper>