|  |  | 
 |  |  | 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 org.jdom2.Document; | 
 |  |  | 
 |  |  |     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){ | 
 |  |  | 
 |  |  |         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容器已经准备好了 | 
 |  |  | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                         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++){ | 
 |  |  | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                         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 ; | 
 |  |  | 
 |  |  |      * @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); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 保存灌溉配置 | 
 |  |  |      * @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); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |