| package com.dy.pipIrrBase.util; | 
|   | 
| import com.dy.common.multiDataSource.DataSourceContext; | 
| import com.dy.common.mybatis.envm.Deleted; | 
| import com.dy.common.mybatis.envm.Disabled; | 
| import com.dy.common.util.ConfigXml4Springboot; | 
| import com.dy.common.util.MD5; | 
| 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.*; | 
| 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; | 
| import org.springframework.context.ApplicationListener; | 
| import org.springframework.core.io.ResourceLoader; | 
| import org.springframework.lang.NonNull; | 
| import org.springframework.stereotype.Component; | 
|   | 
| /** | 
|  * 监听器,实现功能:在系统启动时初始化,向数据库中插入数据 | 
|  * 本监听器不能采用ServletContextListener方式,因为Servlet上下文Context创建后 | 
|  * Spring容器并没有创建完,而本类中用了Spring容器中的Bean,即distriDao, userDao。 | 
|  * 所以采用了Spring事件监听器来实现 | 
|  */ | 
| @Slf4j | 
| @Component | 
| public class InitListener implements ApplicationListener<ApplicationReadyEvent> { | 
|   | 
|     protected ResourceLoader resourceLoader ; | 
|   | 
|     private BaDistrictMapper distriDao ; | 
|     private BaUserMapper userDao ; | 
|     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.resourceLoader = resourceLoader ; | 
|     } | 
|   | 
|     @Autowired | 
|     public void setDistriDao(BaDistrictMapper distriDao){ | 
|         this.distriDao = distriDao ; | 
|     } | 
|   | 
|     @Autowired | 
|     public void setUserDao(BaUserMapper userDao){ | 
|         this.userDao = userDao ; | 
|     } | 
|   | 
|     @Autowired | 
|     public void setPaymentDao(SePaymentMethodMapper paymentMethodDao){ | 
|         this.paymentMethodDao = paymentMethodDao ; | 
|     } | 
|   | 
|     @Autowired | 
|     public void setSettingsDao(BaSettingsMapper settingsDao){ | 
|         this.settingsDao = settingsDao ; | 
|     } | 
|   | 
|     @Autowired | 
|     public void setWaterTypeDao(SeWaterTypeMapper waterTypeDao){ | 
|         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容器已经准备好了 | 
|      * @param event 事件 | 
|      */ | 
|     @Override | 
|     public void onApplicationEvent(@NonNull ApplicationReadyEvent event) { | 
|         try { | 
|             //等1秒,等待com.alibaba.druid.pool.DruidDataSource初始化完成 | 
|             Thread.sleep(1000L); | 
|         } catch (InterruptedException e) { | 
|             e.printStackTrace(); | 
|         }finally { | 
|             this.init(event); | 
|         } | 
|     } | 
|   | 
|     /** | 
|      * 初始化 | 
|      */ | 
|     @SuppressWarnings("unused ") | 
|     private void init(ApplicationReadyEvent event){ | 
|         try { | 
|             ConfigXml4Springboot configXml = new ConfigXml4Springboot() ; | 
|             Document doc = configXml.createDom(this.resourceLoader, "init-config.xml") ; | 
|             this.doInit(configXml, doc); | 
|         } catch (Exception e) { | 
|             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); | 
|                         if(!this.existDistricts()){ | 
|                             if(configXml.existElement(doc, "config.orgs.org" + num + ".districts.province")){ | 
|                                 String distriName = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".districts.province","name", null, false, null) ; | 
|                                 String distriNum = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".districts.province","num", null, false, null) ; | 
|                                 Integer distriLevel = configXml.getSetAttrPlusInt(doc, "config.orgs.org" + num + ".districts.province","level", null, 0, 99,null) ; | 
|                                 Long supperId = this.saveDistrict(null, distriName, distriNum, distriLevel); | 
|                                 if(supperId != null && configXml.existElement(doc, "config.orgs.org" + num + ".districts.province.city")){ | 
|                                     distriName = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".districts.province.city","name", null, false, null) ; | 
|                                     distriNum = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".districts.province.city","num", null, false, null) ; | 
|                                     distriLevel = configXml.getSetAttrPlusInt(doc, "config.orgs.org" + num + ".districts.province.city","level", null, 1, 99,null) ; | 
|                                     supperId = this.saveDistrict(supperId, distriName, distriNum, distriLevel); | 
|                                     if(supperId != null && configXml.existElement(doc, "config.orgs.org" + num + ".districts.province.city.country")) { | 
|                                         distriName = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".districts.province.city.country", "name", null, false, null); | 
|                                         distriNum = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".districts.province.city.country", "num", null, false, null); | 
|                                         distriLevel = configXml.getSetAttrPlusInt(doc, "config.orgs.org" + num + ".districts.province.city.country", "level", null, 1, 99, null); | 
|                                         this.saveDistrict(supperId, distriName, distriNum, distriLevel); | 
|                                     } | 
|                                 } | 
|                             } | 
|                         } | 
|                         if(!this.existUsers()){ | 
|                             if(configXml.existElement(doc, "config.orgs.org" + num + ".user")){ | 
|                                 String name = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".user","name", null, false, null) ; | 
|                                 String phone = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".user","phone", null, false, null) ; | 
|                                 String password = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".user","password", null, false, null) ; | 
|                                 Integer supperAdmin = configXml.getSetAttrPlusInt(doc, "config.orgs.org" + num + ".user","supperAdmin", null, 0, 1,null) ; | 
|                                 this.saveUser(orgTag, name, phone, password, supperAdmin); | 
|                             } | 
|                         } | 
|                         if(!this.existPayments()){ | 
|                             if(configXml.existElement(doc, "config.orgs.org" + num + ".payments")){ | 
|                                 for(int i = 1 ; i < 10000; i++){ | 
|                                     if(configXml.existElement(doc, "config.orgs.org" + num + ".payments.item" + i)){ | 
|                                         String name = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".payments.item" + i,"name", null, false, null) ; | 
|                                         this.savePayment(orgTag, name); | 
|                                     }else{ | 
|                                         break ; | 
|                                     } | 
|                                 } | 
|                             } | 
|                         } | 
|                         if(!this.existSettings()){ | 
|                             if(configXml.existElement(doc, "config.orgs.org" + num + ".settings")){ | 
|                                 for(int i = 1 ; i < 10000; i++){ | 
|                                     if(configXml.existElement(doc, "config.orgs.org" + num + ".settings.item" + i)){ | 
|                                         String item_name = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".settings.item" + i,"item_name", null, false, null) ; | 
|                                         String item_value = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".settings.item" + i,"item_value", null, false, null) ; | 
|                                         String remarks = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".settings.item" + i,"remarks", null, false, null) ; | 
|                                         this.saveSettings(orgTag, item_name, item_value, remarks); | 
|                                     }else{ | 
|                                         break ; | 
|                                     } | 
|                                 } | 
|                             } | 
|                         } | 
|                         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(configXml.existElement(doc, "config.orgs.org" + num + ".waterTypes.item" + i)){ | 
|                                         String typeName = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".waterTypes.item" + i,"typeName", null, false, null) ; | 
|                                         this.saveWaterType(orgTag, typeName); | 
|                                     }else{ | 
|                                         break ; | 
|                                     } | 
|                                 } | 
|                             } | 
|                         } | 
|                         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 existDistricts(){ | 
|         Long total = this.distriDao.selectCount(null) ; | 
|         return (total != null && total > 0) ; | 
|     } | 
|   | 
|     /** | 
|      * 数据库中是否存在用户数据 | 
|      * @return 存在否 | 
|      */ | 
|     private boolean existUsers(){ | 
|         Long total = this.userDao.selectCount(null) ; | 
|         return (total != null && total > 0) ; | 
|     } | 
|   | 
|     /** | 
|      * 数据库中是否存在支付方式数据 | 
|      * @return 存在否 | 
|      */ | 
|     private boolean existPayments(){ | 
|         Long total = this.paymentMethodDao.selectCount(null) ; | 
|         return (total != null && total > 0) ; | 
|     } | 
|   | 
|     /** | 
|      * 数据库中是否存在系统配置数据 | 
|      * @return 存在否 | 
|      */ | 
|     private boolean existSettings(){ | 
|         Long total = this.settingsDao.selectCount(null) ; | 
|         return (total != null && total > 0) ; | 
|     } | 
|   | 
|     /** | 
|      * 数据库中是否存在用水类型数据 | 
|      * @return 存在否 | 
|      */ | 
|     private boolean existWaterTypes(){ | 
|         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 supperId 上级ID | 
|      * @param name 名称 | 
|      * @param num 编号 | 
|      * @param level 级别 | 
|      * @return id | 
|      */ | 
|     private Long saveDistrict(Long supperId, String name, String num, Integer level){ | 
|         if((name != null && !name.trim().equals("")) && | 
|                 (num != null && !num.trim().equals("")) && | 
|                 level != null){ | 
|             BaDistrict po = new BaDistrict() ; | 
|             po.supperId = supperId ; | 
|             po.name = name ; | 
|             po.num = num ; | 
|             po.level = DistrictLevel.get(level.byteValue()) ; | 
|             po.deleted = Deleted.NO ; | 
|             this.distriDao.putin(po) ; | 
|             return po.getId() ; | 
|         }else{ | 
|             return null ; | 
|         } | 
|     } | 
|   | 
|     /** | 
|      * 保存用户 | 
|      * @param orgTag 机构标签 | 
|      * @param name 名称 | 
|      * @param phone 手机号 | 
|      * @param password 密码 | 
|      * @param supperAdmin 是否为超级管理员(1是,0否) | 
|      */ | 
|     private void saveUser(String orgTag, String name, String phone, String password, Integer supperAdmin) throws Exception{ | 
|         if((name != null && !name.trim().equals("")) && | 
|                 (phone != null && !phone.trim().equals("")) && | 
|                 (password != null && !password.trim().equals("")) && | 
|                 supperAdmin != null){ | 
|             BaUser po = new BaUser() ; | 
|             po.userName = name ; | 
|             po.phone = phone ; | 
|             po.password = MD5.encrypt(password) ;//进行加密码 ; | 
|             po.orgTag = orgTag ; | 
|             po.supperAdmin = supperAdmin.byteValue() ; | 
|             po.disabled = Disabled.NO ; | 
|             po.deleted = Deleted.NO ; | 
|             this.userDao.putin(po) ; | 
|         } | 
|     } | 
|     /** | 
|      * 保存支付方式 | 
|      * @param orgTag 机构标签 | 
|      * @param name 名称 | 
|      */ | 
|     private void savePayment(String orgTag, String name) throws Exception{ | 
|         if(name != null && !name.trim().equals("")){ | 
|             SePaymentMethod po = new SePaymentMethod() ; | 
|             po.setName(name); | 
|             po.setDeleted(Deleted.NO.code); | 
|             this.paymentMethodDao.insert(po) ; | 
|         } | 
|     } | 
|   | 
|     /** | 
|      * 保存系统配置 | 
|      * @param item_name 配置项 | 
|      * @param item_value 配置项值 | 
|      * @param remarks 备注信息 | 
|      * @throws Exception | 
|      */ | 
|     private void saveSettings(String orgTag,String item_name, String item_value,String remarks) throws Exception{ | 
|         if((item_name != null && !item_name.trim().equals("")) && | 
|                 (item_value != null && !item_value.trim().equals("")) && | 
|                 (remarks != null && !remarks.trim().equals(""))){ | 
|             BaSettings po = new BaSettings() ; | 
|             po.setItemName(item_name); | 
|             po.setItemValue(item_value); | 
|             po.setRemarks(remarks); | 
|             this.settingsDao.insert(po) ; | 
|         } | 
|     } | 
|   | 
|   | 
|     /** | 
|      * 保存用水类型 | 
|      * @param orgTag 机构标签 | 
|      * @param typeName 名称 | 
|      */ | 
|     private void saveWaterType(String orgTag, String typeName) throws Exception{ | 
|         if(typeName != null && !typeName.trim().equals("")){ | 
|             SeWaterType po = new SeWaterType() ; | 
|             po.setTypename(typeName); | 
|             this.waterTypeDao.insert(po) ; | 
|         } | 
|     } | 
|   | 
|     /** | 
|      * 保存灌溉配置 | 
|      * @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); | 
|         } | 
|     } | 
|   | 
| } |