Parcourir la source

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

shenjingwei il y a 4 mois
Parent
commit
f82f48311d

+ 17 - 12
src/custom/restcontroller/sale/stockbill/stockbill.java

@@ -8,6 +8,8 @@ import common.data.*;
 import restcontroller.R;
 import common.annotation.CACHEING;
 
+import java.math.BigDecimal;
+
 @API(title = "经销商到货确认单")
 public class stockbill extends Controller {
 
@@ -98,18 +100,21 @@ public class stockbill extends Controller {
         Rows itemRows = dbConnect.runSqlQuery("select t1.*,ifnull(t1.sa_orderitemsid,0) sa_orderitemsidnum from st_stockbill_items t1 where t1.st_stockbillid ='" + st_stockbillid + "'");
         Rows codeRows = dbConnect.runSqlQuery("select t1.* from st_stockbill_items_sku t1 where t1.st_stockbillid ='" + st_stockbillid + "'");
         if(isreceiver){
-            RowsMap codeRowsMap = codeRows.toRowsMap("st_stockbill_itemsid");
-            for(Row row:itemRows){
-                if(row.getBoolean("skucontrol")){
-                    if(codeRowsMap.containsKey(row.getString("st_stockbill_itemsid"))){
-                        if(codeRowsMap.get(row.getString("st_stockbill_itemsid")).size()!=row.getInteger("qty")){
-                            throw new YosException("行号:"+row.getString("rowno")+"序列号数量和出库数量不一致,无法到货确认!");
-                        }
-                    }else{
-                        throw new YosException("受序列号管控的商品,到货确认必须有序列号");
-                    }
-                }
-
+//            RowsMap codeRowsMap = codeRows.toRowsMap("st_stockbill_itemsid");
+//            for(Row row:itemRows){
+//                if(row.getBoolean("skucontrol")){
+//                    if(codeRowsMap.containsKey(row.getString("st_stockbill_itemsid"))){
+//                        if(codeRowsMap.get(row.getString("st_stockbill_itemsid")).size()!=row.getInteger("qty")){
+//                            throw new YosException("行号:"+row.getString("rowno")+"序列号数量和出库数量不一致,无法到货确认!");
+//                        }
+//                    }else{
+//                    throw new YosException("受序列号管控的商品,到货确认必须有序列号");
+//                    }
+//                }
+//
+//            }
+            if(BigDecimal.valueOf(codeRows.size()).compareTo(itemRows.toRowsMap("skucontrol").get("1").sum("qty"))!=0){
+                           throw new YosException("序列号数量和出库数量不一致,无法到货确认!");
             }
         }
 

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

@@ -979,6 +979,12 @@ public class Customer extends Controller {
                 where.append("t1.name like'%").append(whereObject.getString("condition")).append("%' ");
                 where.append(")");
             }
+            if (whereObject.containsKey("sys_enterpriseid") && !"".equals(whereObject.getString("sys_enterpriseid"))) {
+                where.append(" and(");
+                where.append("t2.sys_enterpriseid ='").append(whereObject.getString("sys_enterpriseid")).append("' ");
+                where.append(" or t4.sys_enterpriseid ='").append(whereObject.getString("sys_enterpriseid")).append("' ");
+                where.append(")");
+            }
         }
         QuerySQL querySQL;
         querySQL = SQLFactory.createQuerySQL(this, "sa_customers", "sa_customersid","name","phonenumber","province","city","county","address","createdate","sa_agentsid","sa_agentsid_to");

+ 3 - 3
src/custom/restcontroller/webmanage/sale/order/Order.java

@@ -1747,9 +1747,9 @@ public class Order extends Controller {
             enterprisefinancerow=enterprisefinancerows.get(0);
         }
 
-        if(stockbillRows.isNotEmpty()){
-            return getErrReturnObject().setErrMsg("存在配件申请单明细已生成销售出库单,无法一键出库").toString();
-        }
+//        if(stockbillRows.isNotEmpty()){
+//            return getErrReturnObject().setErrMsg("存在配件申请单明细已生成销售出库单,无法一键出库").toString();
+//        }
         Rows rows = getOrderRows(this, sa_orderid);
         if (rows.isEmpty()) {
             return getErrReturnObject().setErrMsg("配件申请单不存在").toString();

+ 5 - 4
src/custom/restcontroller/webmanage/sale/sendrepair/sendrepair.java

@@ -109,11 +109,12 @@ public class sendrepair extends Controller {
         querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.sys_enterpriseid = t2.sys_enterpriseid AND t1.siteid = t2.siteid","enterprisename");
         querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t1.sys_enterpriseid = t3.sys_enterpriseid AND t1.siteid = t3.siteid","agentnum");
         querySQL.addJoinTable(JOINTYPE.left, "sa_sendrepair_detail", "t4", "t1.sa_sendrepairid = t4.sa_sendrepairid AND t1.siteid = t4.siteid","newspec","newitemno","newitemname",
-                "newitemid","newsku","agentcost","practicalamount","amount","logisticscost","logistics","idearemarks","disposition","demand","reason","duty",
+                "newitemid","newsku","agentcost","practicalamount","logisticscost","logistics","idearemarks","disposition","demand","reason","duty",
                 "stockdate","enddate","phonenumber","name","qty","itemid","sku","price");
         querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t5", "t5.itemid = t4.itemid AND t5.siteid = t4.siteid","itemname","itemno","spec","model");
         querySQL.addJoinTable(JOINTYPE.left, "plm_unit", "t6", "t5.unitid = t6.unitid AND t5.siteid = t6.siteid","unitname");
         querySQL.addQueryFields("remarksdetail","t4.remarks");
+        querySQL.addQueryFields("amountdetail","t4.amount");
         querySQL.setSiteid(siteid);
         querySQL.setWhere("t1.sa_sendrepairid",sa_sendrepairid);
         querySQL.setPage(pageSize, pageNumber);
@@ -645,7 +646,7 @@ public class sendrepair extends Controller {
                     cashbillEntity.setOwnertable("sa_sendrepair");
                     cashbillEntity.setRemarks("该单由送修单" + row.getString("billno") + "审核时自动生成");
                     cashbillEntity.setSource("送修单审核");
-                    cashbillEntity.setTypemx("维修费");
+                    cashbillEntity.setType("维修费");
                     JSONObject cashbillPay = Accountbalance.createCashbillPay(this, row.getLong("sys_enterpriseid"), sa_accountclassid, cashbillEntity, true);
                     sqlList.addAll(cashbillPay.getJSONArray("sqlList").toJavaList(String.class));
                 } else {
@@ -656,7 +657,7 @@ public class sendrepair extends Controller {
                     cashbillEntity.setOwnertable("sa_sendrepair");
                     cashbillEntity.setRemarks("该单由送修单" + row.getString("billno") + "反审核时自动生成");
                     cashbillEntity.setSource("送修单反审核");
-                    cashbillEntity.setTypemx("维修费");
+                    cashbillEntity.setType("维修费");
                     JSONObject cashbillPay = Accountbalance.createCashbillPay(this, row.getLong("sys_enterpriseid"), sa_accountclassid, cashbillEntity, true);
                     sqlList.addAll(cashbillPay.getJSONArray("sqlList").toJavaList(String.class));
                 }
@@ -757,7 +758,7 @@ public class sendrepair extends Controller {
                 cashbillEntity.setOwnertable("sa_sendrepair");
                 cashbillEntity.setRemarks("该单由送修单" + row.getString("billno") +(ischeck ? "审核" : "反审核")+"时自动生成");
                 cashbillEntity.setSource("送修单"+(ischeck ? "审核" : "反审核"));
-                cashbillEntity.setTypemx("整机退款");
+                cashbillEntity.setType("整机退款");
                 JSONObject cashbillPay = Accountbalance.createCashbillPay(this, row.getLong("sys_enterpriseid"), sa_accountclassid, cashbillEntity, true);
                 sqlList.addAll(cashbillPay.getJSONArray("sqlList").toJavaList(String.class));
             }

+ 28 - 8
src/custom/restcontroller/webmanage/sale/stockbill/stockbill.java

@@ -245,22 +245,26 @@ public class stockbill extends Controller {
             if(rowsMap.containsKey(st_stockbillid)){
                 if(rowsMap.get(st_stockbillid).get(0).getString("status").equals("审核")){
                     if (periodrowsMap.get("1").toRowsMap("period").containsKey(period)) {
-                        batchDeleteErr.addErr(st_stockbillid, "原单据会计期间已关闭,不可调整");
+                        batchDeleteErr.addErr(rowsMap.get(st_stockbillid).get(0).getString("billno"), "原单据会计期间已关闭,不可调整");
                         continue;
                     }else if(!periodrowsMap.get("0").toRowsMap("period").containsKey(period)){
-                        batchDeleteErr.addErr(st_stockbillid, "原单据会计期间未生成,不可调整");
+                        batchDeleteErr.addErr(rowsMap.get(st_stockbillid).get(0).getString("billno"), "原单据会计期间未生成,不可调整");
                         continue;
                     }
                 }
             }else{
-                batchDeleteErr.addErr(st_stockbillid, "该单据不存在");
+                batchDeleteErr.addErr(String.valueOf(st_stockbillid), "该单据不存在");
                 continue;
             }
             sqlList.add(DataContrlLog.createLog(this, "st_stockbill", st_stockbillid, "更新", "单据日期【"+content.getString("billdate")+"】调整成功").getSQL());
             sqlList.add("update st_stockbill set billdate='"+content.getString("billdate")+"',period='"+period+"' where st_stockbillid="+st_stockbillid);
         }
         dbConnect.runSqlUpdate(sqlList);
-        return batchDeleteErr.getReturnObject().toString();
+        HashMap<String,Object> result=new HashMap<>();
+        String success= "共需"+st_stockbillids.size()+"张单据日期调整,其中失败"+ batchDeleteErr.size()+"张!";
+        result.put("success",success);
+        result.put("errinfo",batchDeleteErr.getReturnObject());
+        return getSucReturnObject().setData(result).toString();
     }
 
 
@@ -506,11 +510,27 @@ public class stockbill extends Controller {
     @CACHEING_CLEAN(apiClass = {stockbill.class, stockbillitems.class, Order.class, OrderItems.class, restcontroller.sale.stockbill.stockbill.class})
     public String check() throws YosException {
         JSONArray st_stockbillids = content.getJSONArray("st_stockbillids");
-        for (Object o : st_stockbillids) {
-            long st_stockbillid = Long.parseLong(o.toString());
-            Stockbill.check(this, st_stockbillid, true);
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "st_stockbill", "billno","st_stockbillid");
+        querySQL.setTableAlias("t1");
+        querySQL.setSiteid(siteid);
+        querySQL.setWhere("t1.st_stockbillid",st_stockbillids);
+        Rows stockbillrows = querySQL.query();
+        BatchDeleteErr batchDeleteErr = BatchDeleteErr.create(this, stockbillrows.size());
+        for (Row row : stockbillrows) {
+            long st_stockbillid =row.getLong("st_stockbillid");
+            String billno=row.getString("billno");
+            try {
+                Stockbill.check(this, st_stockbillid, true);
+            }catch (Exception e){
+                batchDeleteErr.addErr(billno,e.getMessage());
+            }
+
         }
-        return getSucReturnObject().toString();
+        HashMap<String,Object> result=new HashMap<>();
+        String success= "共审核"+st_stockbillids.size()+"张出入库单,其中失败"+ batchDeleteErr.size()+"张!";
+        result.put("success",success);
+        result.put("errinfo",batchDeleteErr.getReturnObject());
+        return getSucReturnObject().setData(result).toString();
     }
 
     @API(title = "反审核", apiversion = R.ID20230719154203.v1.class)

+ 3 - 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("sys_enterpriseid") && !"".equals(whereObject.getString("sys_enterpriseid"))) {
+                where.append(" and t3.sys_enterpriseid ='" + whereObject.getString("sys_enterpriseid") + "' ");
+            }
         }
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_warrantycard", "*");
         querySQL.setAsyncRowCount(true);//设置为延迟查询总行数

+ 23 - 24
src/custom/restcontroller/webmanage/sale/workorder/workorder.java

@@ -1081,30 +1081,29 @@ public class workorder extends Controller {
                 if (itemrows.get(0).getLong("sa_customersid") != 0) {
                     sa_customersid = itemrows.get(0).getLong("sa_customersid");
                     customeragentsid = itemrows.get(0).getLong("customeragentsid");
-                } else if (false) {
-                    //查询序列号是否有客户id(通过crm门店出库单中间表查询)待更新
-                } else {
-                    InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sa_customers");
-                    sa_customersid = createTableID("sa_customers");
-                    insertSQL.setUniqueid(sa_customersid);
-                    insertSQL.setSiteid(siteid);
-                    if (itemrows.get(0).getLong("sa_agentsid") == 0) {
-                        insertSQL.setValue("sa_agentsid", itemrows.get(0).getLong("sa_agentsid_to"));
-                        customeragentsid = itemrows.get(0).getLong("sa_agentsid_to");
-                    } else {
-                        insertSQL.setValue("sa_agentsid", itemrows.get(0).getLong("sa_agentsid"));
-                        customeragentsid = itemrows.get(0).getLong("sa_agentsid");
-                    }
-                    insertSQL.setValue("sa_agentsid_to", itemrows.get(0).getLong("sa_agentsid_to"));
-                    insertSQL.setValue("name", itemrows.get(0).getString("name"));
-                    insertSQL.setValue("phonenumber", itemrows.get(0).getString("phonenumber"));
-                    insertSQL.setValue("province", itemrows.get(0).getString("province"));
-                    insertSQL.setValue("city", itemrows.get(0).getString("city"));
-                    insertSQL.setValue("county", itemrows.get(0).getString("county"));
-                    insertSQL.setValue("address", itemrows.get(0).getString("address"));
-                    insertSQL.setValue("sa_customersid", sa_customersid);
-                    insertSQL.setValue("itemid", itemrows.get(0).getLong("itemid"));
-                    sqlList.add(insertSQL.getSQL());
+                }else {
+                     return getErrReturnObject().setErrMsg("客户不存在").toString();
+//                    InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sa_customers");
+//                    sa_customersid = createTableID("sa_customers");
+//                    insertSQL.setUniqueid(sa_customersid);
+//                    insertSQL.setSiteid(siteid);
+//                    if (itemrows.get(0).getLong("sa_agentsid") == 0) {
+//                        insertSQL.setValue("sa_agentsid", itemrows.get(0).getLong("sa_agentsid_to"));
+//                        customeragentsid = itemrows.get(0).getLong("sa_agentsid_to");
+//                    } else {
+//                        insertSQL.setValue("sa_agentsid", itemrows.get(0).getLong("sa_agentsid"));
+//                        customeragentsid = itemrows.get(0).getLong("sa_agentsid");
+//                    }
+//                    insertSQL.setValue("sa_agentsid_to", itemrows.get(0).getLong("sa_agentsid_to"));
+//                    insertSQL.setValue("name", itemrows.get(0).getString("name"));
+//                    insertSQL.setValue("phonenumber", itemrows.get(0).getString("phonenumber"));
+//                    insertSQL.setValue("province", itemrows.get(0).getString("province"));
+//                    insertSQL.setValue("city", itemrows.get(0).getString("city"));
+//                    insertSQL.setValue("county", itemrows.get(0).getString("county"));
+//                    insertSQL.setValue("address", itemrows.get(0).getString("address"));
+//                    insertSQL.setValue("sa_customersid", sa_customersid);
+//                    insertSQL.setValue("itemid", itemrows.get(0).getLong("itemid"));
+//                    sqlList.add(insertSQL.getSQL());
                 }
 
                 LocalDate now = LocalDate.now();