From 00d54db361d697cf8fdf2f15940f4650b21b3185 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期一, 21 四月 2025 15:05:35 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java |  296 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 287 insertions(+), 9 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java
index 11c4f8a..6a4d699 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java
@@ -5,17 +5,22 @@
 import com.dy.common.mybatis.envm.Disabled;
 import com.dy.common.util.ConfigXml4Springboot;
 import com.dy.common.util.MD5;
-import com.dy.pipIrrGlobal.daoBa.BaDistrictMapper;
-import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper;
-import com.dy.pipIrrGlobal.daoBa.BaUserMapper;
+import com.dy.pipIrrGlobal.daoBa.*;
+import com.dy.pipIrrGlobal.daoOp.OpeTaskTypeMapper;
+import com.dy.pipIrrGlobal.daoPr.PrWaterPriceMapper;
+import com.dy.pipIrrGlobal.daoRm.RmIrrigateProfileMapper;
 import com.dy.pipIrrGlobal.daoSe.SePaymentMethodMapper;
+import com.dy.pipIrrGlobal.daoSe.SeRechargeProfileMapper;
 import com.dy.pipIrrGlobal.daoSe.SeWaterTypeMapper;
-import com.dy.pipIrrGlobal.pojoBa.BaDistrict;
-import com.dy.pipIrrGlobal.pojoBa.BaSettings;
-import com.dy.pipIrrGlobal.pojoBa.BaUser;
+import com.dy.pipIrrGlobal.pojoBa.*;
+import com.dy.pipIrrGlobal.pojoOp.OpeTaskType;
+import com.dy.pipIrrGlobal.pojoPr.PrWaterPrice;
+import com.dy.pipIrrGlobal.pojoRm.RmIrrigateProfile;
 import com.dy.pipIrrGlobal.pojoSe.SePaymentMethod;
+import com.dy.pipIrrGlobal.pojoSe.SeRechargeProfile;
 import com.dy.pipIrrGlobal.pojoSe.SeWaterType;
 import com.dy.pipIrrGlobal.util.DistrictLevel;
+import lombok.extern.slf4j.Slf4j;
 import org.jdom2.Document;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.context.event.ApplicationReadyEvent;
@@ -30,6 +35,7 @@
  * Spring瀹瑰櫒骞舵病鏈夊垱寤哄畬锛岃�屾湰绫讳腑鐢ㄤ簡Spring瀹瑰櫒涓殑Bean锛屽嵆distriDao, userDao銆�
  * 鎵�浠ラ噰鐢ㄤ簡Spring浜嬩欢鐩戝惉鍣ㄦ潵瀹炵幇
  */
+@Slf4j
 @Component
 public class InitListener implements ApplicationListener<ApplicationReadyEvent> {
 
@@ -40,6 +46,12 @@
     private SePaymentMethodMapper paymentMethodDao ;
     private BaSettingsMapper settingsDao ;
     private SeWaterTypeMapper waterTypeDao ;
+    private RmIrrigateProfileMapper rmIrrigateProfileDao;
+    private PrWaterPriceMapper prWaterPriceDao;
+    private BaDictMapper baDictDao;
+    private BaDictItemMapper baDictItemDao;
+    private SeRechargeProfileMapper seRechargeProfileDao;
+    private OpeTaskTypeMapper taskTypeDao;
 
     @Autowired
     public void setResourceLoader(ResourceLoader resourceLoader){
@@ -71,6 +83,35 @@
         this.waterTypeDao = waterTypeDao ;
     }
 
+    @Autowired
+    public void setRmIrrigateProfileDao(RmIrrigateProfileMapper rmIrrigateProfileDao) {
+        this.rmIrrigateProfileDao = rmIrrigateProfileDao;
+    }
+
+    @Autowired
+    public void setWaterPriceDao(PrWaterPriceMapper prWaterPriceDao) {
+        this.prWaterPriceDao = prWaterPriceDao;
+    }
+
+    @Autowired
+    public void setBaDictDao(BaDictMapper baDictDao) {
+        this.baDictDao = baDictDao;
+    }
+
+    @Autowired
+    public void setBaDictItemDao(BaDictItemMapper baDictItemDao) {
+        this.baDictItemDao = baDictItemDao;
+    }
+
+    @Autowired
+    public void setSeRechargeProfileDao(SeRechargeProfileMapper seRechargeProfileDao) {
+        this.seRechargeProfileDao = seRechargeProfileDao;
+    }
+
+    @Autowired
+    public void setOpeTaskTypeDao(OpeTaskTypeMapper taskTypeDao) {
+        this.taskTypeDao = taskTypeDao;
+    }
 
     /**
      * SpringBoot瀹瑰櫒宸茬粡鍑嗗濂戒簡
@@ -98,17 +139,22 @@
             Document doc = configXml.createDom(this.resourceLoader, "init-config.xml") ;
             this.doInit(configXml, doc);
         } catch (Exception e) {
-            System.out.println("绯荤粺鍚姩鏃讹紝鍒濆鍖栭厤缃嚭閿� !");
-            System.out.println(e.getMessage());
+            log.error("绯荤粺鍚姩鏃讹紝鍒濆鍖栭厤缃嚭閿� !");
+            log.error(e.getMessage());
             e.printStackTrace();
         }
     }
     private void doInit(ConfigXml4Springboot configXml, Document doc) throws Exception{
+        //Check if configXml and doc are not null
         if(configXml != null && doc != null){
+            //Loop through 10000 orgs
             for(int num = 1; num <= 10000; num++){
+                //Check if the org exists
                 if(configXml.existElement(doc, "config.orgs.org" + num)){
+                    //Get the tag and enable value of the org
                     String orgTag = configXml.getSetAttrTxt(doc, "config.orgs.org" + num,"tag", null, false, null) ;
                     Boolean enable = configXml.getSetAttrBoolean(doc, "config.orgs.org" + num, "enable", null, null);
+                    //If the org is enabled
                     if(enable != null && enable.booleanValue()){
                         //璁剧疆鏁版嵁婧�
                         DataSourceContext.set(orgTag);
@@ -167,6 +213,36 @@
                                 }
                             }
                         }
+                        if(!this.existIrrigateProfile()){
+                            if(configXml.existElement(doc, "config.orgs.org" + num + ".irrigateProfile")){
+                                for(int i = 1 ; i < 10000; i++){
+                                    if(configXml.existElement(doc, "config.orgs.org" + num + ".irrigateProfile.item" + i)){
+                                        String defaultValue = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".irrigateProfile.item" + i,"defaultValue", null, false, null) ;
+                                        String unit = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".irrigateProfile.item" + i,"unit", null, false, null) ;
+                                        String sort = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".irrigateProfile.item" + i,"sort", null, false, null) ;
+                                        String type = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".irrigateProfile.item" + i,"type", null, false, null) ;
+                                        this.saveIrrigateProfile(orgTag, defaultValue, unit,sort,type);
+                                    }else{
+                                        break ;
+                                    }
+                                }
+                            }
+                        }
+
+                        if(!this.existRechargeProfile()){
+                            if(configXml.existElement(doc, "config.orgs.org" + num + ".rechargeProfile")){
+                                for(int i = 1 ; i < 10000; i++){
+                                    if(configXml.existElement(doc, "config.orgs.org" + num + ".rechargeProfile.item" + i)){
+                                        String rechargeAmount = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".rechargeProfile.item" + i,"rechargeAmount", null, false, null) ;
+                                        String sort = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".rechargeProfile.item" + i,"sort", null, false, null) ;
+                                        this.saveRechargeProfile(orgTag, rechargeAmount, sort);
+                                    }else{
+                                        break ;
+                                    }
+                                }
+                            }
+                        }
+
                         if(!this.existWaterTypes()){
                             if(configXml.existElement(doc, "config.orgs.org" + num + ".waterTypes")){
                                 for(int i = 1 ; i < 10000; i++){
@@ -179,6 +255,48 @@
                                 }
                             }
                         }
+                        if(!this.existWaterPrice()){
+                            if(configXml.existElement(doc, "config.orgs.org" + num + ".waterPrice")){
+                                String price = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".waterPrice","price", null, false, null) ;
+                                this.saveWaterPrice(orgTag, price);
+                            }
+                        }
+                        if(!this.existDict()){
+                            if(configXml.existElement(doc, "config.orgs.org" + num + ".dictionaries.dict")){
+                                String code = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".dictionaries.dict","code", null, false, null) ;
+                                String title = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".dictionaries.dict","title", null, false, null) ;
+                                String valueType = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".dictionaries.dict","valueType", null, false, null) ;
+                                this.saveDicts(orgTag, code,title,valueType);
+                                if(configXml.existElement(doc, "config.orgs.org" + num + ".dictionaries.dict.dictItem")){
+                                    for(int i = 1 ; i < 10000; i++){
+                                        if(configXml.existElement(doc, "config.orgs.org" + num + ".dictionaries.dict.dictItem.item" + i)){
+                                            String dictCode = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".dictionaries.dict.dictItem.item" + i,"dictCode", null, false, null) ;
+                                            String value = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".dictionaries.dict.dictItem.item" + i,"value", null, false, null) ;
+                                            String name = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".dictionaries.dict.dictItem.item" + i,"name", null, false, null) ;
+                                            String status = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".dictionaries.dict.dictItem.item" + i,"status", null, false, null) ;
+                                            String sort = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".dictionaries.dict.dictItem.item" + i,"sort", null, false, null) ;
+                                            this.saveDictItems(orgTag,dictCode,value,name,status,sort);
+                                        }else{
+                                            break ;
+                                        }
+                                    }
+                                }
+                            }
+                        }
+
+                        if(!this.existTaskType()){
+                            if(configXml.existElement(doc, "config.orgs.org" + num + ".taskType")){
+                                for(int i = 1 ; i < 10000; i++){
+                                    if(configXml.existElement(doc, "config.orgs.org" + num + ".taskType.item" + i)){
+                                        String taskType = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".taskType.item" + i,"typeName", null, false, null) ;
+                                        this.saveTaskType(orgTag, taskType);
+                                    }else{
+                                        break ;
+                                    }
+                                }
+                            }
+                        }
+
                     }
                 }else{
                     break ;
@@ -228,8 +346,53 @@
      * @return 瀛樺湪鍚�
      */
     private boolean existWaterTypes(){
-        Long total = this.waterTypeDao.selectCount(null) ;
+        Long total = this.prWaterPriceDao.selectCount(null) ;
         return (total != null && total > 0) ;
+    }
+
+    /**
+     * 鏁版嵁搴撲腑鏄惁瀛樺湪鐏屾簤閰嶇疆
+     * @return
+     */
+    private boolean existIrrigateProfile(){
+        Long total = this.rmIrrigateProfileDao.selectCount(null) ;
+        return (total != null && total > 0) ;
+    }
+
+    /**
+     * 鏁版嵁搴撲腑鏄惁瀛樺湪铏氭嫙甯哥敤鍏呭�奸噾棰濋厤缃�
+     * @return
+     */
+    private boolean existRechargeProfile() {
+        Long total = this.seRechargeProfileDao.selectCount(null);
+        return (total != null && total > 0);
+    }
+
+    /**
+     * 鏁版嵁搴撲腑鏄惁瀛樺湪姘翠环
+     * @return
+     */
+    private boolean existWaterPrice() {
+        Long total = this.prWaterPriceDao.selectCount(null);
+        return (total != null && total > 0) ;
+    }
+
+    /**
+     * 鏁版嵁搴撲腑鏄惁瀛樺湪瀛楀吀
+     * @return
+     */
+    private boolean existDict() {
+        Long total = this.baDictDao.selectCount(null);
+        return (total != null && total > 0) ;
+    }
+
+    /**
+     * 鏁版嵁搴撲腑鏄惁瀛樺湪宸ュ崟浠诲姟绫诲瀷
+     * @return
+     */
+    private boolean existTaskType() {
+        Long total = this.taskTypeDao.selectCount(null);
+        return (total != null && total > 0);
     }
 
     /**
@@ -328,4 +491,119 @@
         }
     }
 
+    /**
+     * 淇濆瓨鐏屾簤閰嶇疆
+     * @param orgTag
+     * @param default_value
+     * @param unit
+     * @param sort
+     * @param type
+     * @throws Exception
+     */
+    private void saveIrrigateProfile(String orgTag, String default_value, String unit, String sort, String type) throws Exception{
+        if((default_value != null && !default_value.trim().equals("")) &&
+                (unit != null && !unit.trim().equals("")) &&
+                (sort != null && !sort.trim().equals("")) &&
+                (type != null && !type.trim().equals(""))){
+            RmIrrigateProfile po = new RmIrrigateProfile();
+            po.setDefaultValue(Integer.parseInt(default_value));
+            po.setUnit(Byte.valueOf(unit));
+            po.setSort(Integer.parseInt(sort));
+            po.setType(Byte.valueOf(type));
+            po.setDeleted(0L);
+            this.rmIrrigateProfileDao.insert(po);
+        }
+    }
+
+    /**
+     * 淇濆瓨铏氭嫙鍗″父鐢ㄥ厖鍊奸噾棰濋厤缃�
+     * @param orgTag
+     * @param recharge_amount
+     * @param sort
+     */
+    private void saveRechargeProfile(String orgTag, String recharge_amount, String sort) {
+        if((recharge_amount != null && !recharge_amount.trim().equals("")) && (sort != null && !sort.trim().equals(""))) {
+            SeRechargeProfile po = new SeRechargeProfile();
+            po.setRechargeAmount(Integer.parseInt(recharge_amount));
+            po.setSort(Integer.parseInt(sort));
+            this.seRechargeProfileDao.insert(po);
+
+        }
+    }
+
+    /**
+     * 淇濆瓨姘翠环
+     * @param price
+     */
+    private void saveWaterPrice(String orgTag, String price) {
+        if(price != null && !price.trim().equals("")) {
+            PrWaterPrice po = new PrWaterPrice();
+            po.setPrice(Double.parseDouble(price));
+            po.setDeleted((byte)0);
+            this.prWaterPriceDao.insert(po);
+        }
+    }
+
+    /**
+     * 淇濆瓨瀛楀吀
+     * @param orgTag
+     * @param code
+     * @param title
+     * @param valueType
+     * @return
+     */
+    private void saveDicts(String orgTag, String code, String title, String valueType) {
+        if((code != null && !code.trim().equals("")) &&
+                (title != null && !title.trim().equals("")) &&
+                (valueType != null && !valueType.trim().equals(""))) {
+            BaDict po = new BaDict();
+            po.setCode(code);
+            po.setTitle(title);
+            po.setValueType(Byte.valueOf(valueType));
+            po.setHashCode("c4ca4238a0b923820dcc509a6f75849b");
+            po.setDeleted(0L);
+            this.baDictDao.insert(po);
+        }
+    }
+
+    /**
+     * 淇濆瓨瀛楀吀椤�
+     * @param orgTag
+     * @param dictCode
+     * @param value
+     * @param name
+     * @param status
+     * @param sort
+     */
+    private void saveDictItems(String orgTag, String dictCode, String value, String name, String status, String sort) {
+        if((dictCode != null && !dictCode.trim().equals("")) &&
+                (value != null && !value.trim().equals("")) &&
+                (name != null && !name.trim().equals("")) &&
+                (status != null && !status.trim().equals("")) &&
+                (sort != null && !sort.trim().equals(""))) {
+            BaDictItem po = new BaDictItem();
+            po.setDictCode(dictCode);
+            po.setValue(value);
+            po.setName(name);
+            po.setStatus(Byte.valueOf(status));
+            po.setSort(Integer.parseInt(sort));
+            po.setDeleted(0L);
+            this.baDictItemDao.insert(po);
+        }
+    }
+
+    /**
+     * 淇濆瓨宸ュ崟浠诲姟绫诲瀷
+     * @param orgTag
+     * @param task_type
+     */
+    private void saveTaskType(String orgTag, String task_type) {
+        if(task_type != null && !task_type.trim().equals("")) {
+            OpeTaskType po = new OpeTaskType();
+            po.setTaskType(task_type);
+            po.setDeleted(0L);
+            this.taskTypeDao.insert(po);
+        }
+    }
+
 }

--
Gitblit v1.8.0