|  |  |  | 
|---|
|  |  |  | 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.ConfigXml; | 
|---|
|  |  |  | import com.dy.common.util.ConfigXml4Springboot; | 
|---|
|  |  |  | import com.dy.common.util.MD5; | 
|---|
|  |  |  | import com.dy.common.webListener.ConfigListener; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.net.URL; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 监听器,实现功能:在系统启动时初始化,向数据库中插入数据 | 
|---|
|  |  |  | 
|---|
|  |  |  | @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.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容器已经准备好了 | 
|---|
|  |  |  | 
|---|
|  |  |  | @SuppressWarnings("unused ") | 
|---|
|  |  |  | private void init(ApplicationReadyEvent event){ | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | URL configFileURL = ConfigListener.class.getResource("/init-config.xml" ); | 
|---|
|  |  |  | ConfigXml configXml = new ConfigXml() ; | 
|---|
|  |  |  | Document doc = configXml.createDom(configFileURL) ; | 
|---|
|  |  |  | ConfigXml4Springboot configXml = new ConfigXml4Springboot() ; | 
|---|
|  |  |  | Document doc = configXml.createDom(this.resourceLoader, "init-config.xml") ; | 
|---|
|  |  |  | this.doInit(configXml, doc); | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | System.out.println("系统启动时,初始化配置出错 !"); | 
|---|
|  |  |  | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | private void doInit(ConfigXml configXml, Document doc) throws Exception{ | 
|---|
|  |  |  | private void doInit(ConfigXml4Springboot configXml, Document doc) throws Exception{ | 
|---|
|  |  |  | if(configXml != null && doc != null){ | 
|---|
|  |  |  | for(int num = 1; num <= 10000; num++){ | 
|---|
|  |  |  | if(configXml.existElement(doc, "config.orgs.org" + num)){ | 
|---|
|  |  |  | String orgTag = configXml.getSetAttrTxt(doc, "config.orgs.org" + num,"name", null, false, null) ; | 
|---|
|  |  |  | //设置数据源 | 
|---|
|  |  |  | 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, 1, 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); | 
|---|
|  |  |  | 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(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.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.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.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.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.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 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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|