123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- package com.gyee.impala.schdule;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.gyee.impala.common.spring.InitialRunner;
- import com.gyee.impala.model.gdoa.EqQxjcljl;
- import com.gyee.impala.model.master.Casefaultrepair;
- import com.gyee.impala.model.master.ICasefaultrepairService;
- import com.gyee.impala.model.master.Knowcategory;
- import com.gyee.impala.model.master.Windturbine;
- import com.gyee.impala.service.gdoa.IEqQxjcljlService;
- import com.gyee.impala.service.master.KnowinspectService;
- import org.apache.kudu.client.KuduException;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Component;
- import javax.annotation.Resource;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * 来自国电oa的设备检修数据同步至kudu样本库
- */
- @Component
- public class TaskEQInspect {
- @Resource
- private KnowinspectService knowinspectService;
- @Resource
- private IEqQxjcljlService iEqQxjcljlService;
- @Resource
- private ICasefaultrepairService casefaultrepairService;
- //故障类型
- private Map<String,String> gzlx;
- /**
- * 每周六一点执行一次
- */
- @Scheduled(cron = "0 0 1 ? * 6")
- public void equipmentInspectTask(){
- String time = knowinspectService.selectMaxTime();
- knowinspectService.insertBatch(time);
- }
- /**
- * 每周六一点半执行一次
- */
- @Scheduled(cron = "0 30 1 ? * 6")
- public void caseFaultRepair(){
- String time = casefaultrepairService.selectMaxTime();
- QueryWrapper<EqQxjcljl> wrapper = new QueryWrapper<>();
- wrapper.notLike("USE_DEPT", "光伏").gt("ENDDATE",time);
- List<EqQxjcljl> list = iEqQxjcljlService.list(wrapper);
- List<Casefaultrepair> casefaultrepairs = new ArrayList<>();
- for (EqQxjcljl eqxjcljl : list) {
- Casefaultrepair cfr = new Casefaultrepair();
- String stid = InitialRunner.stationenMap.get(eqxjcljl.getUseDept());
- cfr.setStationid(stid);
- cfr.setStationname(eqxjcljl.getUseDept());
- String wtId = getWtId(stid, eqxjcljl.getEquipmentName());
- cfr.setWindturbineid(wtId);
- Windturbine windturbine = InitialRunner.wtMap.get(wtId);
- if(windturbine==null||windturbine.getName()==null) continue;
- cfr.setWindturbinename(windturbine.getName());
- cfr.setModelid(windturbine.getModel());
- String ftc = getFaultType(eqxjcljl.getQxname());
- cfr.setFaulttypecode(ftc);
- cfr.setFaulttypename(InitialRunner.faultTypeMap.get(ftc));
- cfr.setStarttime(eqxjcljl.getFinddate());
- cfr.setEndtime(eqxjcljl.getEnddate());
- cfr.setFaultreason(eqxjcljl.getCause());
- cfr.setTreatprocesses(eqxjcljl.getClgc());
- cfr.setSparepartsreplacement(eqxjcljl.getBjghqk());
- casefaultrepairs.add(cfr);
- }
- try {
- casefaultrepairService.insertBatch(casefaultrepairs);
- } catch (KuduException e) {
- e.printStackTrace();
- }
- }
- //OA检修获取故障类型
- private String getFaultType(String qxname) {
- if(gzlx==null ||gzlx.size()==0){
- gzlx = new HashMap<>();
- for (Knowcategory knowcategory : InitialRunner.faultTypeList) {
- gzlx.put(knowcategory.getName().replace("系统故障","")
- .replace("类故障","")
- .replace("故障",""), knowcategory.getCode());
- }
- }
- for (String s : gzlx.keySet()) {
- if(qxname.contains(s)){
- return gzlx.get(s);
- }
- }
- return "QT";
- }
- //OA检修获取风机id
- private String getWtId(String stid, String equipmentName) {
- if(stid==null||equipmentName==null) return null;
- String fj = equipmentName.replace("#", "").replace("风机", "");
- fj = fj.length() > 1 ? fj : "0" + fj;
- return stid.charAt(0)+"G01_"+fj;
- }
- }
|