Просмотр исходного кода

Merge remote-tracking branch 'origin/develop' into develop

shenjingwei 4 месяцев назад
Родитель
Сommit
4b21ec6c39

+ 1 - 1
src/custom/restcontroller/webmanage/sale/accessoryorder/accessoryorder.java

@@ -140,7 +140,7 @@ public class accessoryorder extends Controller {
         if (!statusList.isEmpty()) {
             querySQL.setWhere("t1.status", statusList);
         }
-        querySQL.setOrderBy("t1.sa_orderid desc");
+        querySQL.setOrderBy("t1.submitdate desc");
         Rows rows;
         querySQL.setPage(pageSize, pageNumber);
         rows = querySQL.query();

+ 1 - 0
src/custom/restcontroller/webmanage/sale/aftersalesbom/aftersalesbom_items.java

@@ -136,6 +136,7 @@ public class aftersalesbom_items extends Controller {
         Long sa_aftersalesbomid = content.getLong("sa_aftersalesbomid");
 
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_aftersalesbom_items",  "*");
+        querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t2", "t1.itemid = t2.itemid AND t1.siteid = t2.siteid","model");
         querySQL.setTableAlias("t1");
         querySQL.setSiteid(siteid);
         querySQL.setWhere("t1.sa_aftersalesbomid",sa_aftersalesbomid);

+ 6 - 1
src/custom/restcontroller/webmanage/sale/tpartreimbursement/tpartreimbursement.java

@@ -542,7 +542,7 @@ public class tpartreimbursement extends Controller {
 //        }
 
         String tableName = "st_stockbill";
-        Rows stocks = dbConnect.runSqlQuery("select stockid from st_stock where stockname='配件仓库' and siteid='" + siteid + "'");
+        Rows stocks = dbConnect.runSqlQuery("select stockid from st_stock where stockno='111' and siteid='" + siteid + "'");
         Rows department = dbConnect.runSqlQuery("select departmentid from sys_department where depname='售后部' and siteid='" + siteid + "'");
         List<Long> list = new ArrayList<>();
 
@@ -624,6 +624,11 @@ public class tpartreimbursement extends Controller {
                 insertDetailSQL.setValue("discountrate", iteminfo.getBigDecimal("discountrate"));
                 insertDetailSQL.setValue("sa_dispatch_itemsid", 0);
                 insertDetailSQL.setValue("defaultprice", iteminfo.getBigDecimal("defaultprice"));
+                if (stocks.isEmpty()) {
+                    insertDetailSQL.setValue("stockid", 0);
+                } else {
+                    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"));

+ 49 - 3
src/custom/restcontroller/webmanage/sale/tpartreimbursement/tpartreimbursementdetail.java

@@ -14,6 +14,7 @@ import restcontroller.R;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.HashMap;
 
 @API(title = "配件核销单明细")
 public class tpartreimbursementdetail extends Controller {
@@ -26,14 +27,59 @@ public class tpartreimbursementdetail extends Controller {
     public String queryAgents() throws YosException {
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursement");
         querySQL.setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.inner, "sa_agents", "t2", "t1.siteid = t2.siteid and t1.sys_enterpriseid = t2.sys_enterpriseid", "agentnum","signingstate","delivery");
-        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t3", "t1.siteid = t3.siteid and t1.sys_enterpriseid = t3.sys_enterpriseid", "sys_enterpriseid",
-                "phonenumber", "contact", "enterprisename","abbreviation");
+        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", "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)");
         querySQL.setPage(pageSize, pageNumber);
         Rows rows = querySQL.query();
+        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.checkdate, '%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.checkdate, '%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_yhx.setTableAlias("t1");
+        querySQL_yhx.setSiteid(siteid);
+        querySQL_yhx.setWhere("t1.sys_enterpriseid", rows.toArrayList("sys_enterpriseid"));
+        querySQL_yhx.setWhere("t1.sourceobject='tpartreimbursement' and t1.status='审核' and t1.type='销售出库' and DATE_FORMAT(t1.checkdate, '%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");
+            }
+            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(sumamountRowsMap.get(row.getString("sys_enterpriseid")).sum("paydiscountamount"));
+            }
+            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")));
 
         return getSucReturnObject().setData(rows).toString();
     }

+ 6 - 0
src/custom/restcontroller/webmanage/sale/warrantycard/warrantycard.java

@@ -47,6 +47,9 @@ public class warrantycard extends Controller {
             if (whereObject.containsKey("sku") && !"".equals(whereObject.getString("sku"))) {
                 where.append(" and t1.sku ='" + whereObject.getString("sku") + "' ");
             }
+            if (whereObject.containsKey("isvoid") && !"".equals(whereObject.getString("isvoid"))) {
+                where.append(" and t1.isvoid ='" + whereObject.getString("isvoid") + "' ");
+            }
             if (whereObject.containsKey("sys_enterpriseid") && !"".equals(whereObject.getString("sys_enterpriseid"))) {
                 where.append(" and (t3.sys_enterpriseid ='" + whereObject.getString("sys_enterpriseid") + "' or t7.sys_enterpriseid ='" + whereObject.getString("sys_enterpriseid") + "') ");
             }
@@ -126,6 +129,9 @@ public class warrantycard extends Controller {
             if (whereObject.containsKey("bxjzenddate") && !"".equals(whereObject.getString("bxjzenddate"))) {
                 where.append(" and t1.enddate <='" + whereObject.getString("bxjzenddate") + "' ");
             }
+            if (whereObject.containsKey("isvoid") && !"".equals(whereObject.getString("isvoid"))) {
+                where.append(" and t1.isvoid ='" + whereObject.getString("isvoid") + "' ");
+            }
             if (whereObject.containsKey("sku") && !"".equals(whereObject.getString("sku"))) {
                 where.append(" and t1.sku ='" + whereObject.getString("sku") + "' ");
             }