zhuyiyi 6 месяцев назад
Родитель
Сommit
89d858d7fa

+ 1 - 1
BizCom/Dao/CeErpTradeResponsible.cs

@@ -156,7 +156,7 @@ namespace BizCom
         public static void DelByTid(object id, int state)
         {
             StringBuilder sql = new StringBuilder();
-            sql.AppendFormat("update CE_ErpTradeResponsible set VerifyState = " + state + ", VerifyTime=GETDATE() where tid='" + id + "' and VerifyState > -1");
+            sql.AppendFormat("update CE_ErpTradeResponsible set VerifyState = " + state + ", VerifyTime=GETDATE() where tid='" + id + "' and VerifyState > -1 AND VerifyState <> 1");
             ExecuteNonQuery(sql.ToString());
         }
         public static void DelById(object id, int state)

+ 12 - 3
SiteCore/Handler/sync.order.cs

@@ -7590,7 +7590,6 @@ namespace SiteCore.Handler
                     entity.AfterSaleResSupId = GetPostInt("ResponsibleSupId");
                     if (entity.ResponsibleUserId.Length > 0 && entity.AfterSaleResponsible.Length > 0)
                     {
-                        CeErpTradeResponsible.DelByTid(eid, -1);
                         CeErpTradeResponsible number = CeErpTradeResponsible.GetByCtid(eid);
                         int backNum = 0;
                         if (number != null)
@@ -7605,6 +7604,7 @@ namespace SiteCore.Handler
                             refundFreeList = refundFees.Split(separator);
                         }
                         int index = -1;
+                        List<int> responsibleIds = new List<int>();
                         foreach (string i in sArray)
                         {
                             index++;
@@ -7657,15 +7657,22 @@ namespace SiteCore.Handler
                                 }
                             }
 
+                            int state = 0;
+                            //已认可的不需要再次认可
+                            if (ceErpTradeResponsible.VerifyState == 1)
+                            {
+                                state = 1;
+                            }
+
                             ceErpTradeResponsible.RefundFee = refudFree;
-                            ceErpTradeResponsible.VerifyState = 0;
+                            ceErpTradeResponsible.VerifyState = state;
                             if (userId == 2125 || idtype == "w")
                             {
                                 ceErpTradeResponsible.VerifyState = 1;
                             }
                             if (idtype == "w" && userId == 101)
                             {
-                                ceErpTradeResponsible.VerifyState = 0;
+                                ceErpTradeResponsible.VerifyState = state;
                             }
                             if (ceErpTradeResponsible.ID > 0)
                             {
@@ -7679,7 +7686,9 @@ namespace SiteCore.Handler
                             {
                                 responsibleId = ceErpTradeResponsible.ID;
                             }
+                            responsibleIds.Add(responsibleId);
                         }
+                        CeErpTradeResponsible.ExecuteNonQuery(string.Format("update CE_ErpTradeResponsible set VerifyState =-1 where tid='" + eid + "' and ID NOT IN (" + string.Join(",", responsibleIds) + ")"));
                         CeErpTradeResponsible.NumByTid(backNum, eid);
                     }
                     CeErpTradeCellExtend ceErpTradeCellExtend = CeErpTradeCellExtend.getByTid(entity.ctid);

+ 7 - 0
SiteCore/taobao/commonHelper.cs

@@ -2774,6 +2774,13 @@ namespace SiteCore
 
                 dispatchSort = 0;
 
+            }
+            if (ceErpTradeCell.payment >= 500 && spu_shopIds.Contains(ceErpTradeCell.ShopId) && !spu_products.Contains(ceErpTradeCell.ProductId))
+            {
+                ceErpTradeCellExtend.ToType = "内部";
+
+                dispatchSort = 0;
+
             }
 
             string sql_pay = string.Format("update CE_ErpTradeCell with(rowlock) set DispatchSort={0} where ctid='{1}';", dispatchSort, ceErpTradeCell.ctid);