shenjingwei 5 дней назад
Родитель
Сommit
b46bd607c3

+ 6 - 12
src/custom/restcontroller/webmanage/sale/stockbill/stockbill.java

@@ -1,11 +1,9 @@
 package restcontroller.webmanage.sale.stockbill;
 
-import beans.accountbalance.Accountbalance;
 import beans.accountbalance.CashbillEntity;
 import beans.data.BatchDeleteErr;
 import beans.datacontrllog.DataContrlLog;
 import beans.itemprice.ItemPrice;
-import beans.parameter.Parameter;
 import beans.report.Report;
 import beans.stockbill.Stockbill;
 import com.alibaba.fastjson2.JSONArray;
@@ -15,7 +13,6 @@ import common.YosException;
 import common.annotation.API;
 import common.annotation.CACHEING;
 import common.annotation.CACHEING_CLEAN;
-import common.crm.bean.warrantycard;
 import common.data.*;
 import org.apache.commons.lang.StringUtils;
 import org.apache.poi.ss.usermodel.CellStyle;
@@ -26,8 +23,6 @@ import restcontroller.webmanage.sale.order.Order;
 import restcontroller.webmanage.sale.order.OrderItems;
 import restcontroller.webmanage.sale.sendrepair.sendrepair;
 import restcontroller.webmanage.sale.sendrepair.sendrepair_pj;
-import restcontroller.webmanage.sale.serviceorder.serviceorder;
-import restcontroller.webmanage.sale.workorder.workorder;
 
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
@@ -59,8 +54,8 @@ public class stockbill extends Controller {
 
         Rows orderRows = dbConnect.runSqlQuery("select distinct sa_orderid from st_stockbill_items where st_stockbillid ='"
                 + st_stockbillid + "' and  siteid='" + siteid + "'");
-        for(Row row :orderRows){
-            sqllist.add("update sa_order set abstract='"+abstract1+"' where sa_orderid="+row.getLong("sa_orderid"));
+        for (Row row : orderRows) {
+            sqllist.add("update sa_order set abstract='" + abstract1 + "' where sa_orderid=" + row.getLong("sa_orderid"));
         }
         dbConnect.runSqlUpdate(sqllist);
 
@@ -337,7 +332,7 @@ public class stockbill extends Controller {
         }
         row.put("qty", rowsdetail.sum("qty"));
         if (expressformrows.isEmpty()) {
-            row.put("expressform",new Rows());
+            row.put("expressform", new Rows());
             row.put("expressform_mailno", "");
             row.put("expressform_txlogisticid", "");
         } else {
@@ -445,7 +440,6 @@ public class stockbill extends Controller {
         querySQL.setWhere(where);
         querySQL.setCondition("t1.billno", "t1.outplace", "t3.agentnum", " t2.enterprisename", "t6.depname");
         querySQL.setPage(pageSize, pageNumber);
-        System.err.println(querySQL.getSQL());
         Rows rows = querySQL.query();
 
 
@@ -575,7 +569,7 @@ public class stockbill extends Controller {
         return getSucReturnObject().setData(result).toString();
     }
 
-    @API(title = "批量反审核(仅刷数据)", apiversion = R.ID2025121320093303.v1.class,intervaltime = 5000)
+    @API(title = "批量反审核(仅刷数据)", apiversion = R.ID2025121320093303.v1.class, intervaltime = 5000)
     public String uncheck_pl() throws YosException {
         JSONArray st_stockbillids = content.getJSONArray("st_stockbillids");
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "st_stockbill", "billno", "st_stockbillid");
@@ -602,7 +596,7 @@ public class stockbill extends Controller {
     }
 
 
-    @API(title = "反审核", apiversion = R.ID20230719154203.v1.class,intervaltime = 5000)
+    @API(title = "反审核", apiversion = R.ID20230719154203.v1.class, intervaltime = 5000)
     @CACHEING_CLEAN(apiClass = {stockbill.class, stockbillitems.class, Order.class, OrderItems.class, stockbill.class, restcontroller.sale.stockbill.stockbill.class})
     public String uncheck() throws YosException {
         JSONArray st_stockbillids = content.getJSONArray("st_stockbillids");
@@ -1276,7 +1270,7 @@ public class stockbill extends Controller {
                     } else {
                         sqllist.add("update sa_itemsku set stockid=0 where sku='" + FMACHINECODE + "'");
                         if (st_stockbill.getString("type").equals("销售出库")) {
-                            sqllist.add("update sa_itemsku set sys_enterpriseid="+st_stockbill.getLong("sys_enterpriseid")+",sa_agentsid=(select sa_agentsid from sa_agents where sys_enterpriseid=" + st_stockbill.getLong("sys_enterpriseid") + ") where sku='" + FMACHINECODE + "'");
+                            sqllist.add("update sa_itemsku set sys_enterpriseid=" + st_stockbill.getLong("sys_enterpriseid") + ",sa_agentsid=(select sa_agentsid from sa_agents where sys_enterpriseid=" + st_stockbill.getLong("sys_enterpriseid") + ") where sku='" + FMACHINECODE + "'");
                             if (st_stockbill.getBoolean("iswx")) {
                                 sqllist.add("update sa_itemsku set stockid=(select stockid from st_stock where stockno='00') where sku='" + FMACHINECODE + "'");
                             }

+ 87 - 89
src/custom/restcontroller/webmanage/sale/tpartreimbursement/tpartreimbursement.java

@@ -111,18 +111,18 @@ public class tpartreimbursement extends Controller {
         long sa_tpartreimbursementid = content.getLong("sa_tpartreimbursementid");
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursement", "*");
         querySQL.setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.sys_enterpriseid = t2.sys_enterpriseid AND t1.siteid = t2.siteid","enterprisename","abbreviation");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t1.sys_enterpriseid = t3.sys_enterpriseid AND t1.siteid = t3.siteid","agentnum");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.sys_enterpriseid = t2.sys_enterpriseid AND t1.siteid = t2.siteid", "enterprisename", "abbreviation");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t1.sys_enterpriseid = t3.sys_enterpriseid AND t1.siteid = t3.siteid", "agentnum");
         querySQL.setWhere("t1.siteid", siteid);
         querySQL.setWhere("t1.sa_tpartreimbursementid", sa_tpartreimbursementid);
         Rows rows = querySQL.query();
 
-        QuerySQL querySQLdetail = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementid", "sa_tpartreimbursementdetailid","qty","isverified");
+        QuerySQL querySQLdetail = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementid", "sa_tpartreimbursementdetailid", "qty", "isverified");
         querySQLdetail.setTableAlias("t1");
         querySQLdetail.addJoinTable(JOINTYPE.left, "sa_orderitems", "t2", "t1.sa_orderitemsid = t2.sa_orderitemsid AND t1.siteid = t2.siteid", "price");
         querySQLdetail.setWhere("t1.siteid", siteid);
         querySQLdetail.setWhere("t1.sa_tpartreimbursementid", rows.toArrayList("sa_tpartreimbursementid"));
-        querySQLdetail.addQueryFields("amount","ROUND(t2.price*t1.qty)");
+        querySQLdetail.addQueryFields("amount", "ROUND(t2.price*t1.qty)");
         Rows rowsdetail = querySQLdetail.query();
         RowsMap rowsMap = rowsdetail.toRowsMap("sa_tpartreimbursementid");
         for (Row row : rows) {
@@ -164,15 +164,15 @@ public class tpartreimbursement extends Controller {
 
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursement", "*");
         querySQL.setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.sys_enterpriseid = t2.sys_enterpriseid AND t1.siteid = t2.siteid","enterprisename","abbreviation");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t1.sys_enterpriseid = t3.sys_enterpriseid AND t1.siteid = t3.siteid","agentnum");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.sys_enterpriseid = t2.sys_enterpriseid AND t1.siteid = t2.siteid", "enterprisename", "abbreviation");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t1.sys_enterpriseid = t3.sys_enterpriseid AND t1.siteid = t3.siteid", "agentnum");
         querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise_tradefield", "t4", "t4.sys_enterpriseid = t1.sys_enterpriseid AND t4.siteid = t1.siteid");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_salearea", "t5", "t5.sa_saleareaid = t4.sa_saleareaid AND t5.siteid = t4.siteid","areanum","areaname","areafullname");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_salearea", "t5", "t5.sa_saleareaid = t4.sa_saleareaid AND t5.siteid = t4.siteid", "areanum", "areaname", "areafullname");
         querySQL.setWhere("t1.siteid", siteid);
         querySQL.setWhere(where);
-        if(sys_enterpriseid <= 0){
+        if (sys_enterpriseid <= 0) {
             querySQL.setWhere("((t1.createflag=0 and t1.status!='新建') or t1.createflag=1)");
-        }else{
+        } else {
             querySQL.setWhere("((t1.createflag=1 and t1.status!='新建') or t1.createflag=0)");
         }
 
@@ -181,13 +181,12 @@ public class tpartreimbursement extends Controller {
         Rows rows = querySQL.query();
 
 
-
-        QuerySQL querySQLdetail = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementid", "sa_tpartreimbursementdetailid","qty","isverified");
+        QuerySQL querySQLdetail = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementid", "sa_tpartreimbursementdetailid", "qty", "isverified");
         querySQLdetail.setTableAlias("t1");
         querySQLdetail.addJoinTable(JOINTYPE.left, "sa_orderitems", "t2", "t1.sa_orderitemsid = t2.sa_orderitemsid AND t1.siteid = t2.siteid", "price");
         querySQLdetail.setWhere("t1.siteid", siteid);
         querySQLdetail.setWhere("t1.sa_tpartreimbursementid", rows.toArrayList("sa_tpartreimbursementid"));
-        querySQLdetail.addQueryFields("amount","ROUND(t2.price*t1.qty)");
+        querySQLdetail.addQueryFields("amount", "ROUND(t2.price*t1.qty,2)");
         Rows rowsdetail = querySQLdetail.query();
         RowsMap rowsMap = rowsdetail.toRowsMap("sa_tpartreimbursementid");
         for (Row row : rows) {
@@ -252,35 +251,35 @@ public class tpartreimbursement extends Controller {
 
             QuerySQL tpartreimbursementdetailQuery = SQLFactory.createQuerySQL(dbConnect, "sa_tpartreimbursementdetail", "sa_orderitemsid");
             tpartreimbursementdetailQuery.setTableAlias("t1");
-            tpartreimbursementdetailQuery.addJoinTable(JOINTYPE.inner,"sa_tpartreimbursement","t2","t1.sa_tpartreimbursementid=t2.sa_tpartreimbursementid");
+            tpartreimbursementdetailQuery.addJoinTable(JOINTYPE.inner, "sa_tpartreimbursement", "t2", "t1.sa_tpartreimbursementid=t2.sa_tpartreimbursementid");
             tpartreimbursementdetailQuery.addQueryFields("sumqty", "sum(t1.checkqty)");
             tpartreimbursementdetailQuery.setWhere("t1.sa_orderitemsid", rowsdetail.toArrayList("sa_orderitemsid"));
-            tpartreimbursementdetailQuery.setWhere("t1.sa_tpartreimbursementid !="+sa_tpartreimbursementid);
+            tpartreimbursementdetailQuery.setWhere("t1.sa_tpartreimbursementid !=" + sa_tpartreimbursementid);
             tpartreimbursementdetailQuery.setWhere("t2.status in('审核','关闭')");
             tpartreimbursementdetailQuery.addGroupBy("sa_orderitemsid");
 
 
             QuerySQL orderitemsQuery = SQLFactory.createQuerySQL(dbConnect, "sa_orderitems", "sa_orderitemsid");
             orderitemsQuery.setTableAlias("t1");
-            orderitemsQuery.addJoinTable(JOINTYPE.left,tpartreimbursementdetailQuery,"t2","t1.sa_orderitemsid=t2.sa_orderitemsid");
+            orderitemsQuery.addJoinTable(JOINTYPE.left, tpartreimbursementdetailQuery, "t2", "t1.sa_orderitemsid=t2.sa_orderitemsid");
             orderitemsQuery.setWhere("t1.sa_orderitemsid", rowsdetail.toArrayList("sa_orderitemsid"));
             orderitemsQuery.addQueryFields("qty", "t1.tobeoffqty-ifnull(t2.sumqty,0)");
             Rows orderitemsrows = orderitemsQuery.query();
             RowsMap rowsMap = orderitemsrows.toRowsMap("sa_orderitemsid");
-            if(!rows.get(0).getBoolean("createflag")){
-                for (Row row :orderitemsrows) {
-                    if(row.getBigDecimal("qty").compareTo(BigDecimal.ZERO)<0){
+            if (!rows.get(0).getBoolean("createflag")) {
+                for (Row row : orderitemsrows) {
+                    if (row.getBigDecimal("qty").compareTo(BigDecimal.ZERO) < 0) {
                         return getErrReturnObject().setErrMsg("该配件核销单数量不符合要求,请检查").toString();
                     }
                 }
             }
 
             for (int i = 0; i < rowsdetail.size(); i++) {
-                if(rowsMap.containsKey(rowsdetail.get(i).getString("sa_orderitemsid"))){
-                    if(rowsMap.get(rowsdetail.get(i).getString("sa_orderitemsid")).get(0).getBigDecimal("qty").compareTo(rowsdetail.get(i).getBigDecimal("checkqty"))<0){
+                if (rowsMap.containsKey(rowsdetail.get(i).getString("sa_orderitemsid"))) {
+                    if (rowsMap.get(rowsdetail.get(i).getString("sa_orderitemsid")).get(0).getBigDecimal("qty").compareTo(rowsdetail.get(i).getBigDecimal("checkqty")) < 0) {
                         return getErrReturnObject().setErrMsg("该配件核销单数量不符合要求,请检查").toString();
                     }
-                }else{
+                } else {
                     return getErrReturnObject().setErrMsg("订单行不存在,请检查").toString();
                 }
             }
@@ -325,35 +324,35 @@ public class tpartreimbursement extends Controller {
 
         QuerySQL tpartreimbursementdetailQuery = SQLFactory.createQuerySQL(dbConnect, "sa_tpartreimbursementdetail", "sa_orderitemsid");
         tpartreimbursementdetailQuery.setTableAlias("t1");
-        tpartreimbursementdetailQuery.addJoinTable(JOINTYPE.inner,"sa_tpartreimbursement","t2","t1.sa_tpartreimbursementid=t2.sa_tpartreimbursementid");
+        tpartreimbursementdetailQuery.addJoinTable(JOINTYPE.inner, "sa_tpartreimbursement", "t2", "t1.sa_tpartreimbursementid=t2.sa_tpartreimbursementid");
         tpartreimbursementdetailQuery.addQueryFields("sumqty", "sum(t1.checkqty)");
         tpartreimbursementdetailQuery.setWhere("t1.sa_orderitemsid", rowsdetail.toArrayList("sa_orderitemsid"));
-        tpartreimbursementdetailQuery.setWhere("t1.sa_tpartreimbursementid !="+sa_tpartreimbursementid);
+        tpartreimbursementdetailQuery.setWhere("t1.sa_tpartreimbursementid !=" + sa_tpartreimbursementid);
         tpartreimbursementdetailQuery.setWhere("t2.status in('审核','关闭')");
         tpartreimbursementdetailQuery.addGroupBy("sa_orderitemsid");
 
 
         QuerySQL orderitemsQuery = SQLFactory.createQuerySQL(dbConnect, "sa_orderitems", "sa_orderitemsid");
         orderitemsQuery.setTableAlias("t1");
-        orderitemsQuery.addJoinTable(JOINTYPE.left,tpartreimbursementdetailQuery,"t2","t1.sa_orderitemsid=t2.sa_orderitemsid");
+        orderitemsQuery.addJoinTable(JOINTYPE.left, tpartreimbursementdetailQuery, "t2", "t1.sa_orderitemsid=t2.sa_orderitemsid");
         orderitemsQuery.setWhere("t1.sa_orderitemsid", rowsdetail.toArrayList("sa_orderitemsid"));
         orderitemsQuery.addQueryFields("qty", "t1.tobeoffqty-ifnull(t2.sumqty,0)");
         Rows orderitemsrows = orderitemsQuery.query();
         RowsMap rowsMap = orderitemsrows.toRowsMap("sa_orderitemsid");
-        if(!rows.get(0).getBoolean("createflag")){
-            for (Row row :orderitemsrows) {
-                if(row.getBigDecimal("qty").compareTo(BigDecimal.ZERO)<0){
+        if (!rows.get(0).getBoolean("createflag")) {
+            for (Row row : orderitemsrows) {
+                if (row.getBigDecimal("qty").compareTo(BigDecimal.ZERO) < 0) {
                     return getErrReturnObject().setErrMsg("该配件核销单数量不符合要求,请检查").toString();
                 }
             }
         }
 
         for (int i = 0; i < rowsdetail.size(); i++) {
-            if(rowsMap.containsKey(rowsdetail.get(i).getString("sa_orderitemsid"))){
-                if(rowsMap.get(rowsdetail.get(i).getString("sa_orderitemsid")).get(0).getBigDecimal("qty").compareTo(rowsdetail.get(i).getBigDecimal("checkqty"))<0){
+            if (rowsMap.containsKey(rowsdetail.get(i).getString("sa_orderitemsid"))) {
+                if (rowsMap.get(rowsdetail.get(i).getString("sa_orderitemsid")).get(0).getBigDecimal("qty").compareTo(rowsdetail.get(i).getBigDecimal("checkqty")) < 0) {
                     return getErrReturnObject().setErrMsg("该配件核销单数量不符合要求,请检查").toString();
                 }
-            }else{
+            } else {
                 return getErrReturnObject().setErrMsg("订单行不存在,请检查").toString();
             }
         }
@@ -367,15 +366,15 @@ public class tpartreimbursement extends Controller {
         updateSQL.setValue("status", "审核");
         updateSQL.setValue("checkby", username);
         updateSQL.setDateValue("checkdate");
-        int count=0;
-        for(Row row :rowsdetail){
-            if(row.getBigDecimal("checkqty").compareTo(BigDecimal.ZERO)==0){
-                sqlList.add("update sa_tpartreimbursementdetail set isverified=1 where sa_tpartreimbursementdetailid="+row.getLong("sa_tpartreimbursementdetailid"));
+        int count = 0;
+        for (Row row : rowsdetail) {
+            if (row.getBigDecimal("checkqty").compareTo(BigDecimal.ZERO) == 0) {
+                sqlList.add("update sa_tpartreimbursementdetail set isverified=1 where sa_tpartreimbursementdetailid=" + row.getLong("sa_tpartreimbursementdetailid"));
                 count++;
             }
         }
 
-        if(rowsdetail.size()==count){
+        if (rowsdetail.size() == count) {
             updateSQL.setValue("status", "关闭");
         }
 
@@ -403,7 +402,7 @@ public class tpartreimbursement extends Controller {
             }
 
         }
-        if(rowsdetail.isNotEmpty()){
+        if (rowsdetail.isNotEmpty()) {
             return getErrReturnObject().setErrMsg("有配件行已核销,核销申请单不能反审核").toString();
         }
 
@@ -415,7 +414,7 @@ public class tpartreimbursement extends Controller {
         updateSQL.setSiteid(siteid);
         updateSQL.setValue("status", "提交");
         updateSQL.setValue("checkby", "");
-        updateSQL.setValue("checkdate","null");
+        updateSQL.setValue("checkdate", "null");
 
         sqlList.add(updateSQL.getSQL());
         dbConnect.runSqlUpdate(sqlList);
@@ -442,10 +441,10 @@ public class tpartreimbursement extends Controller {
             }
         }
 
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementdetailid", "remarks","qty","checkqty", "sa_orderitemsid", "sa_tpartreimbursementid");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementdetailid", "remarks", "qty", "checkqty", "sa_orderitemsid", "sa_tpartreimbursementid");
         querySQL.setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.inner, "sa_orderitems", "t2", "t1.sa_orderitemsid = t2.sa_orderitemsid AND t1.siteid = t2.siteid","price", "rowno", "cardno", "offstatus", "billingstatus","sa_orderid");
-        querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t3", "t2.itemid = t3.itemid AND t2.siteid = t3.siteid", "itemid","itemno", "itemname", "spec", "model");
+        querySQL.addJoinTable(JOINTYPE.inner, "sa_orderitems", "t2", "t1.sa_orderitemsid = t2.sa_orderitemsid AND t1.siteid = t2.siteid", "price", "rowno", "cardno", "offstatus", "billingstatus", "sa_orderid");
+        querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t3", "t2.itemid = t3.itemid AND t2.siteid = t3.siteid", "itemid", "itemno", "itemname", "spec", "model");
         querySQL.addJoinTable(JOINTYPE.left, "sa_order", "t4", "t2.sa_orderid = t4.sa_orderid AND t2.siteid = t4.siteid", "sonum");
         querySQL.addJoinTable(JOINTYPE.left, "sa_warrantycard", "t5", "t2.cardno = t5.cardno AND t2.siteid = t5.siteid", "name", "phonenumber");
         querySQL.addJoinTable(JOINTYPE.inner, "sa_tpartreimbursement", "t6", "t1.sa_tpartreimbursementid = t6.sa_tpartreimbursementid AND t1.siteid = t6.siteid", "billno", "submitdate", "checkdate", "remarks");
@@ -453,7 +452,7 @@ public class tpartreimbursement extends Controller {
         querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t8", "t8.sys_enterpriseid = t6.sys_enterpriseid AND t8.siteid = t6.siteid", "agentnum");
 
         querySQL.setSiteid(siteid);
-        querySQL.addQueryFields("amount","ROUND(t1.checkqty*t2.price, 2)");
+        querySQL.addQueryFields("amount", "ROUND(t1.checkqty*t2.price, 2)");
         querySQL.setWhere("t6.status='审核' and t1.isverified=0 and t1.checkqty>0 and t6.sys_enterpriseid=" + sys_enterpriseid);
         querySQL.setWhere(where.toString());
         querySQL.setPage(pageSize, pageNumber);
@@ -471,16 +470,16 @@ public class tpartreimbursement extends Controller {
                 "inner join sa_order t3 on t2.sa_orderid=t3.sa_orderid and t2.siteid=t3.siteid" +
                 " where t1.siteid='" + siteid + "' and t1.status='审核' and t1.rb=1 and t1.type='销售出库' and t3.type='配件订单' and t3.sys_enterpriseid='" + sys_enterpriseid + "' and DATE_FORMAT( t1.billdate, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )  group by t1.st_stockbillid");
 
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "st_stockbill","payamount","paydiscountamount");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "st_stockbill", "payamount", "paydiscountamount");
         querySQL.setTableAlias("t1");
         querySQL.setSiteid(siteid);
         querySQL.setWhere("t1.sys_enterpriseid", sys_enterpriseid);
         querySQL.setWhere("t1.departmentid=(select departmentid from sys_department where depname='售后部') and t1.rb=0 and t1.status='审核' and t1.type='销售出库' and DATE_FORMAT(t1.billdate, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )");
         Rows rows = querySQL.query();
 
-        HashMap<String,BigDecimal> map =new HashMap<>();
-        map.put("amount",sumamountRows.sum("payamount").subtract(rows.sum("payamount")));
-        map.put("discountamount",sumamountRows.sum("paydiscountamount").subtract(rows.sum("paydiscountamount")));
+        HashMap<String, BigDecimal> map = new HashMap<>();
+        map.put("amount", sumamountRows.sum("payamount").subtract(rows.sum("payamount")));
+        map.put("discountamount", sumamountRows.sum("paydiscountamount").subtract(rows.sum("paydiscountamount")));
         return getSucReturnObject().setData(map).toString();
     }
 
@@ -490,9 +489,9 @@ public class tpartreimbursement extends Controller {
         JSONArray sa_tpartreimbursementdetailids = content.getJSONArray("sa_tpartreimbursementdetailids");
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "checkqty");
         querySQL.setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_orderitems", "t2", "t1.sa_orderitemsid = t2.sa_orderitemsid AND t1.siteid = t2.siteid","price");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_orderitems", "t2", "t1.sa_orderitemsid = t2.sa_orderitemsid AND t1.siteid = t2.siteid", "price");
         querySQL.setSiteid(siteid);
-        querySQL.addQueryFields("amount","ROUND(t1.checkqty*t2.price, 2)");
+        querySQL.addQueryFields("amount", "ROUND(t1.checkqty*t2.price, 2)");
         querySQL.setWhere("t1.sa_tpartreimbursementdetailid", sa_tpartreimbursementdetailids);
         Rows rows = querySQL.query();
         return getSucReturnObject().setData(rows.sum("amount")).toString();
@@ -503,8 +502,8 @@ public class tpartreimbursement extends Controller {
     @CACHEING_CLEAN(apiClass = {tpartreimbursement.class, stockbill.class, Order.class, OrderItems.class})
     public String hexiao() throws YosException {
         ArrayList<String> sqllist = new ArrayList<>();
-        BigDecimal amount =BigDecimal.ZERO;
-        BigDecimal discountamount =BigDecimal.ZERO;
+        BigDecimal amount = BigDecimal.ZERO;
+        BigDecimal discountamount = BigDecimal.ZERO;
         long sys_enterpriseid = content.getLong("sys_enterpriseid");
 
 
@@ -513,30 +512,30 @@ public class tpartreimbursement extends Controller {
                 "inner join sa_order t3 on t2.sa_orderid=t3.sa_orderid and t2.siteid=t3.siteid" +
                 " where t1.siteid='" + siteid + "' and t1.status='审核' and t1.rb=1 and t1.type='销售出库' and t3.type='配件订单' and t3.sys_enterpriseid='" + sys_enterpriseid + "' and DATE_FORMAT( t1.billdate, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )  group by t1.st_stockbillid");
 
-        QuerySQL querySQL1 = SQLFactory.createQuerySQL(this, "st_stockbill","payamount","paydiscountamount");
+        QuerySQL querySQL1 = SQLFactory.createQuerySQL(this, "st_stockbill", "payamount", "paydiscountamount");
         querySQL1.setTableAlias("t1");
         querySQL1.setSiteid(siteid);
         querySQL1.setWhere("t1.sys_enterpriseid", sys_enterpriseid);
         querySQL1.setWhere("t1.departmentid=(select departmentid from sys_department where depname='售后部') and t1.rb=0 and t1.status='审核' and t1.type='销售出库' and DATE_FORMAT(t1.billdate, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )");
         Rows rows1 = querySQL1.query();
 
-        HashMap<String,BigDecimal> map =new HashMap<>();
-        amount=sumamountRows.sum("payamount").subtract(rows1.sum("payamount"));
-        discountamount=sumamountRows.sum("paydiscountamount").subtract(rows1.sum("paydiscountamount"));
+        HashMap<String, BigDecimal> map = new HashMap<>();
+        amount = sumamountRows.sum("payamount").subtract(rows1.sum("payamount"));
+        discountamount = sumamountRows.sum("paydiscountamount").subtract(rows1.sum("paydiscountamount"));
 
-        if(discountamount.compareTo(BigDecimal.ZERO)<0){
-            discountamount=BigDecimal.ZERO;
+        if (discountamount.compareTo(BigDecimal.ZERO) < 0) {
+            discountamount = BigDecimal.ZERO;
         }
-        if(amount.compareTo(BigDecimal.ZERO)<0){
-            amount=BigDecimal.ZERO;
+        if (amount.compareTo(BigDecimal.ZERO) < 0) {
+            amount = BigDecimal.ZERO;
         }
 
         JSONArray sa_tpartreimbursementdetailids = content.getJSONArray("sa_tpartreimbursementdetailids");
         JSONArray iteminfos = content.getJSONArray("iteminfos");
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementdetailid","isverified","qty","sa_orderitemsid","hongbillno");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementdetailid", "isverified", "qty", "sa_orderitemsid", "hongbillno");
         querySQL.setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.left, "sa_orderitems", "t2", "t1.sa_orderitemsid = t2.sa_orderitemsid AND t1.siteid = t2.siteid");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_tpartreimbursement", "t3", "t1.sa_tpartreimbursementid = t3.sa_tpartreimbursementid AND t1.siteid = t2.siteid","sa_tpartreimbursementid","billno");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_tpartreimbursement", "t3", "t1.sa_tpartreimbursementid = t3.sa_tpartreimbursementid AND t1.siteid = t2.siteid", "sa_tpartreimbursementid", "billno");
         querySQL.setSiteid(siteid);
         querySQL.setWhere("t1.sa_tpartreimbursementdetailid", sa_tpartreimbursementdetailids);
         Rows rows = querySQL.query();
@@ -546,12 +545,12 @@ public class tpartreimbursement extends Controller {
         QuerySQL stockbillquerySQL = SQLFactory.createQuerySQL(this, "st_stockbill", "billno");
         stockbillquerySQL.setTableAlias("t1");
         stockbillquerySQL.setSiteid(siteid);
-        stockbillquerySQL.setWhere("t1.billno",billnolist);
-        Rows stockbillrows =stockbillquerySQL.query();
+        stockbillquerySQL.setWhere("t1.billno", billnolist);
+        Rows stockbillrows = stockbillquerySQL.query();
         RowsMap stockbillrowsMap = stockbillrows.toRowsMap("billno");
         for (Row row : rows) {
             if (StringUtils.isNotBlank(row.getString("hongbillno"))) {
-                if(stockbillrowsMap.containsKey(row.getString("hongbillno"))){
+                if (stockbillrowsMap.containsKey(row.getString("hongbillno"))) {
                     return getErrReturnObject().setErrMsg("存在核销生成的红字出库单,无法核销").toString();
                 }
 
@@ -583,7 +582,7 @@ public class tpartreimbursement extends Controller {
         List<Long> list = new ArrayList<>();
 
         for (Object object : iteminfos) {
-            list.add(((JSONObject)object).getLong("itemid"));
+            list.add(((JSONObject) object).getLong("itemid"));
         }
         RowsMap itemRowsMap = SQLFactory.createQuerySQL(this, "plm_item", "*").setWhere("itemid", list).query().toRowsMap("itemid");
 
@@ -615,21 +614,21 @@ public class tpartreimbursement extends Controller {
         insertSQL.setValue("delivery", "");
         Rows invoicerows = dbConnect.runSqlQuery("select * from sys_enterprise_finance where sys_enterpriseid=" + sys_enterpriseid + " order by isdefault desc");
         Rows addressrows = dbConnect.runSqlQuery("select * from sys_enterprise_contacts where type='配件' and sys_enterpriseid=" + sys_enterpriseid + " order by isdefault desc");
-        if(invoicerows.isNotEmpty()){
+        if (invoicerows.isNotEmpty()) {
             insertSQL.setValue("invoice_enterprisename", invoicerows.get(0).getString("enterprisename"));
             insertSQL.setValue("invoice_address", invoicerows.get(0).getString("address"));
             insertSQL.setValue("invoice_taxno", invoicerows.get(0).getString("taxno"));
-        }else{
+        } else {
             insertSQL.setValue("invoice_enterprisename", "");
             insertSQL.setValue("invoice_address", "");
             insertSQL.setValue("invoice_taxno", "");
         }
 
-        if(addressrows.isNotEmpty()){
+        if (addressrows.isNotEmpty()) {
             insertSQL.setValue("name", addressrows.get(0).getString("name"));
             insertSQL.setValue("address", addressrows.get(0).getString("address"));
             insertSQL.setValue("phonenumber", addressrows.get(0).getString("phonenumber"));
-        }else{
+        } else {
             insertSQL.setValue("name", "");
             insertSQL.setValue("address", "");
             insertSQL.setValue("phonenumber", "");
@@ -640,7 +639,6 @@ public class tpartreimbursement extends Controller {
         insertSQL.setValue("sourceobject", "tpartreimbursement");
 
 
-
         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
         Calendar calendar = Calendar.getInstance();
         insertSQL.setValue("period", dateFormat.format(calendar.getTime()));
@@ -686,22 +684,22 @@ public class tpartreimbursement extends Controller {
                     insertDetailSQL.setValue("stockid", stocks.get(0).getLong("stockid"));
                 }
                 insertDetailSQL.setValue("remarks", "");
-                insertDetailSQL.setValue("itemno", itemRowsMap.containsKey(iteminfo.getStringValue("itemid"))?itemRowsMap.get(iteminfo.getStringValue("itemid")).get(0).getString("itemno"):iteminfo.getString("itemno"));
-                insertDetailSQL.setValue("itemname", itemRowsMap.containsKey(iteminfo.getStringValue("itemid"))?itemRowsMap.get(iteminfo.getStringValue("itemid")).get(0).getString("itemname"):iteminfo.getString("itemname"));
-                insertDetailSQL.setValue("model", itemRowsMap.containsKey(iteminfo.getStringValue("itemid"))?itemRowsMap.get(iteminfo.getStringValue("itemid")).get(0).getString("model"):iteminfo.getString("model"));
+                insertDetailSQL.setValue("itemno", itemRowsMap.containsKey(iteminfo.getStringValue("itemid")) ? itemRowsMap.get(iteminfo.getStringValue("itemid")).get(0).getString("itemno") : iteminfo.getString("itemno"));
+                insertDetailSQL.setValue("itemname", itemRowsMap.containsKey(iteminfo.getStringValue("itemid")) ? itemRowsMap.get(iteminfo.getStringValue("itemid")).get(0).getString("itemname") : iteminfo.getString("itemname"));
+                insertDetailSQL.setValue("model", itemRowsMap.containsKey(iteminfo.getStringValue("itemid")) ? itemRowsMap.get(iteminfo.getStringValue("itemid")).get(0).getString("model") : iteminfo.getString("model"));
                 insertDetailSQL.setValue("price", iteminfo.getBigDecimal("price"));
                 insertDetailSQL.setValue("amount", iteminfo.getBigDecimal("qty").multiply(iteminfo.getBigDecimal("price")));
                 insertDetailSQL.setValue("untaxedprice", iteminfo.getBigDecimal("price").divide(new BigDecimal(1.13), 2, BigDecimal.ROUND_HALF_UP));
                 insertDetailSQL.setValue("untaxedamount", iteminfo.getBigDecimal("qty").multiply(iteminfo.getBigDecimal("price").divide(new BigDecimal(1.13), 2, BigDecimal.ROUND_HALF_UP)));
-                insertDetailSQL.setValue("skucontrol", itemRowsMap.containsKey(iteminfo.getStringValue("itemid"))?itemRowsMap.get(iteminfo.getStringValue("itemid")).get(0).getBoolean("skucontrol"):iteminfo.getBooleanValue("skucontrol"));
+                insertDetailSQL.setValue("skucontrol", itemRowsMap.containsKey(iteminfo.getStringValue("itemid")) ? itemRowsMap.get(iteminfo.getStringValue("itemid")).get(0).getBoolean("skucontrol") : iteminfo.getBooleanValue("skucontrol"));
                 i++;
                 sqllist.add(insertDetailSQL.getSQL());
                 totalamount = totalamount.add(iteminfo.getBigDecimal("qty").multiply(iteminfo.getBigDecimal("price")));
             }
         }
-        for(Object object:sa_tpartreimbursementdetailids){
+        for (Object object : sa_tpartreimbursementdetailids) {
             Integer sa_tpartreimbursementdetailid = (Integer) object;
-            sqllist.add("update sa_tpartreimbursementdetail set hongbillno='"+billno+"' where sa_tpartreimbursementdetailid="+sa_tpartreimbursementdetailid);
+            sqllist.add("update sa_tpartreimbursementdetail set hongbillno='" + billno + "' where sa_tpartreimbursementdetailid=" + sa_tpartreimbursementdetailid);
         }
 //        if (discountamount.compareTo(totalamount) > 0) {
 //            insertSQL.setValue("payamount", 0);
@@ -712,13 +710,13 @@ public class tpartreimbursement extends Controller {
 //        }
         insertSQL.setValue("payamount", totalamount);
         insertSQL.setValue("paydiscountamount", 0);
-        if(totalamount.compareTo((discountamount.add(amount)))>0){
+        if (totalamount.compareTo((discountamount.add(amount))) > 0) {
             return getErrReturnObject().setErrMsg("大于当月剩余可核销金额,无法核销").toString();
         }
 
 
         sqllist.add(insertSQL.getSQL());
-        sqllist.add(DataContrlLog.createLog(this, "st_stockbill", st_stockbillid, "新增", "销售出库单新增成功,来源配件核销"+rows.toJsonArray("billno").toJSONString()).getSQL());
+        sqllist.add(DataContrlLog.createLog(this, "st_stockbill", st_stockbillid, "新增", "销售出库单新增成功,来源配件核销" + rows.toJsonArray("billno").toJSONString()).getSQL());
         //Rows accountbalancerows = dbConnect.runSqlQuery("select * from sa_accountbalance t1 inner join sa_accountclass t2 on  t1.sa_accountclassid=t2.sa_accountclassid and t1.siteid=t2.siteid where t2.accountname='现金账户' and t1.sys_enterpriseid=" + sys_enterpriseid);
 
         //CashbillEntity entity = getCashbillEntity(totalamount.negate(), BigDecimal.ZERO, st_stockbillid, "销售出库单审核", billno, "由销售出库单" + billno + "审核时生成");
@@ -729,29 +727,29 @@ public class tpartreimbursement extends Controller {
             Stockbill.check(this, st_stockbillid, true);
         } catch (YosException e) {
             // Code to handle the exception
-            dbConnect.runSqlUpdate("delete from st_stockbill where st_stockbillid="+st_stockbillid);
-            dbConnect.runSqlUpdate("delete from st_stockbill_items where st_stockbillid="+st_stockbillid);
-            dbConnect.runSqlUpdate("delete from sys_contrllog where ownerid="+st_stockbillid+" and ownertable='st_stockbill'");
-            for(Object object:sa_tpartreimbursementdetailids){
+            dbConnect.runSqlUpdate("delete from st_stockbill where st_stockbillid=" + st_stockbillid);
+            dbConnect.runSqlUpdate("delete from st_stockbill_items where st_stockbillid=" + st_stockbillid);
+            dbConnect.runSqlUpdate("delete from sys_contrllog where ownerid=" + st_stockbillid + " and ownertable='st_stockbill'");
+            for (Object object : sa_tpartreimbursementdetailids) {
                 Integer sa_tpartreimbursementdetailid = (Integer) object;
-                dbConnect.runSqlUpdate("update sa_tpartreimbursementdetail set hongbillno='' where sa_tpartreimbursementdetailid="+sa_tpartreimbursementdetailid);
+                dbConnect.runSqlUpdate("update sa_tpartreimbursementdetail set hongbillno='' where sa_tpartreimbursementdetailid=" + sa_tpartreimbursementdetailid);
             }
             return getErrReturnObject().setErrMsg(e.getMessage())
                     .toString();
         }
 
-        sqllist=new ArrayList<>();
-        QuerySQL tpartreimbursementSQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail","*");
+        sqllist = new ArrayList<>();
+        QuerySQL tpartreimbursementSQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "*");
         tpartreimbursementSQL.setTableAlias("t1");
         tpartreimbursementSQL.setSiteid(siteid);
         tpartreimbursementSQL.setWhere("t1.sa_tpartreimbursementid", sa_tpartreimbursementidList);
-        Rows tpartreimbursementrows= tpartreimbursementSQL.query();
+        Rows tpartreimbursementrows = tpartreimbursementSQL.query();
         RowsMap tpartreimbursementrowsMap = tpartreimbursementrows.toRowsMap("sa_tpartreimbursementid");
-        for(String sa_tpartreimbursementid :sa_tpartreimbursementidList){
-            if(tpartreimbursementrowsMap.containsKey(sa_tpartreimbursementid)){
-                if(tpartreimbursementrowsMap.get(sa_tpartreimbursementid).size()
-                        ==tpartreimbursementrowsMap.get(sa_tpartreimbursementid).toRowsMap("isverified").get("1").size()){
-                    sqllist.add("update sa_tpartreimbursement set status='关闭' where sa_tpartreimbursementid ='"+sa_tpartreimbursementid+"'");
+        for (String sa_tpartreimbursementid : sa_tpartreimbursementidList) {
+            if (tpartreimbursementrowsMap.containsKey(sa_tpartreimbursementid)) {
+                if (tpartreimbursementrowsMap.get(sa_tpartreimbursementid).size()
+                        == tpartreimbursementrowsMap.get(sa_tpartreimbursementid).toRowsMap("isverified").get("1").size()) {
+                    sqllist.add("update sa_tpartreimbursement set status='关闭' where sa_tpartreimbursementid ='" + sa_tpartreimbursementid + "'");
                 }
 
             }

+ 60 - 74
src/custom/restcontroller/webmanage/sale/tpartreimbursement/tpartreimbursementdetail.java

@@ -11,7 +11,6 @@ import common.annotation.CACHEING_CLEAN;
 import common.data.*;
 import restcontroller.R;
 
-
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -25,12 +24,11 @@ public class tpartreimbursementdetail extends Controller {
     @API(title = "查询经销商", apiversion = R.ID2025122016411103.v1.class)
     @CACHEING
     public String queryAgents() throws YosException {
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursement","sys_enterpriseid");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursement", "sys_enterpriseid");
         querySQL.setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.inner, "sa_agents", "t2", "t1.siteid = t2.siteid and t1.sys_enterpriseid = t2.sys_enterpriseid", "agentnum");
-        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t3", "t1.siteid = t3.siteid and t1.sys_enterpriseid = t3.sys_enterpriseid", "enterprisename","abbreviation");
-        querySQL.addJoinTable(JOINTYPE.left, "(select GROUP_CONCAT(t1.areanum) areanum,GROUP_CONCAT(t1.areaname) areaname,GROUP_CONCAT(t1.areafullname) areafullname,t2.sys_enterpriseid,t2.siteid from sa_salearea t1 inner join sys_enterprise_tradefield t2 on t1.sa_saleareaid=t2.sa_saleareaid group by t2.sys_enterpriseid,t2.siteid)", "t4", "t4.sys_enterpriseid=t1.sys_enterpriseid and t4.siteid = t1.siteid",
-                "areanum","areaname","areafullname");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t3", "t1.siteid = t3.siteid and t1.sys_enterpriseid = t3.sys_enterpriseid", "enterprisename", "abbreviation");
+        querySQL.addJoinTable(JOINTYPE.left, "(select GROUP_CONCAT(t1.areanum) areanum,GROUP_CONCAT(t1.areaname) areaname,GROUP_CONCAT(t1.areafullname) areafullname,t2.sys_enterpriseid,t2.siteid from sa_salearea t1 inner join sys_enterprise_tradefield t2 on t1.sa_saleareaid=t2.sa_saleareaid group by t2.sys_enterpriseid,t2.siteid)", "t4", "t4.sys_enterpriseid=t1.sys_enterpriseid and t4.siteid = t1.siteid", "areanum", "areaname", "areafullname");
         querySQL.setSiteid(siteid);
         querySQL.setWhere("t2.status='1'");
         querySQL.setWhere("t1.status='审核' and  exists(select * from sa_tpartreimbursementdetail where sa_tpartreimbursementid=t1.sa_tpartreimbursementid and isverified=0)");
@@ -40,47 +38,41 @@ public class tpartreimbursementdetail extends Controller {
         ArrayList sys_enterpriseidList = rows.toArrayList("sys_enterpriseid");
         sys_enterpriseidList.add(0);
 
-        Rows sumamountRows_whx= dbConnect.runSqlQuery("select t2.sys_enterpriseid,sum(t3.price*t1.checkqty) amount from sa_tpartreimbursementdetail t1 " +
-                "inner join sa_tpartreimbursement t2 on t1.sa_tpartreimbursementid=t2.sa_tpartreimbursementid and t1.siteid=t2.siteid  " +
-                "inner join sa_orderitems t3 on t3.sa_orderitemsid=t1.sa_orderitemsid and t3.siteid=t1.siteid  " +
-                " where t2.siteid='" + siteid + "' and t2.status='审核' and t1.isverified=0 and t2.sys_enterpriseid in" + sys_enterpriseidList.toString().replace("[", "(").replace("]", ")") + " and DATE_FORMAT( t2.billdate, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )  group by t2.sys_enterpriseid");
-        RowsMap sumamountRowsMap_whx=sumamountRows_whx.toRowsMap("sys_enterpriseid");
+        Rows sumamountRows_whx = dbConnect.runSqlQuery("select t2.sys_enterpriseid,sum(t3.price*t1.checkqty) amount from sa_tpartreimbursementdetail t1 " + "inner join sa_tpartreimbursement t2 on t1.sa_tpartreimbursementid=t2.sa_tpartreimbursementid and t1.siteid=t2.siteid  " + "inner join sa_orderitems t3 on t3.sa_orderitemsid=t1.sa_orderitemsid and t3.siteid=t1.siteid  " + " where t2.siteid='" + siteid + "' and t2.status='审核' and t1.isverified=0 and t2.sys_enterpriseid in" + sys_enterpriseidList.toString().replace("[", "(").replace("]", ")") + " and DATE_FORMAT( t2.billdate, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )  group by t2.sys_enterpriseid");
+        RowsMap sumamountRowsMap_whx = sumamountRows_whx.toRowsMap("sys_enterpriseid");
 
 
-        Rows sumamountRows= dbConnect.runSqlQuery("select min(t1.payamount) payamount, min(t1.paydiscountamount) paydiscountamount,t1.st_stockbillid,t1.sys_enterpriseid from st_stockbill t1 " +
-                "inner join st_stockbill_items t2 on t1.st_stockbillid=t2.st_stockbillid and t1.siteid=t2.siteid  " +
-                "inner join sa_order t3 on t2.sa_orderid=t3.sa_orderid and t2.siteid=t3.siteid" +
-                " where t1.siteid='" + siteid + "' and t1.status='审核' and t1.rb=1 and t1.type='销售出库' and t3.type='配件订单' and t3.sys_enterpriseid in" + sys_enterpriseidList.toString().replace("[", "(").replace("]", ")") + " and DATE_FORMAT( t1.billdate, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )  group by t1.st_stockbillid,t1.sys_enterpriseid");
-        RowsMap sumamountRowsMap=sumamountRows.toRowsMap("sys_enterpriseid");
+        Rows sumamountRows = dbConnect.runSqlQuery("select min(t1.payamount) payamount, min(t1.paydiscountamount) paydiscountamount,t1.st_stockbillid,t1.sys_enterpriseid from st_stockbill t1 " + "inner join st_stockbill_items t2 on t1.st_stockbillid=t2.st_stockbillid and t1.siteid=t2.siteid  " + "inner join sa_order t3 on t2.sa_orderid=t3.sa_orderid and t2.siteid=t3.siteid" + " where t1.siteid='" + siteid + "' and t1.status='审核' and t1.rb=1 and t1.type='销售出库' and t3.type='配件订单' and t3.sys_enterpriseid in" + sys_enterpriseidList.toString().replace("[", "(").replace("]", ")") + " and DATE_FORMAT( t1.billdate, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )  group by t1.st_stockbillid,t1.sys_enterpriseid");
+        RowsMap sumamountRowsMap = sumamountRows.toRowsMap("sys_enterpriseid");
 
-        QuerySQL querySQL_yhx  = SQLFactory.createQuerySQL(this, "st_stockbill","sys_enterpriseid","payamount","paydiscountamount");
+        QuerySQL querySQL_yhx = SQLFactory.createQuerySQL(this, "st_stockbill", "sys_enterpriseid", "payamount", "paydiscountamount");
         querySQL_yhx.setTableAlias("t1");
         querySQL_yhx.setSiteid(siteid);
         querySQL_yhx.setWhere("t1.sys_enterpriseid", rows.toArrayList("sys_enterpriseid"));
         querySQL_yhx.setWhere("t1.departmentid=(select departmentid from sys_department where depname='售后部') and t1.rb=0 and t1.status='审核' and t1.type='销售出库' and DATE_FORMAT(t1.billdate, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )");
-        Rows rows_yhx = querySQL_yhx .query();
-        RowsMap rowsMap_yhx=rows_yhx.toRowsMap("sys_enterpriseid");
-
-        for(Row row : rows){
-            BigDecimal amkount_whx=BigDecimal.ZERO;
-            BigDecimal amkount_yhx=BigDecimal.ZERO;
-            BigDecimal amkount_all=BigDecimal.ZERO;
-            if(sumamountRowsMap_whx.containsKey(row.getString("sys_enterpriseid"))){
-                amkount_whx=sumamountRowsMap_whx.get(row.getString("sys_enterpriseid")).get(0).getBigDecimal("amount");
+        Rows rows_yhx = querySQL_yhx.query();
+        RowsMap rowsMap_yhx = rows_yhx.toRowsMap("sys_enterpriseid");
+
+        for (Row row : rows) {
+            BigDecimal amkount_whx = BigDecimal.ZERO;
+            BigDecimal amkount_yhx = BigDecimal.ZERO;
+            BigDecimal amkount_all = BigDecimal.ZERO;
+            if (sumamountRowsMap_whx.containsKey(row.getString("sys_enterpriseid"))) {
+                amkount_whx = sumamountRowsMap_whx.get(row.getString("sys_enterpriseid")).get(0).getBigDecimal("amount");
             }
-            if(sumamountRowsMap.containsKey(row.getString("sys_enterpriseid"))){
-                amkount_all=sumamountRowsMap.get(row.getString("sys_enterpriseid")).sum("payamount").add(sumamountRowsMap.get(row.getString("sys_enterpriseid")).sum("paydiscountamount"));
+            if (sumamountRowsMap.containsKey(row.getString("sys_enterpriseid"))) {
+                amkount_all = sumamountRowsMap.get(row.getString("sys_enterpriseid")).sum("payamount").add(sumamountRowsMap.get(row.getString("sys_enterpriseid")).sum("paydiscountamount"));
             }
-            if(rowsMap_yhx.containsKey(row.getString("sys_enterpriseid"))){
-                amkount_yhx=rowsMap_yhx.get(row.getString("sys_enterpriseid")).sum("payamount").add(rowsMap_yhx.get(row.getString("sys_enterpriseid")).sum("paydiscountamount"));
+            if (rowsMap_yhx.containsKey(row.getString("sys_enterpriseid"))) {
+                amkount_yhx = rowsMap_yhx.get(row.getString("sys_enterpriseid")).sum("payamount").add(rowsMap_yhx.get(row.getString("sys_enterpriseid")).sum("paydiscountamount"));
             }
-            row.put("amkount_whx",amkount_whx);
-            row.put("amkount_khx",amkount_all.subtract(amkount_yhx));
+            row.put("amkount_whx", amkount_whx);
+            row.put("amkount_khx", amkount_all.subtract(amkount_yhx));
         }
 
-        HashMap<String,BigDecimal> map =new HashMap<>();
-        map.put("amount",sumamountRows.sum("payamount").subtract(rows.sum("payamount")));
-        map.put("discountamount",sumamountRows.sum("paydiscountamount").subtract(rows.sum("paydiscountamount")));
+        HashMap<String, BigDecimal> map = new HashMap<>();
+        map.put("amount", sumamountRows.sum("payamount").subtract(rows.sum("payamount")));
+        map.put("discountamount", sumamountRows.sum("paydiscountamount").subtract(rows.sum("paydiscountamount")));
 
         return getSucReturnObject().setData(rows).toString();
     }
@@ -88,17 +80,17 @@ public class tpartreimbursementdetail extends Controller {
     @API(title = "配件申请单明细查询", apiversion = R.ID2025081915191103.v1.class)
     @CACHEING
     public String queryOrderItemList() throws YosException {
-        long sa_tpartreimbursementid=content.getLong("sa_tpartreimbursementid");
-        Rows tpartreimbursementRows = dbConnect.runSqlQuery("select * from sa_tpartreimbursement where sa_tpartreimbursementid="+sa_tpartreimbursementid);
-        if(tpartreimbursementRows.isEmpty()){
+        long sa_tpartreimbursementid = content.getLong("sa_tpartreimbursementid");
+        Rows tpartreimbursementRows = dbConnect.runSqlQuery("select * from sa_tpartreimbursement where sa_tpartreimbursementid=" + sa_tpartreimbursementid);
+        if (tpartreimbursementRows.isEmpty()) {
             return getErrReturnObject().setErrMsg("配件核销单不存在").toString();
         }
 
         /*
          * 过滤条件设置
          */
-        if(sys_enterpriseid<=0){
-            sys_enterpriseid=content.getLong("sys_enterpriseid");
+        if (sys_enterpriseid <= 0) {
+            sys_enterpriseid = content.getLong("sys_enterpriseid");
         }
         StringBuffer where = new StringBuffer(" 1=1 ");
         if (content.containsKey("where")) {
@@ -115,10 +107,10 @@ public class tpartreimbursementdetail extends Controller {
 
         QuerySQL querySQLdatails_jxs = SQLFactory.createQuerySQL(this, "sa_orderitems", "sa_orderitemsid");
         querySQLdatails_jxs.setTableAlias("t1");
-        querySQLdatails_jxs.addJoinTable(JOINTYPE.inner,"sa_order", "t2", "t1.sa_orderid = t2.sa_orderid AND t1.siteid = t2.siteid");
+        querySQLdatails_jxs.addJoinTable(JOINTYPE.inner, "sa_order", "t2", "t1.sa_orderid = t2.sa_orderid AND t1.siteid = t2.siteid");
         querySQLdatails_jxs.setSiteid(siteid);
         querySQLdatails_jxs.setWhere("t1.canoffqty>0");
-        querySQLdatails_jxs.setWhere("t2.sys_enterpriseid",sys_enterpriseid);
+        querySQLdatails_jxs.setWhere("t2.sys_enterpriseid", sys_enterpriseid);
         Rows rowsdatails_jxs = querySQLdatails_jxs.query();
 
         QuerySQL tpartreimbursementdetailQuery = SQLFactory.createQuerySQL(dbConnect, "sa_tpartreimbursementdetail", "sa_orderitemsid");
@@ -129,26 +121,26 @@ public class tpartreimbursementdetail extends Controller {
 
         QuerySQL orderitemsQuery = SQLFactory.createQuerySQL(dbConnect, "sa_orderitems", "sa_orderitemsid");
         orderitemsQuery.setTableAlias("t1");
-        orderitemsQuery.addJoinTable(JOINTYPE.left,tpartreimbursementdetailQuery,"t2","t1.sa_orderitemsid=t2.sa_orderitemsid");
+        orderitemsQuery.addJoinTable(JOINTYPE.left, tpartreimbursementdetailQuery, "t2", "t1.sa_orderitemsid=t2.sa_orderitemsid");
         orderitemsQuery.setWhere("t1.sa_orderitemsid", rowsdatails_jxs.toArrayList("sa_orderitemsid"));
         orderitemsQuery.addQueryFields("qty", "t1.tobeoffqty-ifnull(t2.sumqty,0)");
 
 
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems", "itemid","price","rowno","sa_orderitemsid","sa_orderid");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems", "itemid", "price", "rowno", "sa_orderitemsid", "sa_orderid");
         querySQL.setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.inner,"sa_order", "t2", "t1.sa_orderid = t2.sa_orderid AND t1.siteid = t2.siteid", "sonum");
-        querySQL.addJoinTable(JOINTYPE.left,"plm_item", "t3", "t1.itemid = t3.itemid AND t1.siteid = t3.siteid", "itemno","itemname","model","spec");
-        querySQL.addJoinTable(JOINTYPE.left,orderitemsQuery, "t4", "t4.sa_orderitemsid = t1.sa_orderitemsid", "qty");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_warrantycard", "t6", "t6.cardno=t1.cardno and t6.siteid=t1.siteid", "sku","name","phonenumber","address");
+        querySQL.addJoinTable(JOINTYPE.inner, "sa_order", "t2", "t1.sa_orderid = t2.sa_orderid AND t1.siteid = t2.siteid", "sonum");
+        querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t3", "t1.itemid = t3.itemid AND t1.siteid = t3.siteid", "itemno", "itemname", "model", "spec");
+        querySQL.addJoinTable(JOINTYPE.left, orderitemsQuery, "t4", "t4.sa_orderitemsid = t1.sa_orderitemsid", "qty");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_warrantycard", "t6", "t6.cardno=t1.cardno and t6.siteid=t1.siteid", "sku", "name", "phonenumber", "address");
         querySQL.setSiteid(siteid);
         querySQL.setWhere("t1.canoffqty>0 and t4.qty>0");
-        if(!tpartreimbursementRows.get(0).getBoolean("createflag")){
+        if (!tpartreimbursementRows.get(0).getBoolean("createflag")) {
             querySQL.setWhere("ifnull(t1.tobeoffqty,0)>ifnull(t1.verifiedqty,0) and ifnull(t1.tobeoffqty,0)>0");
         }
         querySQL.addQueryFields("cardname", "t6.name");
-        querySQL.setWhere("t2.sys_enterpriseid",sys_enterpriseid);
+        querySQL.setWhere("t2.sys_enterpriseid", sys_enterpriseid);
         querySQL.setWhere(where.toString());
-        querySQL.addQueryFields("amount","round(t4.qty*t1.price,2)");
+        querySQL.addQueryFields("amount", "round(t4.qty*t1.price,2)");
         querySQL.setOrderBy("t1.rowno asc");
         querySQL.setPage(pageSize, pageNumber);
         Rows rows = querySQL.query();
@@ -166,11 +158,11 @@ public class tpartreimbursementdetail extends Controller {
         ArrayList<String> sqlList = new ArrayList<>();
         Rows rowscount = dbConnect.runSqlQuery("select billno,status,createflag from sa_tpartreimbursement where sa_tpartreimbursementid=" + sa_tpartreimbursementid);
         if (!rowscount.isEmpty()) {
-            if(!rowscount.get(0).getBoolean("createflag")){
+            if (!rowscount.get(0).getBoolean("createflag")) {
                 if (!rowscount.get(0).getString("status").equals("新建") && !rowscount.get(0).getString("status").equals("提交")) {
                     return getErrReturnObject().setErrMsg("非新建,提交状态的配件核销单无法新增修改").toString();
                 }
-            }else{
+            } else {
                 if (rowscount.get(0).getString("status").equals("审核")) {
                     return getErrReturnObject().setErrMsg("审核状态的配件核销单无法新增修改").toString();
                 }
@@ -189,15 +181,15 @@ public class tpartreimbursementdetail extends Controller {
 
         QuerySQL orderitemsQuery = SQLFactory.createQuerySQL(dbConnect, "sa_orderitems", "sa_orderitemsid");
         orderitemsQuery.setTableAlias("t1");
-        orderitemsQuery.addJoinTable(JOINTYPE.left,tpartreimbursementdetailQuery,"t2","t1.sa_orderitemsid=t2.sa_orderitemsid");
+        orderitemsQuery.addJoinTable(JOINTYPE.left, tpartreimbursementdetailQuery, "t2", "t1.sa_orderitemsid=t2.sa_orderitemsid");
         orderitemsQuery.setWhere("t1.sa_orderitemsid", sa_orderitemsids);
         orderitemsQuery.addQueryFields("qty", "t1.tobeoffqty-ifnull(t2.sumqty,0)");
         Rows rows = orderitemsQuery.query();
         RowsMap rowsMap = rows.toRowsMap("sa_orderitemsid");
 //        if(!rowscount.get(0).getBoolean("createflag")){
         for (int i = 0; i < iteminfos.size(); i++) {
-            if(rowsMap.containsKey(iteminfos.getJSONObject(i).getStringValue("sa_orderitemsid"))){
-                if(rowsMap.get(iteminfos.getJSONObject(i).getStringValue("sa_orderitemsid")).get(0).getBigDecimal("qty").compareTo(iteminfos.getJSONObject(i).getBigDecimal("qty"))<0){
+            if (rowsMap.containsKey(iteminfos.getJSONObject(i).getStringValue("sa_orderitemsid"))) {
+                if (rowsMap.get(iteminfos.getJSONObject(i).getStringValue("sa_orderitemsid")).get(0).getBigDecimal("qty").compareTo(iteminfos.getJSONObject(i).getBigDecimal("qty")) < 0) {
                     //return getErrReturnObject().setErrMsg("该配件核销单数量不符合要求,请检查").toString();
                 }
             }
@@ -208,10 +200,7 @@ public class tpartreimbursementdetail extends Controller {
         long[] sa_tpartreimbursementdetailid = createTableID("sa_tpartreimbursementdetail", iteminfos.size());
         for (Object obj : iteminfos) {
             JSONObject iteminfo = (JSONObject) obj;
-            if (iteminfo.getLong("sa_tpartreimbursementdetailid") <= 0 || dbConnect
-                    .runSqlQuery("select sa_tpartreimbursementdetailid from sa_tpartreimbursementdetail where sa_tpartreimbursementdetailid="
-                            + iteminfo.getLong("sa_tpartreimbursementdetailid"))
-                    .isEmpty()) {
+            if (iteminfo.getLong("sa_tpartreimbursementdetailid") <= 0 || dbConnect.runSqlQuery("select sa_tpartreimbursementdetailid from sa_tpartreimbursementdetail where sa_tpartreimbursementdetailid=" + iteminfo.getLong("sa_tpartreimbursementdetailid")).isEmpty()) {
                 InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sa_tpartreimbursementdetail");
                 insertSQL.setUniqueid(sa_tpartreimbursementdetailid[i]);
                 insertSQL.setSiteid(siteid);
@@ -250,11 +239,11 @@ public class tpartreimbursementdetail extends Controller {
                 return getErrReturnObject().setErrMsg("审核状态的配件核销单无法修改可审核数量").toString();
             }
         }
-        if(rowsqty.isNotEmpty()){
-            if(checkqty.compareTo(rowsqty.get(0).getBigDecimal("qty"))>0){
+        if (rowsqty.isNotEmpty()) {
+            if (checkqty.compareTo(rowsqty.get(0).getBigDecimal("qty")) > 0) {
                 return getErrReturnObject().setErrMsg("审核数量不可大于申请数量").toString();
             }
-        }else{
+        } else {
             return getErrReturnObject().setErrMsg("配件核销单明细行不存在").toString();
         }
 
@@ -268,7 +257,6 @@ public class tpartreimbursementdetail extends Controller {
     }
 
 
-
     @API(title = "配件核销单明细列表", apiversion = R.ID2025081915194703.v1.class)
     @CACHEING
     public String quertpartreimbursementpjsList() throws YosException {
@@ -289,18 +277,18 @@ public class tpartreimbursementdetail extends Controller {
         }
         Long sa_tpartreimbursementid = content.getLong("sa_tpartreimbursementid");
 
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail",  "sa_tpartreimbursementdetailid","remarks","sa_orderitemsid","sa_tpartreimbursementid","qty","checkqty","hongbillno");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementdetailid", "remarks", "sa_orderitemsid", "sa_tpartreimbursementid", "qty", "checkqty", "hongbillno");
         querySQL.setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.inner, "sa_orderitems", "t2", "t1.sa_orderitemsid = t2.sa_orderitemsid AND t1.siteid = t2.siteid","price","amount","rowno","cardno","billingstatus");
-        querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t3", "t2.itemid = t3.itemid AND t2.siteid = t3.siteid","itemno","itemname","spec","model");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_order", "t4", "t2.sa_orderid = t4.sa_orderid AND t2.siteid = t4.siteid","sonum");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_warrantycard", "t5", "t2.cardno = t5.cardno AND t2.siteid = t5.siteid","name","phonenumber","address");
+        querySQL.addJoinTable(JOINTYPE.inner, "sa_orderitems", "t2", "t1.sa_orderitemsid = t2.sa_orderitemsid AND t1.siteid = t2.siteid", "price", "rowno", "cardno", "billingstatus");
+        querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t3", "t2.itemid = t3.itemid AND t2.siteid = t3.siteid", "itemno", "itemname", "spec", "model");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_order", "t4", "t2.sa_orderid = t4.sa_orderid AND t2.siteid = t4.siteid", "sonum");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_warrantycard", "t5", "t2.cardno = t5.cardno AND t2.siteid = t5.siteid", "name", "phonenumber", "address");
+        querySQL.addQueryFields("amount", "ROUND(t2.price*t1.qty,2)");
         querySQL.setSiteid(siteid);
-        querySQL.setWhere("t1.sa_tpartreimbursementid",sa_tpartreimbursementid);
+        querySQL.setWhere("t1.sa_tpartreimbursementid", sa_tpartreimbursementid);
         querySQL.setWhere(where.toString());
         querySQL.setPage(pageSize, pageNumber);
         Rows rows = querySQL.query();
-
         return getSucReturnObject().setData(rows).toString();
     }
 
@@ -314,8 +302,7 @@ public class tpartreimbursementdetail extends Controller {
         long sa_tpartreimbursementid = 0;
         for (Object o : sa_tpartreimbursementdetailids) {
             long sa_tpartreimbursementdetailid = Long.parseLong(o.toString());
-            Rows RowsStatus = dbConnect.runSqlQuery("select t1.sa_tpartreimbursementdetailid,t2.status,t1.sa_tpartreimbursementid from sa_tpartreimbursementdetail t1 left join sa_tpartreimbursement t2 on t1.sa_tpartreimbursementid=t2.sa_tpartreimbursementid and t1.siteid=t2.siteid where t1.siteid='"
-                    + siteid + "' and t1.sa_tpartreimbursementdetailid='" + sa_tpartreimbursementdetailid + "'");
+            Rows RowsStatus = dbConnect.runSqlQuery("select t1.sa_tpartreimbursementdetailid,t2.status,t1.sa_tpartreimbursementid from sa_tpartreimbursementdetail t1 left join sa_tpartreimbursement t2 on t1.sa_tpartreimbursementid=t2.sa_tpartreimbursementid and t1.siteid=t2.siteid where t1.siteid='" + siteid + "' and t1.sa_tpartreimbursementdetailid='" + sa_tpartreimbursementdetailid + "'");
 
             if (RowsStatus.isNotEmpty()) {
                 sa_tpartreimbursementid = RowsStatus.get(0).getLong("sa_tpartreimbursementid");
@@ -325,8 +312,7 @@ public class tpartreimbursementdetail extends Controller {
                 }
             }
             ArrayList<String> list = new ArrayList<>();
-            list.add("delete from sa_tpartreimbursementdetail where siteid='" + siteid
-                    + "' and sa_tpartreimbursementdetailid=" + sa_tpartreimbursementdetailid);
+            list.add("delete from sa_tpartreimbursementdetail where siteid='" + siteid + "' and sa_tpartreimbursementdetailid=" + sa_tpartreimbursementdetailid);
 
             dbConnect.runSqlUpdate(list);
         }