diff --git a/WebContent/WEB-INF/etc/jbo/jbo_calc.xml b/WebContent/WEB-INF/etc/jbo/jbo_calc.xml
index 14e1f8e83..a9b388627 100644
--- a/WebContent/WEB-INF/etc/jbo/jbo_calc.xml
+++ b/WebContent/WEB-INF/etc/jbo/jbo_calc.xml
@@ -1967,6 +1967,7 @@
+
diff --git a/src_jbo/jbo/app/tenwa/calc/VI_LC_RENT_PLAN.java b/src_jbo/jbo/app/tenwa/calc/VI_LC_RENT_PLAN.java
index a07dc40d2..8ecedbae2 100644
--- a/src_jbo/jbo/app/tenwa/calc/VI_LC_RENT_PLAN.java
+++ b/src_jbo/jbo/app/tenwa/calc/VI_LC_RENT_PLAN.java
@@ -125,4 +125,9 @@ public interface VI_LC_RENT_PLAN{
* ״̬ STRING(20)
*/
public static final String planstatus = "planstatus";
+
+ /**
+ * Ŀid STRING(20)
+ */
+ public static final String project_id = "project_id";
}
\ No newline at end of file
diff --git a/src_tenwa/com/tenwa/lease/app/quartzmession/MarginDeduction.java b/src_tenwa/com/tenwa/lease/app/quartzmession/MarginDeduction.java
index 025377ee9..d81751f19 100644
--- a/src_tenwa/com/tenwa/lease/app/quartzmession/MarginDeduction.java
+++ b/src_tenwa/com/tenwa/lease/app/quartzmession/MarginDeduction.java
@@ -4,8 +4,11 @@ import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
+import java.util.Map;
import java.util.UUID;
+import com.base.util.DateUtil;
+import com.tenwa.comm.util.jboutil.DataOperatorUtil;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
@@ -30,98 +33,123 @@ public class MarginDeduction implements Job{
try {
tx = JBOFactory.createJBOTransaction();
Sqlca = Transaction.createTransaction(tx);
+ BizObjectManager lrpBm = JBOFactory.getBizObjectManager("jbo.app.tenwa.calc.LC_RENT_PLAN",Sqlca);
BizObjectManager lriBm = JBOFactory.getBizObjectManager("jbo.app.tenwa.calc.LC_RENT_INCOME",Sqlca);
BizObjectManager lfiBm = JBOFactory.getBizObjectManager("jbo.app.tenwa.calc.LC_FUND_INCOME",Sqlca);
BizObjectManager lfpBm = JBOFactory.getBizObjectManager("jbo.app.tenwa.calc.LC_FUND_PLAN",Sqlca);
BizObjectManager vlrpBm = JBOFactory.getBizObjectManager("jbo.app.tenwa.calc.VI_LC_RENT_PLAN",Sqlca);
- List vlrpBoList = vlrpBm.createQuery("(rent_over>0 OR penalty_over>0) AND plan_date=v.DATE_FORMAT(v.NOW(),'%Y/%m/%d') and not exists (select 1 from jbo.com.tenwa.lease.comm.LC_OCCUPY_RENT_LIST lorl where lorl.PAYMENT_NUMBER=O.PAYMENT_NUMBER and lorl.PLAN_LIST=O.PLAN_LIST)").getResultList(false);
- if(vlrpBoList.size()>0) {
- for (BizObject vlrpBo : vlrpBoList) {
- StringBuffer str = new StringBuffer("select lfp.PLAN_MONEY-ifnull(lfit.fact_money,'0')-IfNULL(lfi.fact_money,'0') as fact_money from lc_fund_plan lfp ");
- str.append("left join (select sum(fact_money) fact_money,PAYMENT_NUMBER from lc_fund_income_temp where FEE_TYPE='feetype16' and PAYMENT_NUMBER='"+vlrpBo.getAttribute("PAYMENT_NUMBER")+"' and is_flowing='0' and ROLL_BACK='0') lfit on lfp.PAYMENT_NUMBER=lfit.PAYMENT_NUMBER ");
- str.append("LEFT JOIN (SELECT SUM(fact_money) fact_money,PAYMENT_NUMBER FROM lc_fund_income WHERE FEE_TYPE='feetype16' AND PAYMENT_NUMBER='"+vlrpBo.getAttribute("PAYMENT_NUMBER")+"' AND ROLL_BACK='0') lfi on lfp.PAYMENT_NUMBER=lfi.PAYMENT_NUMBER ");
- str.append(" where lfp.FEE_TYPE='feetype16' and lfp.SETTLE_METHOD is not null and lfp.PAYMENT_NUMBER='"+vlrpBo.getAttribute("PAYMENT_NUMBER")+"'");
- String factMoney = Sqlca.getString(str.toString());
- if(factMoney==null) {
- continue;
+ List