diff --git a/WebContent/Tenwa/Core/OfficeTemplate/TemplateManager/BFTemplate/BFTemplateList.jsp b/WebContent/Tenwa/Core/OfficeTemplate/TemplateManager/BFTemplate/BFTemplateList.jsp index 244a758de..7aec475fb 100644 --- a/WebContent/Tenwa/Core/OfficeTemplate/TemplateManager/BFTemplate/BFTemplateList.jsp +++ b/WebContent/Tenwa/Core/OfficeTemplate/TemplateManager/BFTemplate/BFTemplateList.jsp @@ -201,7 +201,6 @@ function testTemplateLable(){ window.frames["AttachmentList"].viewFile(); } function importConfigure(){ - alert(11); var sPara = getItemValue(0,getRow(0),'id'); if(typeof(sPara)=="undefined" || sPara.length==0 ){ alert("²ÎÊý²»ÄÜΪ¿Õ£¡"); diff --git a/WebContent/WEB-INF/etc/jbo/jbo_lease.xml b/WebContent/WEB-INF/etc/jbo/jbo_lease.xml index 95f328687..045a4ec33 100644 --- a/WebContent/WEB-INF/etc/jbo/jbo_lease.xml +++ b/WebContent/WEB-INF/etc/jbo/jbo_lease.xml @@ -4180,7 +4180,7 @@ - + diff --git a/WebContent/WEB-INF/etc/jbo/jbo_voucher.xml b/WebContent/WEB-INF/etc/jbo/jbo_voucher.xml index 31b4f1dc0..a9a0949a7 100644 --- a/WebContent/WEB-INF/etc/jbo/jbo_voucher.xml +++ b/WebContent/WEB-INF/etc/jbo/jbo_voucher.xml @@ -228,7 +228,7 @@ - + diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherForInterestSubsidyImport.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherForInterestSubsidyImport.java index 89913fe95..1694fb7dc 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherForInterestSubsidyImport.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherForInterestSubsidyImport.java @@ -54,14 +54,13 @@ public class CreateVoucherForInterestSubsidyImport { String DISTRIBUTOR_NAME=null; String CUSTID=null; String CUSTNAME=null; - String SUBJECTCODE=null; - String ACC_NUMBER=null; + String EBANK_SN=null; String TAX_NUM=null; String voucherNo = "PZ2018072100000028"; Map param = new HashMap(); // »ñȡе¼ÈëµÄÌùÏ¢Êý¾Ý - String sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'×âÏ¢',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LD.DISCOUNT_MONEY, 0) AS MONEY,IFNULL(ROUND(LD.DISCOUNT_MONEY/getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LD.DISCOUNT_MONEY- ROUND(LD.DISCOUNT_MONEY/getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LD.RECEIVED_DATE, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,LD.BANK_SUBJECT AS SUBJECTCODE,LD.ACC_NUMBER FROM LB_DISCOUNT LD LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.FRAME_NUMBER=LD.FRAME_NUMBER LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LEC.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LCCT.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE IS_VOUCHER IS NULL AND lul.IS_MAIN='Y' "; + String sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'×âÏ¢',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,LE.EBANK_SN,IFNULL(LD.DISCOUNT_MONEY, 0) AS MONEY,IFNULL(ROUND(LD.DISCOUNT_MONEY / getTax (LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LD.DISCOUNT_MONEY - ROUND(LD.DISCOUNT_MONEY / getTax (LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME FROM LB_DISCOUNT LD LEFT JOIN LC_EBANK LE ON LE.EBANK_SN=LD.EBAND_NO LEFT JOIN LB_CONTRACT_INFO LCI ON LD.CONTRACT_NO=LCI.CONTRACT_NUMBER LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE IS_VOUCHER IS NULL AND LUL.IS_MAIN='Y' "; // ²éѯsql, ½«½á¹û¼¯·â×°µ½list¼¯ºÏÖÐ List> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql, null); CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl(); @@ -84,8 +83,7 @@ public class CreateVoucherForInterestSubsidyImport { DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME"); CUSTID=dataList.get(i).get("CUSTOMERID"); CUSTNAME=dataList.get(i).get("CUSTOMERNAME"); - SUBJECTCODE=dataList.get(i).get("SUBJECTCODE"); - ACC_NUMBER=dataList.get(i).get("ACC_NUMBER"); + EBANK_SN=dataList.get(i).get("EBANK_SN"); TAX_NUM=dataList.get(i).get("TAX_NUM"); // ͨ¹ý˰ÂÊ»ñÈ¡±àÂë BizObject TAX_CODES=null; @@ -106,14 +104,12 @@ public class CreateVoucherForInterestSubsidyImport { param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME); param.put("CUSTID",CUSTID); param.put("CUSTNAME",CUSTNAME); - param.put("SUBJECTCODE",SUBJECTCODE); - param.put("ACC_NUMBER",ACC_NUMBER); + param.put("EBANK_SN",EBANK_SN); param.put("VOUCHERNO",voucherNo); if(TAX_CODES!=null) { param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString()); } - - param.put("CASHFLOW", "11213");// ÏÖ½ðÁ÷ÏîÄ¿ + param.put("CASHFLOW", "");// ÏÖ½ðÁ÷ÏîÄ¿ Map map = new HashMap(); map.put("PROJ_TYPE", "02"); @@ -122,8 +118,11 @@ public class CreateVoucherForInterestSubsidyImport { if (vouch != null) { vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(),vouch.getAttribute("OWNED_COMPANY").getString(), "02", VOUCHER_TYPE, userid, param, Sqlca); } - String updSql="UPDATE LB_DISCOUNT SET IS_VOUCHER='1'"; - Sqlca.executeSQL(updSql); + String updSql1="UPDATE LB_DISCOUNT SET IS_VOUCHER='1' WHERE CONTRACT_NO='"+CONTRACT_NUMBER+"'"; + Sqlca.executeSQL(updSql1); + + String updSql2="UPDATE LC_EBANK SET MAYOPE_MONEY=(MAYOPE_MONEY-"+MONEY+"),HAD_MONEY=(HAD_MONEY+"+MONEY+") WHERE EBANK_SN='"+EBANK_SN+"'"; + Sqlca.executeSQL(updSql2); } Sqlca.commit(); } @@ -152,7 +151,7 @@ public class CreateVoucherForInterestSubsidyImport { String voucherNo = "PZ2018072100000041"; Map param = new HashMap(); // »ñȡе¼ÈëµÄÌùÏ¢Êý¾Ý - String sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'×âÏ¢',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,-IFNULL(LD.DISCOUNT_MONEY, 0) AS MONEY,-IFNULL(ROUND(LD.DISCOUNT_MONEY / getTax (LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2),0) AS MONEYNOTAX,-IFNULL((LD.DISCOUNT_MONEY - ROUND(LD.DISCOUNT_MONEY / getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,LD.BANK_SUBJECT AS SUBJECTCODE,LD.ACC_NUMBER FROM LB_DISCOUNT LD LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.FRAME_NUMBER = LD.FRAME_NUMBER LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LEC.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LCCT.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE lul.IS_MAIN='Y' AND LD.ID=:ID"; + String sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'×âÏ¢',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,- IFNULL(LD.DISCOUNT_MONEY, 0) AS MONEY,- IFNULL(ROUND(LD.DISCOUNT_MONEY / getTax (LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2),0) AS MONEYNOTAX,- IFNULL((LD.DISCOUNT_MONEY - ROUND(LD.DISCOUNT_MONEY / getTax (LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME FROM LB_DISCOUNT LD LEFT JOIN LC_EBANK LE ON LE.EBANK_SN=LD.EBAND_NO LEFT JOIN LB_CONTRACT_INFO LCI ON LD.CONTRACT_NO=LCI.CONTRACT_NUMBER LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE lul.is_main='Y' AND LD.ID = :ID "; // ²éѯsql, ½«½á¹û¼¯·â×°µ½list¼¯ºÏÖÐ Mapmap1 = new HashMap(); map1.put("ID",id); @@ -178,8 +177,6 @@ public class CreateVoucherForInterestSubsidyImport { DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME"); CUSTID=dataList.get(i).get("CUSTOMERID"); CUSTNAME=dataList.get(i).get("CUSTOMERNAME"); - SUBJECTCODE=dataList.get(i).get("SUBJECTCODE"); - ACC_NUMBER=dataList.get(i).get("ACC_NUMBER"); TAX_NUM=dataList.get(i).get("TAX_NUM"); // ͨ¹ý˰ÂÊ»ñÈ¡±àÂë BizObject TAX_CODES=null; @@ -200,13 +197,11 @@ public class CreateVoucherForInterestSubsidyImport { param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME); param.put("CUSTID",CUSTID); param.put("CUSTNAME",CUSTNAME); - param.put("SUBJECTCODE",SUBJECTCODE); - param.put("ACC_NUMBER",ACC_NUMBER); param.put("VOUCHERNO",voucherNo); if(TAX_CODES!=null) { param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString()); } - param.put("CASHFLOW", "11213");// ÏÖ½ðÁ÷ÏîÄ¿ + param.put("CASHFLOW", "");// ÏÖ½ðÁ÷ÏîÄ¿ Map map = new HashMap(); map.put("PROJ_TYPE", "02"); diff --git a/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java b/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java index 40e4ef709..0c0ede951 100644 --- a/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java +++ b/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java @@ -253,12 +253,12 @@ public class CreateVoucherServiceImpl { /** * ÌùÏ¢¸ù¾Ýµ¼ÈëµÄ¿ÆÄ¿±àÂë»ñÈ¡¿ÆÄ¿ÐÅÏ¢, ÆäËûµÄÕý³£ */ - if("PZ2018072100000028".equals(VOUCHERNO) || "PZ2018072100000041".equals(VOUCHERNO)) { + /*if("PZ2018072100000028".equals(VOUCHERNO) || "PZ2018072100000041".equals(VOUCHERNO)) { if("1".equals(SORT_NUMBER)) { String SUBJECTCODE = param.get("SUBJECTCODE"); sub=JBOFactory.createBizObjectQuery(LV_STACTS_CONFIG.CLASS_NAME,"SUBJECTS_CODE=:SUBJECTS_CODE").setParameter("SUBJECTS_CODE", SUBJECTCODE).getSingleResult(false); } - } + }*/ /** * ÍøÒø´æ¿îתԤÊÕÒøÐпÆÄ¿ */ diff --git a/src_tenwa/com/tenwa/apzl/discount/DiscountCallBack.java b/src_tenwa/com/tenwa/apzl/discount/DiscountCallBack.java index a2c807a07..2bf0f8bc5 100644 --- a/src_tenwa/com/tenwa/apzl/discount/DiscountCallBack.java +++ b/src_tenwa/com/tenwa/apzl/discount/DiscountCallBack.java @@ -1,10 +1,15 @@ package com.tenwa.apzl.discount; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; +import java.util.List; import java.util.Map; +import jbo.app.tenwa.calc.LC_EBANK; import jbo.com.tenwa.lease.comm.LB_CONTRACT_INFO; +import jbo.voucher.LB_DISCOUNT; import com.amarsoft.are.jbo.BizObject; import com.amarsoft.are.jbo.JBOFactory; @@ -17,21 +22,132 @@ import com.tenwa.officetempalte.importcallback.impl.BaseImportExcelCallBack; public class DiscountCallBack extends BaseImportExcelCallBack{ @Override - public void run(ASUser CurUser, BizObject importObject, - Map model, Integer rowIndex, JBOTransaction tx, - Transaction Sqlca) throws Exception { + public void run(ASUser CurUser, BizObject importObject,Map model, Integer rowIndex, JBOTransaction tx,Transaction Sqlca) throws Exception { + // ÉèÖÃĬÈϵ¼ÈëÈÕÆÚ SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//ÉèÖÃÈÕÆÚ¸ñʽ importObject.setAttributeValue("INPUTTIME",df.format(new Date())); - /*String contractNo = importObject.getAttribute("CONTRACT_NO").getString(); - BizObject contractInfo = JBOFactory.createBizObjectQuery(LB_CONTRACT_INFO.CLASS_NAME, "select * from O where contract_no=:contractNo").setParameter(contractNo, contractNo).getSingleResult(false); - if(null!=contractInfo){ - SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//ÉèÖÃÈÕÆÚ¸ñʽ - importObject.setAttributeValue("INPUTTIME",df.format(new Date())); - }else{ - throw new BusinessException("¸ÃºÏͬ±àºÅ²»´æÔÚ"); - }*/ - - } + /** + * ÌùÏ¢µ¼ÈëУÑé + */ + @Override + public void runBefore(ASUser CurUser, Map model, List importObjects, JBOTransaction tx,Transaction Sqlca) throws Exception { + // ´íÎóÃèÊö + String error=""; + // ÓÃÓÚÅжÏÊÇ·ñ´í + boolean flag = false; + + /** + * »ñÈ¡ÍøÒøÐÅÏ¢, ²¢½«ÍøÒø±àºÅ¼°¿ÉºËÏú½ð¶î´æÈëmap¼¯ºÏ + */ + // ´æ´¢ÍøÒø¿ÉºËÏú½ð¶î + Map Ebank_Map =new HashMap(); + List list=JBOFactory.createBizObjectQuery(LC_EBANK.CLASS_NAME,null).getResultList(false); + for(int i=0;i map= new HashMap(); + // ´æ·Å±¾´Îµ¼ÈëÎ¨Ò»ÍøÒøÁ÷Ë®ºÅ + List DisCountEbandList = new ArrayList(); + for(BizObject bo:importObjects){ + // »ñÈ¡±¾´Îµ¼ÈëµÄÍøÒø±àºÅ + String ebankSn = bo.getAttribute("EBAND_NO").getString(); + // ûÓÐÐÂÐÂÔö, ÓоͰÑÌùÏ¢½ð¶îÏà¼Ó, ûÓоÍÖ±½Ó´æ + double DISCOUNT_MONEY=Double.parseDouble(bo.getAttribute("DISCOUNT_MONEY").getString()); + if(!DisCountEbandList.contains(ebankSn)) { + DisCountEbandList.add(ebankSn); + map.put(ebankSn, DISCOUNT_MONEY); + }else { + Double old_money = map.get(ebankSn); + map.put(ebankSn, old_money+=DISCOUNT_MONEY); + } + } + // ÅжÏÍøÒø½ð¶îÊÇ·ñ´óÓÚµÈÓÚÌùÏ¢½ð¶î + for(String ss : DisCountEbandList) { + double Ebank_money = Ebank_Map.get(ss); + double DISCOUNT_MONEY =map.get(ss); + if(DISCOUNT_MONEY>Ebank_money) { + error+=",¡¾"+ss+"¡¿"; + flag=true; + } + } + if(flag) { + error = error.substring(1); + throw new BusinessException("ÍøÒø:"+error+"¿ÉºËÏú½ð¶îСÓÚÌùÏ¢½ð¶î £¡"); + } + + + /** + * ½«ÒµÎñºÏͬºÅÔö¼Óµ½¼¯ºÏÖÐ + */ + // ÓÃÓÚУÑéºÏͬºÅÊÇ·ñ´æÔÚ + List contractNo = new ArrayList(); + // ¾­ËùÓÐÒµÎñºÏͬºÅ´æÈ뼯ºÏ + List ConList=JBOFactory.createBizObjectQuery(LB_CONTRACT_INFO.CLASS_NAME,null).getResultList(false); + for(int i=0;i DcontractNo = new ArrayList(); + ListDiscountList=JBOFactory.createBizObjectQuery(LB_DISCOUNT.CLASS_NAME,null).getResultList(false); + // ½«ÌùÏ¢ÒÑÓеĺÏͬºÅ´æÈ뼯ºÏ + for(int i=0;i