package com.ycsoft.sysmanager.web.action.config; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.ycsoft.beans.base.BusiBase; import com.ycsoft.beans.config.TBusiCodeDoc; import com.ycsoft.beans.config.TBusiFeeStd; import com.ycsoft.beans.config.TConfigTemplate; import com.ycsoft.beans.config.TInvoicePrintitem; import com.ycsoft.beans.config.TOpenTemp; import com.ycsoft.beans.config.TProdStatusRent; import com.ycsoft.beans.config.TStbFilled; import com.ycsoft.beans.config.TTemplate; import com.ycsoft.beans.config.TTemplateColumn; import com.ycsoft.beans.config.TTemplateCounty; import com.ycsoft.beans.config.TUpdateCfg; import com.ycsoft.beans.task.TBusiCodeTask; import com.ycsoft.commons.abstracts.BaseAction; import com.ycsoft.commons.constants.DataRight; import com.ycsoft.commons.helper.StringHelper; import com.ycsoft.commons.tree.TreeBuilder; import com.ycsoft.commons.tree.TreeNode; import com.ycsoft.daos.core.JDBCException; import com.ycsoft.sysmanager.component.config.TemplateComponent; import com.ycsoft.sysmanager.dto.config.TemplateTreeDto; import com.ycsoft.sysmanager.dto.tree.TreeDto; import com.ycsoft.sysmanager.web.commons.interceptor.WebOptr; /** * @Description: * @author eagle * @date Apr 1, 2010 10:09:33 AM */ public class TemplateAction extends BaseAction { /** * */ private static final long serialVersionUID = 3930307472679076748L; private TemplateComponent templateComponent; private String templateId; private String templateType; private String templateList; private String countyIds; private String templateName; private String copyTemplateId; private TTemplate template; private String feeStdId; private String deviceBuyMode; private String deviceType; private String feeId; private TBusiFeeStd busiFeeStd; private String deviceModelListStr; private String configName; private String query; private String feeColumnStr; private String[] columnIds; private String[] optrIds; private String type; /** * 查询模板菜单树 * @return * @throws JDBCException */ public String queryTemplateTree() throws Exception{ List treeList = templateComponent.queryTemplateTree(); TemplateTreeDto template = new TemplateTreeDto(); template.setTreeList(TreeBuilder.createTree(treeList)); String changeCountyIds = ""; try { changeCountyIds = templateComponent.queryChangeCounty(); } catch (Exception e) { } if(StringHelper.isNotEmpty(changeCountyIds)){ template.setChangeCountyIds(changeCountyIds.substring(changeCountyIds.indexOf("(")+1, changeCountyIds.indexOf(")"))); } getRoot().setSimpleObj(template); return JSON_SIMPLEOBJ; } public String queryFeeTemplateTree() throws Exception { List<TreeDto> list = templateComponent.queryFeeTemplateTree(optr); List feeTreeList = new ArrayList(); for(Object obj : list){ TreeDto tree = (TreeDto) obj; if(tree.getAttr().indexOf("FEE_type") == 0){ feeTreeList.add(tree); } } String pId = ((TreeDto)feeTreeList.get(0)).getId(); for(Object obj : list){ TreeDto tree = (TreeDto) obj; if(tree.getPid().equals(pId)){ feeTreeList.add(tree); } } getRoot().setRecords(TreeBuilder.createTree(feeTreeList)); return JSON_RECORDS; } public String queryTemplateOptr() throws Exception { List list = templateComponent.queryTemplateOptr(columnIds, type); getRoot().setRecords(TreeBuilder.createTreeCheck(list)); return JSON_RECORDS; } public String saveTemplateToOptrs() throws Exception { templateComponent.saveTemplateToOptrs(columnIds, optrIds); return JSON; } /** * 业务信息 * @return * @throws Exception */ public String querybusi() throws Exception{ getRoot().setRecords(templateComponent.querybusi()) ; return JSON_RECORDS; } /*****************************业务费用****************************/ /** * @Description:查询业务费用类型 * @return * @throws Exception */ public String queryBusiFeeForStdCfg() throws Exception{ getRoot().setRecords(templateComponent.queryBusiFeeForStdCfg(templateId, countyIds)) ; return JSON_RECORDS; } /** * 查询业务类型模板 */ public String queryFeeTpls() throws Exception{ getRoot().setSimpleObj(templateComponent.queryByTemplateId(templateId)); return JSON_SIMPLEOBJ; } public String queryFeeTemplateColumn() throws Exception { getRoot().setRecords(templateComponent.queryFeeTemplateColumn(templateId, query)); return JSON_RECORDS; } public String updateFeeColumn() throws Exception { List<TTemplateColumn> columnList = new ArrayList<TTemplateColumn>(); if(StringHelper.isNotEmpty(feeColumnStr)){ Type type = new TypeToken<List<TTemplateColumn>>(){}.getType(); Gson gson = new Gson(); columnList = gson.fromJson(feeColumnStr,type); } templateComponent.updateColumn(columnList); return JSON_SUCCESS; } /** * 查找费用标准可以选择的设备型号 * @param templateId * @param deviceBuyMode * @param deviceType * @return * @throws Exception */ public String qeuryDeviceModelForStdCfg() throws Exception{ getRoot().setRecords(templateComponent.qeuryDeviceModelForStdCfg(templateId, feeStdId, deviceBuyMode, deviceType,feeId,countyIds.split(","))); return JSON_RECORDS; } /** * 保存或修改一条收费标准 * @param entity * @throws Exception */ public String saveFeeConfig() throws Exception { //记录异动 TBusiFeeStd oldbean=templateComponent.queryTBusiFeeStd(busiFeeStd.getTemplate_id(), busiFeeStd.getFee_std_id()); templateComponent.saveFeeConfig(busiFeeStd,deviceModelListStr); //记录异动 TBusiFeeStd newbean=templateComponent.queryTBusiFeeStd(busiFeeStd.getTemplate_id(), busiFeeStd.getFee_std_id()); templateComponent.saveTemplateBsuiFeeChange(busiFeeStd.getTemplate_id(), oldbean, newbean); return JSON; } /** * 根据费用标准ID删除记录 * @param feeStdId * @throws JDBCException */ public String deleteFeeConfig() throws Exception{ //记录异动 TBusiFeeStd oldbean=templateComponent.queryTBusiFeeStd(templateComponent.queryTBusiFeeStd(feeStdId).getTemplate_id(),feeStdId); templateComponent.deleteFeeConfig(feeStdId); templateComponent.saveTemplateBsuiFeeChange(oldbean.getTemplate_id(), oldbean, null); return JSON; } public String saveFeeTpls() throws Exception{ //记录异动 List<TTemplateCounty> oldcountys= templateComponent.queryTemplateCountys(templateId); templateComponent.saveFeeTpls(templateId, templateType, countyIds.split(",")); List<TTemplateCounty> newcountys= templateComponent.queryTemplateCountys(templateId); templateComponent.saveTemplateCountyChange(templateId, oldcountys, newcountys); return JSON; } /*****************************业务单据****************************/ /** * @Description:查询单据类型 * @return * @throws Exception */ public String querydoc()throws Exception { getRoot().setRecords(templateComponent.querydoc()); return JSON_RECORDS; } /** * 根据模板ID查询业务单据配置 * @author eagle * @param templateId * @return * @throws JDBCException */ public String queryDocTpls() throws JDBCException{ getRoot().setRecords(templateComponent.queryDocTpls(templateId)); return JSON_RECORDS; } /** * 保存业务单据配置 * @param templateId * @param templateType * @param docList * @param countyIds * @throws JDBCException */ public String saveDocTpls() throws Exception{ //记录异动 List<TTemplateCounty> oldcountys= templateComponent.queryTemplateCountys(templateId); List<TBusiCodeDoc> oldList= templateComponent.queryDocTpls(templateId); List<TBusiCodeDoc> docList = new ArrayList<TBusiCodeDoc>(); if(StringHelper.isNotEmpty(templateList)){ Type type = new TypeToken<List<TBusiCodeDoc>>(){}.getType(); Gson gson = new Gson(); docList = gson.fromJson(templateList,type); } templateComponent.saveDocTpls(templateId, templateType, docList, countyIds.split(",")); List<TTemplateCounty> newcountys= templateComponent.queryTemplateCountys(templateId); List<TBusiCodeDoc> newList= templateComponent.queryDocTpls(templateId); templateComponent.saveTemplateContentChange(templateId, oldList, newList, "busi_name","doc_name"); templateComponent.saveTemplateCountyChange(templateId, oldcountys, newcountys); return JSON; } /*****************************业务工单****************************/ /** * 根据模板ID查询业务工单配置 * @param templateId * @return * @throws JDBCException */ public String queryTaskTpls() throws Exception{ getRoot().setRecords(templateComponent.queryTaskTpls(templateId)); return JSON_RECORDS; } /** * 查询工单类型 * @return * @throws Exception */ public String querytask() throws Exception{ getRoot().setRecords(templateComponent.querytask()) ; return JSON_RECORDS; } /** * 保存业务工单配置 * @param templateId * @param templateType * @param taskList * @param countyIds * @throws JDBCException */ public String saveTaskTpls() throws Exception{ List<TBusiCodeTask> oldList=templateComponent.queryTaskTpls(templateId); List<TTemplateCounty> oldcountys= templateComponent.queryTemplateCountys(templateId); List<TBusiCodeTask> taskList = new ArrayList<TBusiCodeTask>(); if(StringHelper.isNotEmpty(templateList)){ Type type = new TypeToken<List<TBusiCodeTask>>(){}.getType(); Gson gson = new Gson(); taskList = gson.fromJson(templateList,type); } templateComponent.saveTaskTpls(templateId, templateType, taskList, countyIds.split(",")); //记录异动 List<TBusiCodeTask> newList=templateComponent.queryTaskTpls(templateId); List<TTemplateCounty> newcountys= templateComponent.queryTemplateCountys(templateId); templateComponent.saveTemplateContentChange(templateId, oldList, newList, "busi_name","detail_type_name"); templateComponent.saveTemplateCountyChange(templateId, oldcountys, newcountys); return JSON; } /*****************************信息修改****************************/ /** * 查询跟信息修改相关的业务 * @return * @throws Exception */ public String queryBusiForUpdate() throws Exception{ getRoot().setRecords(templateComponent.queryBusiForUpdate()); return JSON_RECORDS; } /** * 查询字段名 */ public String queryFields() throws Exception{ getRoot().setRecords(templateComponent.queryFields()); return JSON_RECORDS; } /** * 查询信息修改模板数据 * @param templateId * @return * @throws JDBCException */ public String queryUpdCfgTpls() throws Exception{ getRoot().setRecords(templateComponent.queryUpdCfgTpls(templateId)); return JSON_RECORDS; } /** * 保存信息修改模板数据 * @param templateId * @param templateType * @param invoiceList * @param countyIds * @throws JDBCException */ public String saveUpdCfgTpls() throws Exception{ //记录异动 List<TUpdateCfg> oldList=templateComponent.queryUpdCfgTpls(templateId); List<TTemplateCounty> oldcountys= templateComponent.queryTemplateCountys(templateId); List<TUpdateCfg> updList = new ArrayList<TUpdateCfg>(); if(StringHelper.isNotEmpty(templateList)){ Type type = new TypeToken<List<TUpdateCfg>>(){}.getType(); Gson gson = new Gson(); updList = gson.fromJson(templateList,type); } templateComponent.saveUpdCfgTpls(templateId, templateType, updList, countyIds.split(",")); //记录异动 List<TUpdateCfg> newList=templateComponent.queryUpdCfgTpls(templateId); List<TTemplateCounty> newcountys= templateComponent.queryTemplateCountys(templateId); templateComponent.saveTemplateContentChange(templateId, oldList, newList, "busi_name","remark"); templateComponent.saveTemplateCountyChange(templateId, oldcountys, newcountys); return JSON; } /****************************计费****************************/ /** * 查询产品状态 * @return * @throws JDBCException */ public String queryProdStatus() throws JDBCException{ getRoot().setRecords(templateComponent.queryProdStatus()); return JSON_RECORDS; } /** * 查询计费模板数据 * @param templateId * @return * @throws JDBCException */ public String queryBillTpls() throws Exception{ getRoot().setRecords(templateComponent.queryBillTpls(templateId)); return JSON_RECORDS; } public String queryTemplateCountyById() throws Exception { getRoot().setRecords(templateComponent.queryTemplateCountys(templateId)); return JSON_RECORDS; } /** * 保存计费模板数据 * @param templateId * @param templateType * @param billList * @param countyIds * @throws JDBCException */ public String saveBillTpls() throws Exception{ //记录异动 List<TTemplateCounty> oldcountys= templateComponent.queryTemplateCountys(templateId); List<TProdStatusRent> oldList=templateComponent.queryBillTpls(templateId); List<TProdStatusRent> billList = new ArrayList<TProdStatusRent>(); if(StringHelper.isNotEmpty(templateList)){ Type type = new TypeToken<List<TProdStatusRent>>(){}.getType(); Gson gson = new Gson(); billList = gson.fromJson(templateList,type); } templateComponent.saveBillTpls(templateId, templateType, billList, countyIds.split(",")); List<TTemplateCounty> newcountys= templateComponent.queryTemplateCountys(templateId); List<TProdStatusRent> newList=templateComponent.queryBillTpls(templateId); templateComponent.saveTemplateCountyChange(templateId, oldcountys, newcountys); templateComponent.saveTemplateContentChange(templateId, oldList, newList, "status_desc","is_cal_rent_text"); return JSON; } /****************************发票打印****************************/ /** * 查询发票打印项 */ public String queryPrintItem() throws JDBCException{ getRoot().setRecords(templateComponent.queryPrintItem()); return JSON_RECORDS; } /** * 查询发票打印种类 * @return * @throws JDBCException */ public String queryInvoiceType() throws JDBCException{ getRoot().setRecords(templateComponent.queryInvoiceType()); return JSON_RECORDS; } /** * 查询发票打印模板数据 * @return * @throws JDBCException */ public String queryInvoiceTpls() throws JDBCException{ getRoot().setRecords(templateComponent.queryInvoiceTpls(templateId)); return JSON_RECORDS; } /** * 保存发票打印模板数据 * @param templateId * @param templateType * @param invoiceList * @param countyIds * @throws JDBCException */ public String saveInvoiceTpls() throws Exception{ List<TTemplateCounty> oldcountys= templateComponent.queryTemplateCountys(templateId); List<TInvoicePrintitem> oldList=templateComponent.queryInvoiceTpls(templateId); //记录异动 List<TInvoicePrintitem> invoiceList = new ArrayList<TInvoicePrintitem>(); if(StringHelper.isNotEmpty(templateList)){ Type type = new TypeToken<List<TInvoicePrintitem>>(){}.getType(); Gson gson = new Gson(); invoiceList = gson.fromJson(templateList,type); } templateComponent.saveInvoiceTpls(templateId, templateType, invoiceList, countyIds.split(",")); List<TTemplateCounty> newcountys= templateComponent.queryTemplateCountys(templateId); List<TInvoicePrintitem> newList=templateComponent.queryInvoiceTpls(templateId); templateComponent.saveTemplateCountyChange(templateId, oldcountys, newcountys); templateComponent.saveTemplateContentChange(templateId, oldList, newList, "printitem_name","doc_name"); return JSON; } /****************************配置****************************/ /** * 查询配置种类 * @return * @throws JDBCException */ // public String queryConfigs() throws JDBCException{ // getRoot().setRecords(templateComponent.queryConfigs()); // return JSON_RECORDS; // } /** * 查询配置模板数据 * @param templateId * @return * @throws JDBCException */ public String queryConfigTpls() throws JDBCException{ getRoot().setRecords(templateComponent.queryConfigTpls(templateId)); return JSON_RECORDS; } /** * 保存配置模板数据 * @param templateId * @param templateType * @param configList * @param countyIds * @throws JDBCException */ public String saveConfigTpls() throws Exception{ List<TTemplateCounty> oldcountys= templateComponent.queryTemplateCountys(templateId); List<TConfigTemplate> oldList=templateComponent.queryConfigTpls(templateId); //TODO 记录异动 List<TConfigTemplate> configList = new ArrayList<TConfigTemplate>(); if(StringHelper.isNotEmpty(templateList)){ Type type = new TypeToken<List<TConfigTemplate>>(){}.getType(); Gson gson = new Gson(); configList = gson.fromJson(templateList,type); } templateComponent.saveConfigTpls(templateId, templateType, configList, countyIds.split(","),optr); List<TTemplateCounty> newcountys= templateComponent.queryTemplateCountys(templateId); List<TConfigTemplate> newList=templateComponent.queryConfigTpls(templateId); templateComponent.saveTemplateCountyChange(templateId, oldcountys, newcountys); templateComponent.saveTemplateContentChange(templateId, oldList, newList, "remark","config_value_text"); return JSON; } /****************************临时授权****************************/ public String queryOpenTemps() throws JDBCException{ getRoot().setRecords(templateComponent.queryOpenTemps(templateId)); return JSON_RECORDS; } /** * 保存临时授权配置 * @param templateId * @param templateType * @param openList * @param countyIds * @throws JDBCException */ public String saveOpenTemps() throws Exception{ // 记录异动 List<TTemplateCounty> oldcountys= templateComponent.queryTemplateCountys(templateId); List<TOpenTemp> oldList=templateComponent.queryOpenTemps(templateId); List<TOpenTemp> openList = new ArrayList<TOpenTemp>(); if(StringHelper.isNotEmpty(templateList)){ Type type = new TypeToken<List<TOpenTemp>>(){}.getType(); Gson gson = new Gson(); openList = gson.fromJson(templateList,type); } templateComponent.saveOpenTemps(templateId, templateType, openList, countyIds.split(",")); List<TTemplateCounty> newcountys= templateComponent.queryTemplateCountys(templateId); List<TOpenTemp> newList=templateComponent.queryOpenTemps(templateId); templateComponent.saveTemplateCountyChange(templateId, oldcountys, newcountys); templateComponent.saveTemplateContentChange(templateId, oldList, newList, "user_type","cycle","times","days"); return JSON; } /****************************机顶盒灌装***************************/ /** * 查询服务类型为DTV的资源 * @return * @throws JDBCException */ public String queryDtvRes() throws Exception { getRoot().setRecords(templateComponent.queryDtvRes()) ; return JSON_RECORDS; } /** * 根据模板ID查询机顶盒灌装数据 * @param templateId * @return * @throws JDBCException */ public String queryStbFilleds() throws Exception { getRoot().setRecords(templateComponent.queryStbFilleds(templateId)) ; return JSON_RECORDS; } /** * 保存机顶盒灌装配置 * @param templateId * @param templateType * @param stbList * @param countyIds * @throws JDBCException */ public String saveStbFilled() throws Exception { //记录异动 List<TTemplateCounty> oldcountys= templateComponent.queryTemplateCountys(templateId); List<TStbFilled> oldList=templateComponent.queryStbFilleds(templateId); List<TStbFilled> stbList = new ArrayList<TStbFilled>(); if(StringHelper.isNotEmpty(templateList)){ Type type = new TypeToken<List<TStbFilled>>(){}.getType(); Gson gson = new Gson(); stbList = gson.fromJson(templateList,type); } templateComponent.saveStbFilled(templateId, templateType, stbList, countyIds.split(",")); List<TTemplateCounty> newcountys= templateComponent.queryTemplateCountys(templateId); List<TStbFilled> newList=templateComponent.queryStbFilleds(templateId); templateComponent.saveTemplateCountyChange(templateId, oldcountys, newcountys); templateComponent.saveTemplateContentChange(templateId, oldList, newList, "res_name","months"); return JSON; } public String createTemplate() throws Exception{ //TODO 记录异动 getRoot().setSimpleObj(templateComponent.createTemplate(templateType, templateName, copyTemplateId,optr.getOptr_id())); return JSON; } public String deleteTemplate() throws Exception{ templateComponent.deleteTemplate(templateId); return JSON; } public String editTemplate() throws Exception{ templateComponent.editTemplate(templateId,templateName); return JSON; } /** * 根据模板类型查找模板 * @param templateType * @return * @throws Exception */ public String queryTplsByType() throws Exception{ getRoot().setRecords(templateComponent.queryTplsByType(templateType,optr)); return JSON_RECORDS; } /** * 根据配置名称和地区查配置 * @param configName * @param countyId * @return * @throws JDBCException */ public String queryConfigByConfigName() throws Exception{ getRoot().setSimpleObj(templateComponent.queryConfigByConfigName(configName, optr.getCounty_id())); return JSON_SIMPLEOBJ; } public TemplateComponent getTemplateComponent() { return templateComponent; } public void setTemplateComponent(TemplateComponent templateComponent) { this.templateComponent = templateComponent; } public String getTemplateId() { return templateId; } public void setTemplateId(String templateId) { this.templateId = templateId; } public String getTemplateType() { return templateType; } public void setTemplateType(String templateType) { this.templateType = templateType; } public String getTemplateList() { return templateList; } public void setTemplateList(String templateList) { this.templateList = templateList; } public String getCountyIds() { return countyIds; } public void setCountyIds(String countyIds) { this.countyIds = countyIds; } public String getTemplateName() { return templateName; } public void setTemplateName(String templateName) { this.templateName = templateName; } public String getCopyTemplateId() { return copyTemplateId; } public void setCopyTemplateId(String copyTemplateId) { this.copyTemplateId = copyTemplateId; } public TTemplate getTemplate() { return template; } public void setTemplate(TTemplate template) { this.template = template; } public static long getSerialVersionUID() { return serialVersionUID; } public String getFeeStdId() { return feeStdId; } public String getDeviceBuyMode() { return deviceBuyMode; } public String getDeviceType() { return deviceType; } public void setFeeStdId(String feeStdId) { this.feeStdId = feeStdId; } public void setDeviceBuyMode(String deviceBuyMode) { this.deviceBuyMode = deviceBuyMode; } public void setDeviceType(String deviceType) { this.deviceType = deviceType; } public TBusiFeeStd getBusiFeeStd() { return busiFeeStd; } public void setBusiFeeStd(TBusiFeeStd busiFeeStd) { this.busiFeeStd = busiFeeStd; } public void setDeviceModelListStr(String deviceModelListStr) { this.deviceModelListStr = deviceModelListStr; } public void setConfigName(String configName) { this.configName = configName; } public void setFeeId(String feeId) { this.feeId = feeId; } public void setQuery(String query) { this.query = query; } public void setFeeColumnStr(String feeColumnStr) { this.feeColumnStr = feeColumnStr; } public void setColumnIds(String[] columnIds) { this.columnIds = columnIds; } public void setType(String type) { this.type = type; } public void setOptrIds(String[] optrIds) { this.optrIds = optrIds; } }