|
@@ -41,6 +41,7 @@ public class AutoSynVoucher extends AbstractTask {
|
|
|
String SELECTFIELDS = "billno,period,org,createtime,auditdate,bookeddate," +
|
|
|
"entries,entries.account,entries.creditori,entries.debitori,entries.creditlocal,entries.debitlocal,entries.entrydc,entries.edescription,entries.currency";
|
|
|
|
|
|
+ Date beginDate = null;
|
|
|
@Override
|
|
|
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
|
|
|
Connection conn = null;
|
|
@@ -66,6 +67,7 @@ public class AutoSynVoucher extends AbstractTask {
|
|
|
}
|
|
|
|
|
|
//查找待同步数据执行插入数据
|
|
|
+ beginDate = getBeginDate();
|
|
|
log.info("[凭证反同步用友]同步数据执行插入开始");
|
|
|
pstmt1 = conn.prepareStatement("INSERT INTO jf_voucher (" + DB_VOUCHER_FIELDS + ") VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
|
|
|
doExecuteNewData(conn,pstmt1,orgMap_numbber,orgMap_name);
|
|
@@ -73,7 +75,10 @@ public class AutoSynVoucher extends AbstractTask {
|
|
|
|
|
|
//清空汇总中间表
|
|
|
pstmt2 = conn.createStatement();
|
|
|
- String deleteSql = "DELETE FROM jf_balance";
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ String yearv = sdf.format(beginDate).substring(0,4);
|
|
|
+ int periodv = Integer.valueOf(sdf.format(beginDate).substring(5,7));
|
|
|
+ String deleteSql = "DELETE FROM jf_balance WHERE yearv='"+yearv+"' AND periodv='"+periodv+"'";
|
|
|
int affectedRows = pstmt2.executeUpdate(deleteSql);
|
|
|
log.info("[凭证反同步用友]删除中间表记录数:"+affectedRows);
|
|
|
conn.commit();
|
|
@@ -149,6 +154,7 @@ public class AutoSynVoucher extends AbstractTask {
|
|
|
* 获取凭证汇总数据集
|
|
|
*/
|
|
|
private JSONArray getVoucherTotalDatas(Map orgMapNumbber, Map orgMapName) {
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
String sql = "SELECT TEMP.orgid,TEMP.yearv,TEMP.periodv,TEMP.subjcd,TEMP.subjnm,TEMP.currentid,TEMP.entrydc," +
|
|
|
"SUM(TEMP.creditamount) creditamount_total,SUM(TEMP.debitamount) debitamount_total," +
|
|
|
"SUM(TEMP.localcreditamount) localcreditamount_total,SUM(TEMP.localdebitamount) localdebitamount_total " +
|
|
@@ -163,6 +169,7 @@ public class AutoSynVoucher extends AbstractTask {
|
|
|
"LEFT JOIN T_BD_Account ACC ON VOUE.faccountid = ACC.FID " +
|
|
|
"WHERE VOU.fispost='1' " +
|
|
|
"AND VOU.fk_nckd_issynyy='1' " +
|
|
|
+ "AND VOU.Fbookeddate>='"+sdf.format(beginDate)+"'"+
|
|
|
") TEMP " +
|
|
|
"GROUP BY TEMP.orgid,TEMP.yearv,TEMP.periodv,TEMP.subjcd,TEMP.subjnm,TEMP.currentid,TEMP.entrydc";
|
|
|
DataSet ds = DB.queryDataSet(this.getClass().getName(), new DBRoute("fi"), sql, null);
|
|
@@ -385,7 +392,6 @@ public class AutoSynVoucher extends AbstractTask {
|
|
|
}
|
|
|
|
|
|
private DynamicObject[] getVoucherDatas() {
|
|
|
- Date beginDate = getBeginDate();
|
|
|
QFilter qFilter_beginDate = new QFilter("bookeddate",QCP.large_equals,beginDate);
|
|
|
QFilter qFilter_ispost = new QFilter("ispost", QCP.equals,"1");
|
|
|
QFilter qFilter_issynyy = new QFilter("nckd_issynyy", QCP.equals,"0");
|