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);
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);