wuzeyu
2024-06-28 e7c0b5be2a66f8f46515d9f8eb267d00eced2538
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java
@@ -7,11 +7,15 @@
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.daoSe.SePaymentMethodMapper;
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.pojoSe.SePaymentMethod;
import com.dy.pipIrrGlobal.pojoSe.SeWaterType;
import com.dy.pipIrrGlobal.util.DistrictLevel;
import org.jdom2.Document;
import org.springframework.beans.factory.annotation.Autowired;
@@ -34,6 +38,8 @@
    private BaDistrictMapper distriDao ;
    private BaUserMapper userDao ;
    private SePaymentMethodMapper paymentMethodDao ;
    private BaSettingsMapper settingsDao ;
    private SeWaterTypeMapper waterTypeDao ;
    @Autowired
    public void setDistriDao(BaDistrictMapper distriDao){
@@ -48,6 +54,16 @@
    @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 ;
    }
@@ -131,6 +147,32 @@
                            }
                        }
                    }
                    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 ;
                                }
                            }
                        }
                    }
                }else{
                    break ;
                }
@@ -162,6 +204,24 @@
     */
    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.waterTypeDao.selectCount(null) ;
        return (total != null && total > 0) ;
    }
@@ -228,6 +288,37 @@
        }
    }
    /**
     * 保存系统配置
     * @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) ;
        }
    }
}