定时任务-回写BIP销售订单调整

This commit is contained in:
mzr 2025-03-31 18:45:25 +08:00
parent 91e8981758
commit 2e4038ed84
1 changed files with 39 additions and 3 deletions

View File

@ -125,7 +125,22 @@ public class ErpSaleOrderToBIPBackgroupWorkPlugin implements IBackgroundWorkPlug
// 获取未推送合同销售订单更新的销售发票信息 // 获取未推送合同销售订单更新的销售发票信息
String sql = " select so_saleinvoice_b.cfirstbid,csaleinvoicebid from so_saleinvoice,so_saleinvoice_b where so_saleinvoice.csaleinvoiceid=so_saleinvoice_b.csaleinvoiceid and so_saleinvoice.fstatusflag=2 and nvl(so_saleinvoice_b.vbdef10,'N') in ('~','N') and nvl(so_saleinvoice.vdef13,'~') not in ('~') "; String sql = " select '1' as flag,so_saleinvoice_b.cfirstbid,csaleinvoicebid " +
"from so_saleinvoice,so_saleinvoice_b " +
"where so_saleinvoice.csaleinvoiceid=so_saleinvoice_b.csaleinvoiceid " +
"and so_saleinvoice.fstatusflag=2 " +
"and nvl(so_saleinvoice_b.vbdef10,'N') in ('~','N') " +
"and nvl(so_saleinvoice.vdef13,'~') not in ('~') " +
"union all " +
"select " +
"'2' as flag, " +
"ic_saleout_b.cfirstbillbid as cfirstbid, " +
"ic_saleout_b.cgeneralbid as csaleinvoicebid " +
"from ic_saleout_h, " +
"ic_saleout_b " +
"where ic_saleout_h.cgeneralhid = ic_saleout_b.cgeneralhid " +
"and nvl(ic_saleout_b.vbdef4,'N') in ('~','N') " +
"and ic_saleout_b.cfirsttype = '30'";
List<Map<String, String>> l_pk = (List<Map<String, String>>) new BaseDAO().executeQuery(sql.toString(), new MapListProcessor()); List<Map<String, String>> l_pk = (List<Map<String, String>>) new BaseDAO().executeQuery(sql.toString(), new MapListProcessor());
if (l_pk.isEmpty()) { if (l_pk.isEmpty()) {
@ -133,9 +148,20 @@ public class ErpSaleOrderToBIPBackgroupWorkPlugin implements IBackgroundWorkPlug
} }
for (Map<String, String> map : l_pk) { for (Map<String, String> map : l_pk) {
//用标志位flag判断来源1销售发票2出库单
String flag = map.get("flag");
StringBuffer sb = new StringBuffer(); StringBuffer sb = new StringBuffer();
if("2".equals(flag)){
sb.append(" select ic_saleout_b.cgeneralbid as csaleinvoicebid,so_saleorder.vdef9,so_saleorder_b.vbdef11,so_saleorder_exe.ntotalarmny as totalaccrued ,so_saleorder_exe.ntotalinvoicenum as billqty, NVL(so_saleorder_exe.ntotaloutnum, 0) as totaloutqty ");
sb.append(" from so_saleorder_exe,ic_saleout_b,ic_saleout_h,so_saleorder_b,so_saleorder ");
sb.append(" where so_saleorder_exe.csaleorderbid=ic_saleout_b.cfirstbillbid ");
sb.append(" and ic_saleout_h.cgeneralhid = ic_saleout_b.cgeneralhid ");
sb.append(" and so_saleorder_exe.csaleorderbid=so_saleorder_b.csaleorderbid ");
sb.append(" and so_saleorder.csaleorderid=so_saleorder_b.csaleorderid ");
sb.append(" and so_saleorder_exe.dr=0 and so_saleorder.dr=0 and so_saleorder_b.dr=0 ");
sb.append(" and nvl(so_saleorder.vdef9,'~') not in ('~') ");
sb.append(" and so_saleorder_exe.csaleorderbid='").append(map.get("cfirstbid")).append("'");
}else{
sb.append(" select so_saleinvoice_b.csaleinvoicebid,so_saleorder.vdef9,so_saleorder_b.vbdef11,so_saleorder_exe.ntotalarmny as totalaccrued ,so_saleorder_exe.ntotalinvoicenum as billqty, NVL(so_saleorder_exe.ntotaloutnum, 0) as totaloutqty "); sb.append(" select so_saleinvoice_b.csaleinvoicebid,so_saleorder.vdef9,so_saleorder_b.vbdef11,so_saleorder_exe.ntotalarmny as totalaccrued ,so_saleorder_exe.ntotalinvoicenum as billqty, NVL(so_saleorder_exe.ntotaloutnum, 0) as totaloutqty ");
sb.append(" from so_saleorder_exe,so_saleinvoice_b,so_saleinvoice,so_saleorder_b,so_saleorder "); sb.append(" from so_saleorder_exe,so_saleinvoice_b,so_saleinvoice,so_saleorder_b,so_saleorder ");
sb.append(" where so_saleorder_exe.csaleorderbid=so_saleinvoice_b.csrcbid "); sb.append(" where so_saleorder_exe.csaleorderbid=so_saleinvoice_b.csrcbid ");
@ -145,6 +171,8 @@ public class ErpSaleOrderToBIPBackgroupWorkPlugin implements IBackgroundWorkPlug
sb.append(" and so_saleorder_exe.dr=0 and so_saleorder.dr=0 and so_saleorder_b.dr=0 "); sb.append(" and so_saleorder_exe.dr=0 and so_saleorder.dr=0 and so_saleorder_b.dr=0 ");
sb.append(" and nvl(so_saleorder.vdef9,'~') not in ('~') "); sb.append(" and nvl(so_saleorder.vdef9,'~') not in ('~') ");
sb.append(" and so_saleorder_exe.csaleorderbid='").append(map.get("cfirstbid")).append("'"); sb.append(" and so_saleorder_exe.csaleorderbid='").append(map.get("cfirstbid")).append("'");
}
List<Map<String, String>> ll_saleorder = (List<Map<String, String>>) new BaseDAO().executeQuery(sb.toString(), new MapListProcessor()); List<Map<String, String>> ll_saleorder = (List<Map<String, String>>) new BaseDAO().executeQuery(sb.toString(), new MapListProcessor());
if (ll_saleorder.isEmpty()) { if (ll_saleorder.isEmpty()) {
@ -184,9 +212,17 @@ public class ErpSaleOrderToBIPBackgroupWorkPlugin implements IBackgroundWorkPlug
Map updateMap = gson.fromJson(resultString, Map.class); Map updateMap = gson.fromJson(resultString, Map.class);
String updateSql = ""; String updateSql = "";
if (StringUtils.equals("200", updateMap.get("code").toString())) {// 保存更新成功后需要更新日志表 if (StringUtils.equals("200", updateMap.get("code").toString())) {// 保存更新成功后需要更新日志表
if("1".equals(flag)){
updateSql = "update so_saleinvoice_b set vbdef10='Y' where csaleinvoiceid='" + map.get("csaleinvoicebid") + "'"; updateSql = "update so_saleinvoice_b set vbdef10='Y' where csaleinvoiceid='" + map.get("csaleinvoicebid") + "'";
} else { } else {
updateSql = "update ic_saleout_b set vbdef4='Y' where cgeneralbid='" + map.get("csaleinvoicebid") + "'";
}
} else {
if("1".equals(flag)) {
updateSql = "update so_saleinvoice_b set vbdef10='N' where csaleinvoiceid='" + map.get("csaleinvoicebid") + "'"; updateSql = "update so_saleinvoice_b set vbdef10='N' where csaleinvoiceid='" + map.get("csaleinvoicebid") + "'";
}else{
updateSql = "update ic_saleout_b set vbdef4='N' where cgeneralbid='" + map.get("csaleinvoicebid") + "'";
}
} }
getSuperDMO().executeUpdateSQL(updateSql); getSuperDMO().executeUpdateSQL(updateSql);