更新合并后的订单汇总信息

来源:互联网 发布:华润置地 知乎 面试 编辑:程序博客网 时间:2024/05/18 01:40
var orderMtList =" update ecordermt set "
orderMtList+= " taxamount = ("
orderMtList+= " select sum(b.taxamount) from ecordermt b "
orderMtList+= " where b.billno in("+strList+"))"
orderMtList+= " ,freight = ("
orderMtList+= " select sum(b.freight) from ecordermt b "
orderMtList+= " where b.billno in("+strList+"))"
orderMtList+= " ,reccount = ("
orderMtList+= " select sum(b.reccount) from ecordermt b "
orderMtList+= " where b.billno in("+strList+"))"
orderMtList+= " ,addpoint = ("
orderMtList+= " select sum(b.addpoint) from ecordermt b "
orderMtList+= " where b.billno in("+strList+"))"
orderMtList+= " ,downpayment = ("
orderMtList+= " select sum(b.downpayment) from ecordermt b "
orderMtList+= " where b.billno in("+strList+"))"
orderMtList+= " ,paidamount=("
orderMtList+= " select sum(b.paidamount) from ecordermt b "
orderMtList+= " where b.billno in("+strList+"))"
orderMtList+= " ,tradingcost = ("
orderMtList+= " select sum(b.tradingcost) from ecordermt b"
orderMtList+= " where b.billno in("+strList+"))"


if(dbtype.equals("Oracle")) {
orderMtList+=  ",OrderTip = (case when OrderTip = '' or OrderTip is null then CONCAT(OrderTip,'合')  else CONCAT(OrderTip,',合')  end) "
orderMtList+= " ,OrderMsg = ("
orderMtList+= " select x.OrderMsg from("
  orderMtList+=  " select row_number()over(order by sk desc) sk,OrderMsg from"
  orderMtList+=  " ("
orderMtList+=  "  select level sk"
   orderMtList+=  " ,substr(replace(sys_connect_by_path(OrderMsg,','),',',','),2) OrderMsg"
        orderMtList+=  " from"
    orderMtList+=  " ("
      orderMtList+=  " select OrderMsg,row_number()over(order by billno desc) sk"
      orderMtList+=  " from ecordermt where billno in("+strList+") and (OrderMsg is not null or OrderMsg <> '')"
    orderMtList+=  " )"
    orderMtList+=  " connect by prior sk = sk - 1"
  orderMtList+=  " )"
orderMtList+=  " ) x where sk = 1"
orderMtList+=  " )"
}
if(dbtype.equals("Microsoft SQL Server")) {
orderMtList+=  " ,OrderTip =(isnull(OrderTip,'')+(case when OrderTip = '' or OrderTip is null then '' else ',' end ) +'合') "
orderMtList+=  " ,OrderMsg = ("
orderMtList+=  " select [val] = stuff(("
orderMtList+=  " select select case when OrderMsg is null or OrderMsg ='' then '' else ',' end +[OrderMsg] from ecordermt"
orderMtList+=  " where billno in("+strList+")"
orderMtList+=  " for xml path('')),1,1,'')"
orderMtList+=  " )"
}
orderMtList+= " where billno = "+billno;
DBUtil.batchUpdate(orderMtList);
0 0
原创粉丝点击