lin 4 gadi atpakaļ
vecāks
revīzija
87948128e3

+ 8 - 0
src/main/java/com/zcxk/meterreadingsystemv2/controller/TestController.java

@@ -104,6 +104,14 @@ public class TestController {
         return new AjaxMessage<>(ResultStatus.OK);
     }
 
+    @GetMapping("huichuanTasks")
+    @ApiOperation(value = "执行汇川定时任务")
+    public AjaxMessage huichuanTasks(
+    ) {
+        meterReadingScheduleTask.huichuanTasks();
+        return new AjaxMessage<>(ResultStatus.OK);
+    }
+
     @GetMapping("balikunTasks")
     @ApiOperation(value = "执行巴里坤定时任务")
     public AjaxMessage balikunTasks(

+ 4 - 0
src/main/java/com/zcxk/meterreadingsystemv2/dbs/DataSourceConfigurer.java

@@ -97,6 +97,9 @@ public class DataSourceConfigurer {
         //创建泾阳数据库连接对象
         DruidDataSource jingyangDataSource = createDataSource("jingyang");
 
+        //创建泾阳数据库连接对象
+        DruidDataSource huichuanDataSource = createDataSource("huichuan");
+
         //创建物联网云平台数据库连接对象
         DruidDataSource smartCityDataSource = createDataSource("smart-city");
 
@@ -110,6 +113,7 @@ public class DataSourceConfigurer {
         map.put("suiyang", suiyangDataSource);
         map.put("balikun", balikunDataSource);
         map.put("jingyang", jingyangDataSource);
+        map.put("huichuan", huichuanDataSource);
         map.put("jl", jlDataSource);
         map.put("smart-city", smartCityDataSource);
         dynamicDataSource.setTargetDataSources(map);

+ 33 - 0
src/main/java/com/zcxk/meterreadingsystemv2/kafka/AddAccountReceiver.java

@@ -153,6 +153,39 @@ public class AddAccountReceiver {
                         }
                     }
                 }
+
+                //汇川立户
+                else if("prd".equals(acceptData.getActive()) && acceptData.getCustomerId() == 38){
+                    DynamicDataSourceContextHolder.setDataSourceKey("huichuan");
+                    log.info("=====service当前连接的数据库是:" + DynamicDataSourceContextHolder.getDataSourceKey());
+                    commOrgLevel = "10001002";
+                    commOrgIdenty = "10001002";
+
+                    if (acceptData.getAcceptListData() != null && acceptData.getAcceptListData().size() > 0) {
+                        for (AcceptListData acceptListData : acceptData.getAcceptListData()) {
+                            Ycblhb ycblhb = new Ycblhb();
+                            ycblhb.setYhdz(acceptListData.getBuildingName() + acceptListData.getLocation());
+                            ycblhb.setSbdz(acceptListData.getBuildingName() + acceptListData.getLocation());
+                            ycblhb.setBc("001");
+                            ycblhb.setBsm(acceptListData.getWaterMeterNo());
+                            ycblhb.setZdsj("010101");
+                            ycblhb.setYys("020101");
+                            ycblhb.setBw(acceptListData.getBuildingName() + acceptListData.getLocation());
+                            ycblhb.setBxh("4");
+                            //ycblhb.setBqds(acceptListData.getReadData());
+                            ycblhb.setBqds(BigDecimal.ZERO);
+                            ycblhb.setNhrq(acceptListData.getInstallTime());
+                            ycblhb.setLdh(acceptListData.getBuildingName());
+                            ycblhb.setDyh(acceptListData.getCommunityName());
+                            ycblhb.setMph(acceptListData.getLocation());
+                            ycblhb.setBcj("31");
+                            ycblhb.setCommOrgLevel(commOrgLevel);
+                            ycblhb.setCommOrgIdenty(commOrgIdenty);
+                            //log.info(JacksonUtil.obj2String(ycblhb));
+                            ycblhbMapper.insertSelective(ycblhb);
+                        }
+                    }
+                }
                 //监利
                 else if("prd".equals(acceptData.getActive()) && acceptData.getCustomerId() == 19){
                     DynamicDataSourceContextHolder.setDataSourceKey("jl");

+ 28 - 0
src/main/java/com/zcxk/meterreadingsystemv2/kafka/ReplaceMaterReceiver.java

@@ -89,6 +89,34 @@ public class ReplaceMaterReceiver {
                 }
 
 
+            }
+            if("prd".equals(data.getActive()) && data.getCustomerId() == 38){
+                //汇川
+                DynamicDataSourceContextHolder.setDataSourceKey("huichuan");
+                log.info("=====service当前连接的数据库是:" + DynamicDataSourceContextHolder.getDataSourceKey());
+                commOrgLevel = "10001002";
+                commOrgIdenty = "10001002";
+                Yhsbgxb yhsbgxb = yhsbgxbMapper.findByBsm(data.getOldWaterNo());
+                if (yhsbgxb != null) {
+                    TblIcHxHbxx hbxx = new TblIcHxHbxx();
+                    hbxx.setYhid(yhsbgxb.getYhid());
+                    hbxx.setYsbbh(data.getOldWaterNo());
+                    hbxx.setCbds(new BigDecimal(data.getOldEndWsv()).setScale(1,BigDecimal.ROUND_HALF_UP));
+                    hbxx.setXsbbh(data.getNewWaterNo());
+                    hbxx.setXbds(new BigDecimal(data.getNewBeginWsv()).setScale(1,BigDecimal.ROUND_HALF_UP));
+                    hbxx.setHbdata(data.getDateCreate());
+                    hbxx.setSbcj("31");
+                    hbxx.setFlag("0");
+                    hbxx.setScdata(new Date());
+                    hbxx.setCommOrgLevel(commOrgLevel);
+                    hbxx.setCommOrgIdenty(commOrgIdenty);
+                    log.info("hbxx = {}",JSON.toJSONString(hbxx));
+                    tblIcHxHbxxMapper.insertSelective(hbxx);
+                }else {
+                    log.info("user not find");
+                }
+
+
             }
             if("prd".equals(data.getActive()) && data.getCustomerId() == 33){
                 //绥滨

+ 91 - 0
src/main/java/com/zcxk/meterreadingsystemv2/scheduled/MeterReadingScheduleTask.java

@@ -902,6 +902,97 @@ public class MeterReadingScheduleTask {
         log.info("结束执行定时任务");
     }
 
+    /**
+     * 汇川 每天
+     */
+    @Scheduled(cron = "0 57 7 */1 * ?")
+    public void huichuanTasks() {
+        log.info("开始执行汇川定时任务");
+        if(!"prd".equals(active)){
+            return;
+        }
+        String originName = "huichuan";
+        Integer customerId = 38;
+
+        Integer startDate = null;
+        Integer endDate = null;
+
+        DynamicDataSourceContextHolder.setDataSourceKey("smart-city");
+        PushRecord pushRecord = pushRecordMapper.findByCustomerId(customerId);
+        startDate = pushRecord.getLastDate();
+
+        //Integer startDate = Integer.valueOf(LocalDateTime.now().plusMonths(-1).plusDays(-1).with(TemporalAdjusters.lastDayOfMonth()).format(DateTimeFormatter.ofPattern(DateTimeUtil.DATE_FORMAT)));
+        endDate = Integer.valueOf(LocalDateTime.now().plusDays(-1).format(DateTimeFormatter.ofPattern(DateTimeUtil.DATE_FORMAT)));
+
+        AtomicInteger count = new AtomicInteger(0);
+
+        try {
+            DynamicDataSourceContextHolder.setDataSourceKey("smart-city");
+            log.info("=====service当前连接的数据库是:" + DynamicDataSourceContextHolder.getDataSourceKey());
+            //List<MeterReadData> list = deviceDataDimMapper.getMeterReadDataByCustomerIdV2(customerId, startDate, endDate);
+            List<MeterReadData> list = meterReadDataService.getMeterReadDataByCustomerId(customerId,startDate,endDate);
+
+            DynamicDataSourceContextHolder.setDataSourceKey(originName);
+            log.info("=====service当前连接的数据库是:" + DynamicDataSourceContextHolder.getDataSourceKey());
+
+
+            if (list != null && list.size() > 0) {
+                log.info("=======================list size="+list.size());
+                for (MeterReadData meterReadData : list) {
+                    Yhsbgxb yhsbgxb = yhsbgxbMapper.findByBsm(meterReadData.getWaterMeterNo());
+                    if (yhsbgxb != null) {
+                        Xdycbsj xdycbsj = new Xdycbsj();
+                        xdycbsj.setYhid(yhsbgxb.getYhid());
+                        xdycbsj.setYhmc(yhsbgxb.getYhmc());
+                        xdycbsj.setSbbh(yhsbgxb.getBsm());
+                        xdycbsj.setCbrq(new Date());
+                        //上期读数
+                        if (meterReadData.getStartRead() != null && !StringUtils.equals("",meterReadData.getStartRead())) {
+                            xdycbsj.setSqds(new BigDecimal(meterReadData.getStartRead()).setScale(0,BigDecimal.ROUND_HALF_UP));
+                        }else {
+                            xdycbsj.setSqds(BigDecimal.valueOf(0));
+                        }
+                        //xdycbsj.setSqds(BigDecimal.valueOf(0));
+
+                        //本期读数
+                        if (meterReadData.getEndRead() != null && !StringUtils.equals("",meterReadData.getEndRead())) {
+                            xdycbsj.setBqds(new BigDecimal(meterReadData.getEndRead()).setScale(0,BigDecimal.ROUND_HALF_UP));
+                        }else {
+                            xdycbsj.setBqds(BigDecimal.valueOf(0));
+                        }
+
+                        //xdycbsj.setCjbh("hxkj");
+                        xdycbsj.setCjbh("31");
+                        xdycbsj.setCommOrgLevel("10001002");
+                        xdycbsj.setCommOrgIdenty("10001002");
+                        log.info(JSON.toJSONString(xdycbsj));
+                        try {
+                            xdycbsjMapper.insertSelective(xdycbsj);
+                            count.incrementAndGet();
+                        }catch (Exception e){
+                            log.warn("执行定时汇川插入数据异常:"+ e.getMessage());
+                            log.warn(JSON.toJSONString(xdycbsj));
+                        }
+                    }else {
+                        log.info(meterReadData.getWaterMeterNo()+"无对照数据");
+                    }
+                }
+                log.info("=======================end list size="+list.size()+"-count="+count.get());
+                DynamicDataSourceContextHolder.setDataSourceKey("smart-city");
+                pushRecord.setLastDate(endDate);
+                pushRecord.setDataSize(list.size());
+                pushRecord.setCountSize(count.get());
+                pushRecord.setUpdateDate(new Date());
+                pushRecordMapper.updateByPrimaryKeySelective(pushRecord);
+            }
+        }catch (Exception e){
+            log.warn("执行定时汇川任务异常:"+ e.getMessage());
+            e.printStackTrace();
+        }
+
+        log.info("结束执行定时任务");
+    }
+
     /**
      * 监利 每月27号
      */