瀏覽代碼

修改月考核导出功能

luobo 4 年之前
父節點
當前提交
d8dda12b38

+ 0 - 32
WebContent/WEB-INF/view/bus/month-assessment-list.jsp

@@ -280,32 +280,16 @@
             var orgName=$("#orgName").val();
             var address=$("#address").val();
             var year=$("#year").val();
-            var busOrgCustomerNumber=$("#busOrgCustomerNumber").val();
-            var busOrgMeterNumber=$("#busOrgMeterNumber").val();
             var month=$('#month').val();
-
-            var overWaterBegin=$('#overWaterBegin').val();
-            var overWaterEnd=$('#overWaterEnd').val();
-            var amountReceivableBegin=$('#amountReceivableBegin').val();
-            var amountReceivableEnd=$('#amountReceivableEnd').val();
             var isPlanUser=$("#isPlanUser").val();
-            var userType=$("#userType").val();
 
             var url="${ctx}/monthAssessment/print.do?";
             url +="orgNumber="+orgNumber;
             url +="&orgName="+orgName;
             url +="&address="+address;
             url +="&year="+year;
-            url +="&busOrgCustomerNumber="+busOrgCustomerNumber;
-            url +="&busOrgMeterNumber="+busOrgMeterNumber;
             url +="&month="+month;
-
-            url +="&overWaterBegin="+overWaterBegin;
-            url +="&overWaterEnd="+overWaterEnd;
-            url +="&amountReceivableBegin="+amountReceivableBegin;
-            url +="&amountReceivableEnd="+amountReceivableEnd;
             url +="&isPlanUser="+isPlanUser;
-            url +="&userType="+userType;
 
             url +="&flag=query";
             url +="&exportType=list";
@@ -514,32 +498,16 @@
             var orgName=$("#orgName").val();
             var address=$("#address").val();
             var year=$("#year").val();
-            var busOrgCustomerNumber=$("#busOrgCustomerNumber").val();
-            var busOrgMeterNumber=$("#busOrgMeterNumber").val();
             var month=$('#month').val();
-
-            var overWaterBegin=$('#overWaterBegin').val();
-            var overWaterEnd=$('#overWaterEnd').val();
-            var amountReceivableBegin=$('#amountReceivableBegin').val();
-            var amountReceivableEnd=$('#amountReceivableEnd').val();
             var isPlanUser=$("#isPlanUser").val();
-            var userType=$("#userType").val();
 
             var url="${ctx}/monthAssessment/exportExcel.do?";
             url +="orgNumber="+orgNumber;
             url +="&orgName="+orgName;
             url +="&address="+address;
             url +="&year="+year;
-            url +="&busOrgCustomerNumber="+busOrgCustomerNumber;
-            url +="&busOrgMeterNumber="+busOrgMeterNumber;
             url +="&month="+month;
-
-            url +="&overWaterBegin="+overWaterBegin;
-            url +="&overWaterEnd="+overWaterEnd;
-            url +="&amountReceivableBegin="+amountReceivableBegin;
-            url +="&amountReceivableEnd="+amountReceivableEnd;
             url +="&isPlanUser="+isPlanUser;
-            url +="&userType="+userType;
 
             url +="&flag=query";
             url +="&exportType=list";

+ 7 - 0
WebContent/WEB-INF/view/bus/org-list.jsp

@@ -60,6 +60,11 @@
 		                	  return "<font class='textSlice' style='width:100%;cursor: pointer;' title='"+value+"'>"+value+"</font>";
 		                  }	
 	                },
+					 { display: '单位性质', name: 'baseOrgType',     align: 'center', width: "8%",
+						 render:function(rowdata, rowindex, value, column){
+							 return "<font class='textSlice' style='width:100%;cursor: pointer;' title='"+value+"'>"+value+"</font>";
+						 }
+					 },
 	                { display: '是否计划户', name: 'isPlanUser',     align: 'center', width: "6%",
 		                   render:function(rowdata, rowindex, value, column){
 		                	   if(value == "no"){
@@ -584,6 +589,7 @@
 		url +="&address="+address;
 		url +="&isPlanUser="+isPlanUser;
 		url +="&userType="+userType;
+		url +="&orgTypeId=";
 		url +="&flag=query";
 		
 		url +="&pageNo=1";
@@ -633,6 +639,7 @@
 		url +="&address="+address;
 		url +="&isPlanUser="+isPlanUser;
 		url +="&userType="+userType;
+		url +="&orgTypeId=";
 		url +="&flag=query";
 		
 		url +="&pageNo=1";

+ 7 - 7
src/java/com/bus/dao/impl/BusOrgDaoImpl.java

@@ -66,7 +66,7 @@ public class BusOrgDaoImpl extends GenericDaoImpl<BusOrg, Long>
 		//先将int值转为float否则会发生精度丢失
 		//Float v = (float) (1+GR/100);
 		//通过sql查询增长比例
-		String v = " (select growth_ratio from base_org_type o where o.org_name = b.org_nature) ";
+		String v = " (select growth_ratio from base_org_type o where o.org_type_id = b.org_type_id) ";
 		String quarterSql = "ROUND(SUM(bm.`water`) * "+v+"/4)";
 		String montherSql = "ROUND(SUM(bm.`water`) * "+v+"/12)";
 		String sql = " INSERT INTO `bus_annual_plan_for_water`                                                           "
@@ -121,9 +121,9 @@ public class BusOrgDaoImpl extends GenericDaoImpl<BusOrg, Long>
 		//添加条件: AND bo.`import_status`='normal' 了必须取未删除的单位信息,
 		//李周芳 2016-02-19
 		//把所有上一年用户都初值化到今年来
-		String sql1 =" INSERT INTO `bus_org` (org_name,org_nature,org_number,address,is_plan_user,`year`,industry_number,`code`,email,bank,bank_account, "
+		String sql1 =" INSERT INTO `bus_org` (org_name,org_number,address,is_plan_user,`year`,industry_number,`code`,email,bank,bank_account, "
                     +" remark,org_type_id,`area`,phone,import_status,user_type,postal_address)                                                               "    
-                    +" SELECT b.`org_name`,b.`org_nature`,b.`org_number`,b.`address`,b.`is_plan_user`,?,b.`industry_number`,b.`code`,                        "
+                    +" SELECT b.`org_name`,b.`org_number`,b.`address`,b.`is_plan_user`,?,b.`industry_number`,b.`code`,                        "
                     +" b.`email`,b.`bank`,b.`bank_account`,b.`remark`,b.`org_type_id`,b.`area`,b.`phone`,b.`import_status`,b.`user_type`,b.`postal_address`      "
                     +" FROM `bus_org` b WHERE b.`year`=? AND b.`import_status`='normal'                                                       "
                     +" AND NOT EXISTS (                                                                                                       "
@@ -200,7 +200,7 @@ public class BusOrgDaoImpl extends GenericDaoImpl<BusOrg, Long>
 			Date eMonthEndTime) {
 //		Float v = (float) (1+GR/100);
 		//通过sql查询增长比例
-		String v = " (select growth_ratio from base_org_type o where o.org_name = b.org_nature) ";
+		String v = " (select growth_ratio from base_org_type o where o.org_type_id = b.org_type_id) ";
 
 		String sql =" INSERT INTO `bus_quarterly_assessment`                                                                   "
 				   +" (                                                                                                        " 
@@ -239,7 +239,7 @@ public class BusOrgDaoImpl extends GenericDaoImpl<BusOrg, Long>
 			Date bMonthStartTime, Date bMonthEndTime, Date eMonthStartTime,
 			Date eMonthEndTime) {
 		//通过sql查询增长比例
-		String v = " (select growth_ratio from base_org_type o where o.org_name = b.org_nature) ";
+		String v = " (select growth_ratio from base_org_type o where o.org_type_id = b.org_type_id ) ";
 
 		String sql =" INSERT INTO `bus_month_assessment`                                                                   "
 				+" (                                                                                                        "
@@ -338,9 +338,9 @@ public class BusOrgDaoImpl extends GenericDaoImpl<BusOrg, Long>
 
 	@Override
 	public void initOneData(Long orgId,int nextYear,String type) {
-		String sql =" INSERT INTO `bus_org` (org_name,org_nature,org_number,address,is_plan_user,`year`,industry_number,`code`,email,bank,bank_account,"
+		String sql =" INSERT INTO `bus_org` (org_name,org_number,address,is_plan_user,`year`,industry_number,`code`,email,bank,bank_account,"
                    +" remark,org_type_id,`area`,phone,import_status,user_type,postal_address)                                                              "
-				   +" SELECT bus.`org_name`,bus.`org_nature`,bus.`org_number`,bus.`address`,?,?,bus.`industry_number`,bus.`code`,bus.`email`,bus.`bank`, "
+				   +" SELECT bus.`org_name`,bus.`org_number`,bus.`address`,?,?,bus.`industry_number`,bus.`code`,bus.`email`,bus.`bank`, "
                    +" bus.`bank_account`,bus.`remark`,bus.`org_type_id`,bus.`area`,bus.`phone`,bus.`import_status`,bus.`user_type`,bus.`postal_address`          "
 		           +" FROM `bus_org` bus WHERE bus.`org_id`=?";
 		jdbcTemplate.update(sql,type,nextYear,orgId);

+ 3 - 3
src/java/com/bus/model/BusOrg.hbm.xml

@@ -59,9 +59,9 @@
 			<key column="org_id" />
 			<one-to-many class="com.bus.model.BusCustomerMeter" />
 		</set>
-		<many-to-one name="orgType" class="com.base.model.BaseOrgType"
-			not-null="false">
-			<column name="org_type_id" />
+		<many-to-one name="orgType"   class="com.base.model.BaseOrgType"
+			not-null="true" lazy="false" fetch="select">
+			<column name="org_type_id" unique="true" ></column>
 		</many-to-one>
 <!-- 		<many-to-one name="baseUserType" class="com.base.model.BaseUserType" not-null="false"> -->
 <!-- 		   <column name="userTypeId"/> -->

+ 106 - 1
src/java/com/bus/model/temp/BusMonthAssessmentTemp2.java

@@ -3,6 +3,8 @@ package com.bus.model.temp;
 import com.bus.model.BusMonthAssessmentRule;
 import com.bus.model.BusOrg;
 import flexjson.JSONDeserializer;
+import net.sf.json.JSONArray;
+import net.sf.json.JsonConfig;
 
 import java.util.ArrayList;
 import java.util.Date;
@@ -61,6 +63,29 @@ public class BusMonthAssessmentTemp2 {
     /**阶梯收费详情**/
     private List<BusMonthAssessmentRule> busMonthAssessmentRule;
 
+    /**
+     * 年份
+     */
+    private String year;
+
+    private String userTypeName;
+
+    /**单位编号**/
+    private String orgNumber;
+    /**单位名称**/
+    private String orgName;
+    /**地址**/
+    private String address;
+
+    /**增收水表号**/
+    private String meterNumber;
+    /**邮寄地址**/
+    private String postAddress;
+    /**邮编**/
+    private String post;
+
+    private String ruleStr;
+
 
     public Long getAssessmentMonId() {
         return assessmentMonId;
@@ -249,7 +274,10 @@ public class BusMonthAssessmentTemp2 {
     public List<BusMonthAssessmentRule> getBusMonthAssessmentRule() {
 
         if (this.ruleJson!=null && !this.ruleJson.equalsIgnoreCase("")){
-            List list = new JSONDeserializer<List<BusMonthAssessmentRule>>().deserialize(this.ruleJson);
+            JSONArray jsonArray = JSONArray.fromObject(this.ruleJson);
+            List <BusMonthAssessmentRule> list = JSONArray.toList(jsonArray,BusMonthAssessmentRule.class);
+
+           // List<BusMonthAssessmentRule> list = new JSONDeserializer<List<BusMonthAssessmentRule>>().deserialize(this.ruleJson);
             this.busMonthAssessmentRule = list;
         }
 
@@ -259,4 +287,81 @@ public class BusMonthAssessmentTemp2 {
     public void setBusMonthAssessmentRule(List<BusMonthAssessmentRule> busMonthAssessmentRule) {
         this.busMonthAssessmentRule = busMonthAssessmentRule;
     }
+
+    public String getYear() {
+        if (org!=null){
+            year = org.getYear();
+        }
+        return year;
+    }
+
+    public String getOrgNumber() {
+        if (org!=null){
+            orgNumber = org.getOrgNumber().toString();
+        }
+        return orgNumber;
+    }
+
+    public String getOrgName() {
+        if (org!=null){
+            orgName = org.getOrgName();
+        }
+        return orgName;
+    }
+
+    public String getAddress() {
+        if (org!=null){
+            address = org.getAddress();
+        }
+        return address;
+    }
+
+    public String getMeterNumber() {
+        if (org!=null){
+            meterNumber = org.getBusOrgMeterNumber();
+        }
+        return meterNumber;
+    }
+
+    public String getPostAddress() {
+        if (org!=null){
+            postAddress = org.getPostalAddress();
+        }
+        return postAddress;
+    }
+
+    public String getPost() {
+        if (org!=null){
+            post = org.getCode();
+        }
+        return post;
+    }
+
+    public String getRuleStr(){
+        if (this.getBusMonthAssessmentRule()!=null && this.getBusMonthAssessmentRule().size()>0){
+            String str="";
+            for (int i=0;i<this.getBusMonthAssessmentRule().size();i++){
+                BusMonthAssessmentRule item =this.getBusMonthAssessmentRule().get(i);
+                str+="第"+item.getSectionNum()+"阶段,"+item.getAmount()+"元;";
+            }
+
+
+
+
+//
+//            for (BusMonthAssessmentRule item:this.getBusMonthAssessmentRule()){
+//                str+="第"+item.getSectionNum()+"阶段,"+item.getAmount()+"元;";
+//            }
+            ruleStr = str;
+        }
+        return ruleStr;
+    }
+
+    public String getUserTypeName(){
+        if (org!=null && org.getUserType()!=null){
+            userTypeName = "1".equalsIgnoreCase(org.getUserType())?"自来水户":"取水户";
+        }
+        return userTypeName;
+    }
 }
+

+ 6 - 0
src/java/com/bus/service/IBusMonthAssessmentService.java

@@ -3,6 +3,7 @@ package com.bus.service;
 import com.bus.model.BusMonthAssessment;
 import com.bus.model.temp.AddWaterTemp;
 import com.bus.model.temp.BusMonthAssessmentTemp;
+import com.bus.model.temp.BusMonthAssessmentTemp2;
 import com.core.service.IGenericService;
 import com.core.util.Page;
 
@@ -94,6 +95,11 @@ public interface IBusMonthAssessmentService extends IGenericService<BusMonthAsse
             String orgName, String year, String address, String isPlanUser,
             String userType, String month, Integer overWaterBegin, Integer overWaterEnd, Integer amountReceivableBegin, Integer amountReceivableEnd, String[] assessmentId, String isWriteOff);
 
+
+    List<BusMonthAssessmentTemp2> getMonthAssessmentForExcel2(Integer orgNumber, Integer customerNumber, Integer meterNumber,
+                                                              String orgName, String year, String address, String isPlanUser,
+                                                              String userType, String month, Integer overWaterBegin, Integer overWaterEnd, Integer amountReceivableBegin, Integer amountReceivableEnd, String[] assessmentMonId, String isWriteOff);
+
 //    /**
 //     * 得到上半年或下半年的加价水费
 //     * @param year	年份

+ 89 - 5
src/java/com/bus/service/impl/BusMonthAssessmentServiceImpl.java

@@ -352,11 +352,6 @@ public class BusMonthAssessmentServiceImpl extends GenericServiceImpl<BusMonthAs
                     BusOrg org = busOrgService.get(org_id);
                     busMonthAssessment.setOrg(org);
                 }
-//                String jsonStr = rs.getString("rule_json");
-//                if (jsonStr!=null && !jsonStr.equalsIgnoreCase("")){
-//                    List list = new JSONDeserializer<List<BusMonthAssessmentRule>>().deserialize(jsonStr);
-//                    busMonthAssessment.setBusMonthAssessmentRule(list);
-//                }
                 busMonthAssessment.setAssessmentMonId(rs.getLong("assessment_mon_id"));
                 busMonthAssessment.setAssessmentMonth(rs.getInt("assessment_month"));
                 busMonthAssessment.setWaterPrice(rs.getFloat("water_price"));
@@ -396,6 +391,95 @@ public class BusMonthAssessmentServiceImpl extends GenericServiceImpl<BusMonthAs
         return page;
     }
 
+    public List<BusMonthAssessmentTemp2> getMonthAssessmentForExcel2(
+            Integer orgNumber, Integer customerNumber, Integer meterNumber,
+            String orgName, String year, String address, String isPlanUser,
+            String userType, String month, Integer overWaterBegin, Integer overWaterEnd, Integer amountReceivableBegin, Integer amountReceivableEnd, String[] assessmentMonId, String isWriteOff
+    ){
+        String sql ="SELECT t.* " +
+                " FROM bus_month_assessment t " +
+                " left JOIN bus_org bo ON t.org_id=bo.org_id AND bo.`import_status`='normal'  ";
+
+        String sqlWhere =" WHERE 1=1 " +
+                " and EXISTS (select 1 from bus_meter_read_info m where m.org_id = bo.org_id and m.`year`=bo.`year` and m.`month` = t.assessment_month) ";
+
+        if (orgNumber != null&&!orgNumber.equals(""))
+            sqlWhere += " and bo.org_number=" + orgNumber;
+        if (orgName != null&&!orgName.equals(""))
+            sqlWhere += " and bo.org_name like '%" + orgName + "%'";
+        if (year != null && !year.equals(""))
+            sqlWhere += " and bo.`year`='" + year + "'";
+        if (address != null && !address.equals(""))
+            sqlWhere += " and bo.address='" + address + "'";
+        if (isPlanUser != null && !isPlanUser.equals(""))
+            sqlWhere += " and bo.is_plan_user='" + isPlanUser + "'";
+        if (userType != null && !userType.equals(""))
+            sqlWhere += " and bo.user_type='" + userType + "'";
+        if (null != customerNumber && !customerNumber.equals(""))
+            sqlWhere += " and bcm.customer_Number=" +customerNumber;
+        if (null != meterNumber && !meterNumber.equals(""))
+            sqlWhere += " and bo.org_id in(select org_id from bus_customer_meter  where meter_Number='"+meterNumber+"')";
+        if (null != month && !month.equals(""))
+            sqlWhere += " and t.assessment_month in (" + month +")";
+        if (null != isWriteOff && !isWriteOff.equals(""))
+            sqlWhere += " and t.`is_write_off`='" + isWriteOff +"'";
+        String paramIds = "";
+        if (null != assessmentMonId && !assessmentMonId.equals("")) {
+            for (int i = 0; i < assessmentMonId.length; i++) {
+                if(i==0){
+                    paramIds += assessmentMonId[i];
+                }else{
+                    paramIds += "," + assessmentMonId[i];
+                }
+            }
+            sql += " and t.assessment_mon_id IN ("+paramIds+")";
+        }
+        sql += sqlWhere + " ORDER BY t.`org_id`,t.`assessment_month` ";
+        RowMapper<BusMonthAssessmentTemp2> rowMapper = new RowMapper<BusMonthAssessmentTemp2>(){
+
+            @Override
+            public BusMonthAssessmentTemp2 mapRow(ResultSet rs, int index) throws SQLException {
+                BusMonthAssessmentTemp2 busMonthAssessment = new BusMonthAssessmentTemp2();
+                //获取单位信息
+                Long org_id = rs.getLong("org_id");
+                if (org_id!=null){
+                    BusOrg org = busOrgService.get(org_id);
+                    busMonthAssessment.setOrg(org);
+                }
+                busMonthAssessment.setAssessmentMonId(rs.getLong("assessment_mon_id"));
+                busMonthAssessment.setAssessmentMonth(rs.getInt("assessment_month"));
+                busMonthAssessment.setWaterPrice(rs.getFloat("water_price"));
+                busMonthAssessment.setWaterType(rs.getString("water_type"));
+                busMonthAssessment.setActualClosingWater(rs.getFloat("actual_closing_water"));
+                busMonthAssessment.setWaterPlanningIndex(rs.getFloat("water_planning_index"));
+                busMonthAssessment.setActualUseWater(rs.getFloat("actual_use_water"));
+                busMonthAssessment.setAmountReceivable(rs.getFloat("amount_receivable"));
+                busMonthAssessment.setIsWriteOff(rs.getString("is_write_off"));
+                busMonthAssessment.setModeOfPayment(rs.getString("mode_of_payment"));
+                busMonthAssessment.setBank(rs.getString("bank"));
+                busMonthAssessment.setBankAccount(rs.getString("bank_account"));
+                busMonthAssessment.setWriteOffDate(rs.getDate("write_off_date"));
+                busMonthAssessment.setPaidInAmount(rs.getFloat("paid_in_amount"));
+                busMonthAssessment.setRemark(rs.getString("remark"));
+                busMonthAssessment.setIncomeWaterPrice(rs.getFloat("income_water_price"));
+                busMonthAssessment.setReplyOfWater(rs.getFloat("reply_of_water"));
+                busMonthAssessment.setInvoiceNo(rs.getString("invoice_no"));
+                busMonthAssessment.setTaxPay(rs.getInt("tax_pay"));
+                busMonthAssessment.setRuleJson(rs.getString("rule_json"));
+                busMonthAssessment.setBaseWaterAmount(rs.getFloat("base_water_amount"));
+                busMonthAssessment.setExceedRatio(rs.getFloat("exceed_ratio"));
+                return busMonthAssessment;
+            }
+
+        };
+
+        List<BusMonthAssessmentTemp2> list =  jdbcTemplate.query(sql, rowMapper);
+        return list;
+    }
+
+
+
+
     @Override
     public List<BusMonthAssessmentTemp> getMonthAssessmentForExcel(Integer pageNo, Integer pageSize, Integer orgNumber, Integer customerNumber, Integer meterNumber,
                                                                    String orgName, String year, String address, String isPlanUser,

+ 95 - 2
src/java/com/bus/web/BusMonthAssessmentController.java

@@ -262,6 +262,99 @@ public class BusMonthAssessmentController extends BaseController {
         return "bus/month-assessment-write-off";
     }
 
+
+
+    /**
+     * 导出excel
+     * @param orgNumber
+     * @param customerNumber
+     * @param meterNumber
+     * @param orgName
+     * @param year
+     * @param address
+     * @param isPlanUser
+     * @param userType
+     * @param overWaterBegin
+     * @param overWaterEnd
+     * @param amountReceivableBegin
+     * @param amountReceivableEnd
+     * @param flag
+     * @param ids
+     * @param request
+     * @return
+     * @throws UnsupportedEncodingException
+     */
+    @ResponseBody
+    @RequestMapping(value = "exportExcel.do", method = RequestMethod.GET)
+    public Object exportExcel(Integer orgNumber,Integer customerNumber,Integer meterNumber,
+                              String orgName, String year, String address, String isPlanUser,
+                              String userType,String month,Integer overWaterBegin,Integer overWaterEnd,Integer amountReceivableBegin,Integer amountReceivableEnd,
+                              String flag,String ids,String exportType,String isWriteOff,HttpServletRequest request) throws UnsupportedEncodingException {
+        if(orgName!=null&&orgName!=""){
+            orgName = URLDecoder.decode(orgName,"utf-8");
+        }
+        if(address!=null&&address!=""){
+            address = URLDecoder.decode(address,"utf-8");
+        }
+        List<BusMonthAssessmentTemp2> list=null;
+        if(flag!=null&&flag.equals("selected")){
+            String[] assessmentId=ids.split(",");
+            list = busMonthAssessmentService.getMonthAssessmentForExcel2( orgNumber, customerNumber,
+                    meterNumber, orgName, year, address, isPlanUser, userType, month, overWaterBegin, overWaterEnd, amountReceivableBegin, amountReceivableEnd,assessmentId,isWriteOff);
+
+        }else if(flag!=null&&flag.equals("query")){
+            list = busMonthAssessmentService.getMonthAssessmentForExcel2( orgNumber, customerNumber,
+                    meterNumber, orgName, year, address, isPlanUser, userType, month, overWaterBegin, overWaterEnd, amountReceivableBegin, amountReceivableEnd,null,isWriteOff);
+        }
+//		list= (List<BusCustomerMeter>) this.page.getResult();
+
+        String fileName="";
+        if("list".equals(exportType)){
+            fileName = "单位月考核用水.xls";
+        }else if("writeOff".equals(exportType)){
+            fileName = "月超用水费用汇总.xls";
+        }
+        String agent=request.getHeader("user-agent");
+        if(agent!=null&&!agent.contains("Firefox")){
+            //不是火狐浏览器,则URL编码
+            fileName=URLEncoder.encode(fileName,"UTF-8");
+        }
+
+        try {
+            if("list".equals(exportType)){
+                String[] titles = new String[]{ "单位编号","单位名称","单位地址","水表号","年份",
+                        "用户类型","考核月份","计划用水量","实际用水量","超标水量",
+                        "超用率(%)","额定用水单价","应收金额","额定用水金额",
+                        "超标金额","是否销账","销帐日期","邮寄地址","邮编","阶梯收费明细"};
+                int columnLength[] = {20,50,10,10,20,50,10,10,15,15,15,15,10,10,10,20,10,10,20,20};
+                String fileds[]=new String[]{"orgNumber","orgName","Address","meterNumber","year",
+                        "userTypeName","assessmentMonth","waterPlanningIndex","actualUseWater","actualClosingWater",
+                        "exceedRatio","waterPrice","amountReceivable","baseWaterAmount",
+                        "paidInAmount","isWriteOff","writeOffDate","postAddress","post","ruleStr"};
+                ExcelUtils.writeExcel(fileName, list, titles, columnLength, fileds);
+            }
+//            else if("writeOff".equals(exportType)){
+//                String[] titles = new String[]{
+//                        "单位名称","用户类型","月份","批复用水指标","实际用水量","实际收水量","应收金额","实收金额","是否销帐","销帐日期","付款方式","用水单价","备注","超10-30%的水量","超30%以上的水量","超10-30%的金额","超30%以上的金额","总金额","超用率"};
+//                int columnLength[] = {20,10,10,15,15,15,10,10,10,10,10,10,30,20,20,20,20,20,20};
+//                String fileds[]=new String[]{"orgName","userType","assessmentMonth","replyOfWater","actualUseWater","actualClosingWater",
+//                        "amountReceivable","paidInAmount","isWriteOff","writeOffDate","modeOfPayment","waterPrice","remark","Intervallow","Intervalup","Moneyup","Moneylow","Moneyall","overWaterPercent"};
+//                ExcelUtils.writeExcel(fileName, list, titles, columnLength, fileds);
+//            }
+        } catch (RowsExceededException e) {
+            e.printStackTrace();
+        } catch (WriteException e) {
+            e.printStackTrace();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        DownloadHelper downloadHelper = new DownloadHelper();
+        downloadHelper.setFile(new File(fileName));
+        return downloadHelper;
+    }
+
+
+
     /**
      * 导出excel
      * @param pageNo
@@ -284,9 +377,9 @@ public class BusMonthAssessmentController extends BaseController {
      * @return
      * @throws UnsupportedEncodingException
      */
-    @RequestMapping(value = "exportExcel.do", method = RequestMethod.GET)
     @ResponseBody
-    public Object exportExcel(Integer pageNo, Integer pageSize, Integer orgNumber,Integer customerNumber,Integer meterNumber,
+    @RequestMapping(value = "exportExcel2.do", method = RequestMethod.GET)
+    public Object exportExcel2(Integer pageNo, Integer pageSize, Integer orgNumber,Integer customerNumber,Integer meterNumber,
                               String orgName, String year, String address, String isPlanUser,
                               String userType,String month,Integer overWaterBegin,Integer overWaterEnd,Integer amountReceivableBegin,Integer amountReceivableEnd,
                               String flag,String ids,String exportType,String isWriteOff,HttpServletRequest request) throws UnsupportedEncodingException {

+ 3 - 2
src/java/com/bus/web/BusOrgController.java

@@ -602,6 +602,7 @@ public class BusOrgController extends BaseController{
 				if(orgIds[i]!=null){
 					Long orgId=Long.valueOf(orgIds[i]);
 					BusOrg org=busOrgService.get(orgId);
+					BaseOrgType t = org.getOrgType();
 					list.add(org);
 				}
 			}
@@ -623,8 +624,8 @@ public class BusOrgController extends BaseController{
 		
 		try {
 			String[] titles = new String[]{ "单位编号", "单位名称", "单位性质", "是否计划户", "用户类型", "年度", "客户号" ,"水表编号","单位地址", "邮政编码","单位email","开户银行","银行账号","备注"};
-	        int columnLength[] = {20,30,20,20,20,30, 30,30,20,20,20,20,30};
-	        String[] fileds=new String[]{"orgNumber","orgName","orgTypeId","planUser","userType","year",
+	        int columnLength[] = {20,30,20,20,20,20,30, 30,30,20,20,20,20,30};
+	        String[] fileds=new String[]{"orgNumber","orgName","baseOrgType","planUser","userType","year",
 	        		"busOrgCustomerNumber","busOrgMeterNumber","address","code","email","bank",
 	        		"bankAccount","remark"};
 			ExcelUtils.writeExcel(fileName, list, titles, columnLength, fileds);

+ 2 - 2
src/java/com/data/dao/impl/ImportDataFileDaoImpl.java

@@ -198,7 +198,7 @@ public class ImportDataFileDaoImpl extends GenericDaoImpl<ImportDataFile, Long>
 				}
 				//sm.executeUpdate("insert into yhjbxx (KHH, HH, BZMC, ZBWZ, YYQY, LXDH, ZH, YSSX) values "+ strsql);
 //			}
-			sm.executeUpdate("DELETE Y FROM  yhjbxx Y WHERE EXISTS ( SELECT * FROM `bus_org` bo JOIN `bus_customer_meter` bcm ON bo.`org_id`=bcm.`org_id` WHERE y.bzmc=bo.`org_name` AND y.yssx=bo.`org_nature` AND y.zbwz=bcm.`address` AND y.khh=bcm.`customer_Number` AND y.hh = bcm.`meter_Number` AND bcm.`year`='"+year+"')");
+			sm.executeUpdate("DELETE Y FROM  yhjbxx Y WHERE EXISTS ( SELECT * FROM `bus_org` bo JOIN `bus_customer_meter` bcm ON bo.`org_id`=bcm.`org_id` WHERE y.bzmc=bo.`org_name` AND y.yssx=(select base_org_type.org_name from base_org_type where base_org_type.`org_type_id` = bo.`org_type_id`) AND y.zbwz=bcm.`address` AND y.khh=bcm.`customer_Number` AND y.hh = bcm.`meter_Number` AND bcm.`year`='"+year+"')");
 			sm.close();
 			stmt.close();
 			oracleconn.close();
@@ -317,7 +317,7 @@ public class ImportDataFileDaoImpl extends GenericDaoImpl<ImportDataFile, Long>
 				}
 				sm.executeUpdate("insert into yhjbxx (KHH, HH, BZMC, ZBWZ, YYQY, LXDH, ZH, YSSX) values "+ strsql);
 			}
-			sm.executeUpdate("DELETE Y FROM  yhjbxx Y WHERE EXISTS ( SELECT * FROM `bus_org` bo JOIN `bus_customer_meter` bcm ON bo.`org_id`=bcm.`org_id` WHERE y.bzmc=bo.`org_name` AND y.yssx=bo.`org_nature` AND y.zbwz=bcm.`address` AND y.khh=bcm.`customer_Number` AND y.hh = bcm.`meter_Number` AND bcm.`year`='"+year+"')");
+			sm.executeUpdate("DELETE Y FROM  yhjbxx Y WHERE EXISTS ( SELECT * FROM `bus_org` bo JOIN `bus_customer_meter` bcm ON bo.`org_id`=bcm.`org_id` WHERE y.bzmc=bo.`org_name` AND y.yssx=(select base_org_type.org_name from base_org_type where base_org_type.`org_type_id` = bo.`org_type_id`) AND y.zbwz=bcm.`address` AND y.khh=bcm.`customer_Number` AND y.hh = bcm.`meter_Number` AND bcm.`year`='"+year+"')");
 			sm.close();
 			stmt.close();
 			mysqlconn.close();