diff --git a/uapbd/src/private/nc/bs/uapbd/bip/workplugin/ErpSaleOrderToBIPBackgroupWorkPlugin.java b/uapbd/src/private/nc/bs/uapbd/bip/workplugin/ErpSaleOrderToBIPBackgroupWorkPlugin.java index a0ff6c2..4c612bb 100644 --- a/uapbd/src/private/nc/bs/uapbd/bip/workplugin/ErpSaleOrderToBIPBackgroupWorkPlugin.java +++ b/uapbd/src/private/nc/bs/uapbd/bip/workplugin/ErpSaleOrderToBIPBackgroupWorkPlugin.java @@ -142,17 +142,31 @@ public class ErpSaleOrderToBIPBackgroupWorkPlugin implements IBackgroundWorkPlug } for (Map map : l_pk) { - + //用标志位flag判断来源(1:销售发票,2:出库单) + String flag = map.get("flag"); StringBuffer sb = new StringBuffer(); - 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(" where so_saleorder_exe.csaleorderbid=so_saleinvoice_b.csrcbid "); - sb.append(" and so_saleinvoice.csaleinvoiceid=so_saleinvoice_b.csaleinvoiceid and so_saleinvoice.fstatusflag=2 "); - 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("'"); + 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(" 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(" and so_saleinvoice.csaleinvoiceid=so_saleinvoice_b.csaleinvoiceid and so_saleinvoice.fstatusflag=2 "); + 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("'"); + } + List> ll_saleorder = (List>) new BaseDAO().executeQuery(sb.toString(), new MapListProcessor()); if (ll_saleorder.isEmpty()) { @@ -191,8 +205,7 @@ public class ErpSaleOrderToBIPBackgroupWorkPlugin implements IBackgroundWorkPlug String resultString = doSendHttp(custUpdateUrl, "POST", tokenParam, "", headers, js_apct_detail.toJSONString()); Map updateMap = gson.fromJson(resultString, Map.class); String updateSql = ""; - //用标志位flag判断来源(1:销售发票,2:出库单) - String flag = map.get("flag"); + 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") + "'";