zhuyiyi 9 月之前
父節點
當前提交
9a6c26af12

+ 14 - 0
BizCom/Dao/CeErpTradeResponsible.cs

@@ -136,6 +136,16 @@ namespace BizCom
             set { _refundFee = value; }
         }
 
+        private int _type = 0;
+        /// <summary>
+        /// 类型 0普通1供应商2物流3系统
+        /// </summary>
+        [Property]
+        public int type
+        {
+            get { return _type; }
+            set { _type = value; }
+        }
 
         public static void Del(object id)
         {
@@ -172,6 +182,10 @@ namespace BizCom
         {
             return FindFirst(Expression.Sql(string.Format("tid='{0}' and UserId='{1}' and IsSup='{2}' and IsFlow = {3}", ctid, userId, isSup, isFlow)));
         }
+        public static CeErpTradeResponsible GetByUserIdType(string ctid, int userId, int type)
+        {
+            return FindFirst(Expression.Sql(string.Format("tid='{0}' and UserId='{1}' and type={2}", ctid, userId, type)));
+        }
         public static CeErpTradeResponsible GetByCtid(string ctid)
         {
             return FindFirst(Expression.Sql(string.Format("tid='{0}'", ctid)));

+ 45 - 47
SiteCore/Handler/sync.order.cs

@@ -2624,7 +2624,7 @@ namespace SiteCore.Handler
             if (dt.Rows.Count <= 0)
             {
                 sql = new StringBuilder();
-                sql.AppendFormat("select * from CE_ErpTradeResponsible where UserId={0} and  VerifyState=3 and IsFlow = 0 and IsSup = 0 ", userId);
+                sql.AppendFormat("select * from CE_ErpTradeResponsible where UserId={0} and  VerifyState=3 and type = 0 ", userId);
                 dt = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
             }
 
@@ -6283,7 +6283,7 @@ namespace SiteCore.Handler
             {
                 lw.Add(string.Format("AfterSaleResSupId in ({0})", CurrentUser.User.pemVend));
                 lw.Add(string.Format("VerifyState = 0"));
-                lw.Add("COALESCE(IsSup,0) = 1");
+                lw.Add("type = 1");
                 lw.Add(string.Format("AfterSaleState={0}", 3));
                 lw.Add(string.Format("IsSupNeedAfterSale=1")); //特定的供应商才需要供应商审核;
                 dStruct.Order = "AfterSaleState asc,HandleTime desc";
@@ -6295,7 +6295,7 @@ namespace SiteCore.Handler
             {
                 lw.Add(string.Format("UserId in ({0})", CurrentUser.User.pemLogistics));
                 lw.Add(string.Format("VerifyState = 0"));
-                lw.Add("COALESCE(IsFlow,0) = 1");
+                lw.Add("type = 2");
                 lw.Add(string.Format("AfterSaleState={0}", 3));
                 dStruct.Order = "AfterSaleState asc,HandleTime desc";
                 dStruct.MainWhere = string.Join(" and ", lw.ToArray());
@@ -6306,8 +6306,7 @@ namespace SiteCore.Handler
             {
                 lw.Add(string.Format("(AfterSaleState = 3)"));
                 string reasonState = GetPostString("reasonState");
-                lw.Add("COALESCE(IsSup,0) = 0");
-                lw.Add("COALESCE(IsFlow,0) = 0");
+                lw.Add("type = 0");
                 if (posCode == "SysAdmin" || posCode == "AfterSaleMaster" || posCode == "AfterSale"
                     || posCode == "Summarize" || posCode == "Finance")
                 {
@@ -6436,7 +6435,7 @@ namespace SiteCore.Handler
             else if (code == "logistics")
             {
                 lw.Add(string.Format("userId in ({0})", CurrentUser.User.pemLogistics));
-                lw.Add("COALESCE(IsFlow,0) = 1");
+                lw.Add("type = 2");
                 dStruct.Order = "AfterSaleSupplierState asc,HandleTime desc";
             }
             else if (CurrentUser.UserPost.Post.Code == "Director" || CurrentUser.UserPost.Post.Code == "CustomerMaster" || CurrentUser.UserPost.Post.Code == "CustomerMr" || CurrentUser.UserPost.Post.Code == "DesignerMr" || CurrentUser.UserPost.Post.Code == "wxDesignerMr" || CurrentUser.UserPost.Post.Code == "Designerhd" || CurrentUser.UserPost.Post.Code == "PlaceMr")
@@ -6745,58 +6744,57 @@ namespace SiteCore.Handler
                                 designFree = refudFree;
                             }
                             int userId = Convert.ToInt32(idstr);
-                            int isSup = 0;
-                            if (gysid != 0 && gysid == userId)
+                            int type = 0;
+                            if (idtype == "g")
                             {
-                                isSup = 1;
+                                type = 1;
                             }
-                            CeErpTradeResponsible ceErpTradeResponsible = CeErpTradeResponsible.GetByUserId(eid, userId, isSup, idtype == "w" ? 1 : 0);
+                            if (idtype == "w")
+                            {
+                                type = 2;
+                            }
+                            if (idtype == "t")
+                            {
+                                type = 3;
+                            }
+
+                            CeErpTradeResponsible ceErpTradeResponsible = CeErpTradeResponsible.GetByUserIdType(eid, userId, type);
                             if (ceErpTradeResponsible == null)
                             {
                                 ceErpTradeResponsible = new CeErpTradeResponsible();
                                 ceErpTradeResponsible.tid = eid;
-                                ceErpTradeResponsible.VerifyState = 0;
                                 ceErpTradeResponsible.UserId = userId;
-                                ceErpTradeResponsible.IsSup = isSup;
-                                ceErpTradeResponsible.RefundFee = refudFree;
-
                                 ceErpTradeResponsible.createdTime = DateTime.Now;
-                                if (userId == 2125)
-                                {
-                                    ceErpTradeResponsible.VerifyState = 1;
+                                ceErpTradeResponsible.type = type;
 
+                                if (type == 1)
+                                {
+                                    ceErpTradeResponsible.IsSup = 1;
                                 }
-                                if (idtype == "w")
+                                if (type == 2)
                                 {
                                     ceErpTradeResponsible.IsFlow = 1;
-                                    ceErpTradeResponsible.VerifyState = 1;
-                                    if (userId == 101)
-                                    {
-                                        ceErpTradeResponsible.VerifyState = 0;
-                                    }
                                 }
-                                ceErpTradeResponsible.Create();
                             }
-                            else
+
+                            ceErpTradeResponsible.RefundFee = refudFree;
+                            ceErpTradeResponsible.VerifyState = 0;
+                            if (userId == 2125 || idtype == "w")
+                            {
+                                ceErpTradeResponsible.VerifyState = 1;
+                            }
+                            if (idtype == "w" && userId == 101)
                             {
-                                ceErpTradeResponsible.RefundFee = refudFree;
                                 ceErpTradeResponsible.VerifyState = 0;
-                                if (userId == 2125)
-                                {
-                                    ceErpTradeResponsible.VerifyState = 1;
-
-                                }
-                                if (idtype == "w")
-                                {
-                                    ceErpTradeResponsible.VerifyState = 1;
-                                    if (userId == 101)
-                                    {
-                                        ceErpTradeResponsible.VerifyState = 0;
-                                    }
-                                }
+                            }
+                            if (ceErpTradeResponsible.ID > 0)
+                            {
                                 ceErpTradeResponsible.Update();
                             }
-
+                            else
+                            {
+                                ceErpTradeResponsible.Create();
+                            }
                             if (isDesign)
                             {
                                 responsibleId = ceErpTradeResponsible.ID;
@@ -10933,7 +10931,7 @@ namespace SiteCore.Handler
                 ceErpTradeCell.AfterSaleSupplierMemo = "";//重置不认同
                 ceErpTradeCell.AfterSaleSupplierState = 0;
                 StringBuilder sql = new StringBuilder();
-                sql.AppendFormat("select IsFlow,IsSup,UserId,ID,OrgPath,OrgID from view_ErpTradeResponsible where tid='{0}' and VerifyState > -1", ctid);
+                sql.AppendFormat("select type,UserId,ID,OrgPath,OrgID from view_ErpTradeResponsible where tid='{0}' and VerifyState > -1", ctid);
                 DataTable dt = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
                 if ((ceErpTradeCell.AfterSaleResponsible.IndexOf("客户问题") != -1 && ceErpTradeCell.AfterSaleResponsible.IndexOf(",客户问题") == -1) || (ceErpTradeCell.AfterSaleResponsible.IndexOf("系统问题") != -1 && ceErpTradeCell.AfterSaleResponsible.IndexOf(",系统问题") == -1) || ceErpTradeCell.supRefundType == "正常损耗" || ceErpTradeCell.supRefundType == "车间不售后" || ceErpTradeCell.supRefundType == "不售后" || ceErpTradeCell.supRefundType == "不理赔")
                 {
@@ -10954,17 +10952,17 @@ namespace SiteCore.Handler
                         bool isEnd = false;
                         foreach (DataRow dr in dt.Rows)
                         {
-                            if (!Convert.IsDBNull(dr["IsFlow"]) && Convert.ToInt32(dr["IsFlow"]) == 1 && Convert.ToInt32(dr["UserId"]) != 101)//物流
+                            if (!Convert.IsDBNull(dr["type"]) && Convert.ToInt32(dr["type"]) == 2 && Convert.ToInt32(dr["UserId"]) != 101)//物流
                             {
                                 CeErpTradeResponsible.DelById(dr["ID"], 1);
                                 isEnd = true;
                             }
-                            if (!Convert.IsDBNull(dr["IsFlow"]) && Convert.ToInt32(dr["IsFlow"]) == 0 && !Convert.IsDBNull(dr["IsSup"]) && Convert.ToInt32(dr["IsSup"]) == 0 && Convert.ToInt32(dr["UserId"]) == 2125)//设计系统
+                            if (!Convert.IsDBNull(dr["type"]) && Convert.ToInt32(dr["type"]) == 0 && Convert.ToInt32(dr["UserId"]) == 2125)//设计系统
                             {
                                 CeErpTradeResponsible.DelById(dr["ID"], 1);
                                 isEnd = true;
                             }
-                            if (!Convert.IsDBNull(dr["IsSup"]) && Convert.ToInt32(dr["IsSup"]) == 1 && Convert.ToInt32(dr["UserId"]) == 64)
+                            if (!Convert.IsDBNull(dr["type"]) && Convert.ToInt32(dr["type"]) == 1 && Convert.ToInt32(dr["UserId"]) == 64)
                             {
                                 needCyt = true;
                             }
@@ -10981,13 +10979,13 @@ namespace SiteCore.Handler
                         bool isAll = true;
                         foreach (DataRow dr in dt.Rows)
                         {
-                            if (!Convert.IsDBNull(dr["IsFlow"]) && Convert.ToInt32(dr["IsFlow"]) == 1 && Convert.ToInt32(dr["UserId"]) != 101)//物流
+                            if (!Convert.IsDBNull(dr["type"]) && Convert.ToInt32(dr["type"]) == 2 && Convert.ToInt32(dr["UserId"]) != 101)//物流
                             {
                                 CeErpTradeResponsible.DelById(dr["ID"], 1);
                                 continue;
                             }
 
-                            if (!Convert.IsDBNull(dr["IsFlow"]) && Convert.ToInt32(dr["IsFlow"]) == 0 && !Convert.IsDBNull(dr["IsSup"]) && Convert.ToInt32(dr["IsSup"]) == 0)
+                            if (!Convert.IsDBNull(dr["type"]) && Convert.ToInt32(dr["type"]) == 0)
                             {
                                 string path = "";
                                 int OrgID = 0;
@@ -11005,7 +11003,7 @@ namespace SiteCore.Handler
                                     continue;
                                 }
                             }
-                            if (!Convert.IsDBNull(dr["IsSup"]) && Convert.ToInt32(dr["IsSup"]) == 1 && Convert.ToInt32(dr["UserId"]) == 64)
+                            if (!Convert.IsDBNull(dr["type"]) && Convert.ToInt32(dr["type"]) == 1 && Convert.ToInt32(dr["UserId"]) == 64)
                             {
                                 needCyt = true;
                             }

+ 2 - 2
SiteCore/Handler/sync.orderReport.cs

@@ -1805,7 +1805,7 @@ namespace SiteCore.Handler
             }
 
             StringBuilder sql = new StringBuilder();
-            sql.AppendFormat("WITH AllOrders AS ( SELECT DesignUserId AS UserId, COUNT ( * ) AS OrderCount  FROM CE_ErpTradeCell  WHERE OrderState > 6  {0}  GROUP BY DesignUserId UNION ALL SELECT CustomerUserId AS UserId, COUNT ( * ) AS OrderCount FROM CE_ErpTradeCell WHERE OrderState > 6  {0} GROUP BY CustomerUserId  ), CombinedOrders AS ( SELECT UserId, SUM ( OrderCount ) AS allOrder FROM AllOrders GROUP BY UserId ) SELECT r.UserId, u.name AS dutyName, COUNT ( * ) AS afterSaleOrder, SUM ( o.AfterSalePayment ) AS money, COALESCE ( c.allOrder, 0 ) AS allOrder  FROM CE_ErpTradeResponsible r INNER JOIN CE_ErpUser u ON r.UserId = u.ID INNER JOIN CE_ErpTradeCell o ON o.ctid = r.tid LEFT JOIN CombinedOrders c ON r.UserId = c.UserId  WHERE r.VerifyState > - 1  AND r.IsSup <> 1 AND o.AfterSaleResSupId = 0  {1} GROUP BY r.UserId, c.allOrder,u.name", sqlDate1, sqlDate);
+            sql.AppendFormat("WITH AllOrders AS ( SELECT DesignUserId AS UserId, COUNT ( * ) AS OrderCount  FROM CE_ErpTradeCell  WHERE OrderState > 6  {0}  GROUP BY DesignUserId UNION ALL SELECT CustomerUserId AS UserId, COUNT ( * ) AS OrderCount FROM CE_ErpTradeCell WHERE OrderState > 6  {0} GROUP BY CustomerUserId  ), CombinedOrders AS ( SELECT UserId, SUM ( OrderCount ) AS allOrder FROM AllOrders GROUP BY UserId ) SELECT r.UserId, u.name AS dutyName, COUNT ( * ) AS afterSaleOrder, SUM ( o.AfterSalePayment ) AS money, COALESCE ( c.allOrder, 0 ) AS allOrder  FROM CE_ErpTradeResponsible r INNER JOIN CE_ErpUser u ON r.UserId = u.ID INNER JOIN CE_ErpTradeCell o ON o.ctid = r.tid LEFT JOIN CombinedOrders c ON r.UserId = c.UserId  WHERE r.VerifyState > - 1  AND r.type = 0 AND o.AfterSaleResSupId = 0  {1} GROUP BY r.UserId, c.allOrder,u.name", sqlDate1, sqlDate);
             DataTable dtafter = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
 
             DataTable dt = new DataTable();
@@ -1882,7 +1882,7 @@ namespace SiteCore.Handler
             }
 
             StringBuilder sql = new StringBuilder();
-            sql.AppendFormat("WITH AllOrders AS ( SELECT DesignUserId AS UserId, COUNT ( * ) AS OrderCount  FROM CE_ErpTradeCell  WHERE OrderState > 6  {0}  GROUP BY DesignUserId UNION ALL SELECT CustomerUserId AS UserId, COUNT ( * ) AS OrderCount FROM CE_ErpTradeCell WHERE OrderState > 6  {0} GROUP BY CustomerUserId  ), CombinedOrders AS ( SELECT UserId, SUM ( OrderCount ) AS allOrder FROM AllOrders GROUP BY UserId ) SELECT u.OrgID, u.OrgName as dutysName, COUNT ( * ) AS afterSaleOrder, SUM ( o.AfterSalePayment ) AS money,COALESCE ( SUM ( c.allOrder ), 0 ) AS allOrder   FROM CE_ErpTradeResponsible r INNER JOIN view_ErpUser u ON r.UserId = u.ID INNER JOIN CE_ErpTradeCell o ON o.ctid = r.tid LEFT JOIN CombinedOrders c ON r.UserId = c.UserId  WHERE r.VerifyState > - 1  AND r.IsSup <> 1 AND o.AfterSaleResSupId = 0  {1} GROUP BY u.OrgID,u.OrgName", sqlDate1, sqlDate);
+            sql.AppendFormat("WITH AllOrders AS ( SELECT DesignUserId AS UserId, COUNT ( * ) AS OrderCount  FROM CE_ErpTradeCell  WHERE OrderState > 6  {0}  GROUP BY DesignUserId UNION ALL SELECT CustomerUserId AS UserId, COUNT ( * ) AS OrderCount FROM CE_ErpTradeCell WHERE OrderState > 6  {0} GROUP BY CustomerUserId  ), CombinedOrders AS ( SELECT UserId, SUM ( OrderCount ) AS allOrder FROM AllOrders GROUP BY UserId ) SELECT u.OrgID, u.OrgName as dutysName, COUNT ( * ) AS afterSaleOrder, SUM ( o.AfterSalePayment ) AS money,COALESCE ( SUM ( c.allOrder ), 0 ) AS allOrder   FROM CE_ErpTradeResponsible r INNER JOIN view_ErpUser u ON r.UserId = u.ID INNER JOIN CE_ErpTradeCell o ON o.ctid = r.tid LEFT JOIN CombinedOrders c ON r.UserId = c.UserId  WHERE r.VerifyState > - 1  AND r.type = 0 AND o.AfterSaleResSupId = 0  {1} GROUP BY u.OrgID,u.OrgName", sqlDate1, sqlDate);
             DataTable dtafter = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
 
             DataTable dt = new DataTable();

+ 4 - 5
SiteCore/taobao/commonHelper.cs

@@ -40,7 +40,7 @@ namespace SiteCore
             DbHelper.DbConn.ExecuteNonQuery(sql.ToString());
 
             sql = new StringBuilder();
-            sql.AppendFormat("SELECT r.ID, r.tid, r.VerifyState, r.UserId, r.VerifyTime, ( CASE WHEN r.IsSup IS NULL THEN 0 ELSE r.IsSup END ) AS IsSup, ( CASE WHEN r.IsFlow IS NULL THEN 0 ELSE r.IsFlow END ) AS IsFlow FROM CE_ErpTradeResponsible r LEFT JOIN CE_ErpTradeCell t ON r.tid= t.ctid WHERE VerifyState > -1  AND VerifyState != 1  AND t.AfterSaleState = 3  AND DATEDIFF( hh, VerifyTime, getdate( ) ) >= 72;");
+            sql.AppendFormat("SELECT r.ID, r.tid, r.VerifyState, r.UserId, r.VerifyTime, type FROM CE_ErpTradeResponsible r LEFT JOIN CE_ErpTradeCell t ON r.tid= t.ctid WHERE VerifyState > -1  AND VerifyState != 1  AND t.AfterSaleState = 3  AND DATEDIFF( hh, VerifyTime, getdate( ) ) >= 72;");
             DataTable dt = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
             foreach (DataRow dr in dt.Rows)
             {
@@ -48,9 +48,8 @@ namespace SiteCore
                 string tid = dr["tid"].ToString();
                 int userId = Convert.ToInt32(dr["UserId"]);
                 int reasonId = Convert.ToInt32(dr["ID"]);
-                int IsSup = Convert.ToInt32(dr["IsSup"]);
-                int IsFlow = Convert.ToInt32(dr["IsFlow"]);
-                if (IsSup == 0 && IsFlow == 0)
+                int type = Convert.ToInt32(dr["type"]);
+                if (type == 0)
                 {
                     if (state == "0")//主管审核超时
                     {
@@ -92,7 +91,7 @@ namespace SiteCore
                 }
                 else
                 {
-                    if (IsSup == 0 && IsFlow == 1)
+                    if (type == 2)
                     {
                         DateTime date = DateTime.Parse(dr["VerifyTime"].ToString());
                         if (DateTime.Compare(DateTime.Now, date.AddHours(96)) > 0)

+ 5 - 1
Web/EAfterSale/js/Handling.js

@@ -476,7 +476,7 @@ function saveHandleFn() {
         var btag = getBackTagByResId(resId);
         var kf = mini.get("txtResponsibleUser" + (i + 1)).getText();
 
-        if (vname == "客户问题" || vname == "系统问题") {
+        if (vname == "客户问题") {
             respl += vname + ",";
         } else {
             if (kf == "") {
@@ -758,6 +758,8 @@ function getUrlByResId(rid) {
         return "../handler/sync.ashx?t=get_sel_supplier";
     else if (rid == 7)//物流
         return "../data/companies.txt";
+    else if (rid == 9)//系统问题
+        return "../data/system_responsible.txt";
     return "";
 }
 function getNameByResId(rid) {
@@ -817,6 +819,8 @@ function getBackTagByResId(rid) {
         return "g";
     else if (rid == 7)//物流
         return "w";
+    else if (rid == 9)//系统问题
+        return "t";
     return "";
 }
 

+ 3 - 3
Web/EAfterSale/js/WaitingVerify.js

@@ -196,7 +196,7 @@ function actionRenderer(e) {
     }
 
     //主管按钮
-    if (record.VerifyState == 0 && record.IsSup == 0) {
+    if (record.VerifyState == 0 && record.type == 0) {
         if (userPostCode == "SysAdmin" || userPostCode == "Director" || userPostCode == "CustomerMr" || userPostCode == "CustomerMaster" || userPostCode == "Designerhd" || userPostCode == "DesignerMr" || userPostCode == "PlaceMr" || userPostCode == "AfterSaleMaster") {//客服主管是否认可
             html += getGridBtn("sc", "认可", "masterVerifyYes('" + record.ID + "')");
             html += getGridBtn("sc", "不认可", "masterVerifyNo('" + record.ID + "')");
@@ -204,14 +204,14 @@ function actionRenderer(e) {
     }
 
     //供应商按钮
-    if (record.AfterSaleResSupId > 0 && record.IsSup == 1) {
+    if (record.AfterSaleResSupId > 0 && record.type == 1) {
         if (record.AfterSaleState == 3 && record.AfterSaleSupplierState == 0) {
             html += getGridBtn("sc", "认可", "verifyYes('" + record.ID + "')");
             html += getGridBtn("sc", "不认可", "verifyNo('" + record.ID + "')");
         }
     }
     //供应商按钮
-    if (record.VerifyState == 0 && record.IsFlow == 1) {
+    if (record.VerifyState == 0 && record.type == 2) {
         if (userPostCode == "logistics") {
             html += getGridBtn("sc", "认可", "verifyYes('" + record.ID + "')");
             html += getGridBtn("sc", "不认可", "verifyNo('" + record.ID + "')");

+ 1 - 0
Web/data/aftersale_responsible.txt

@@ -13,6 +13,7 @@
 
     ,{"id": 7,"text":"物流"}
     ,{"id": 8,"text":"客户问题"}
+    ,{"id": 9,"text":"系统问题"}
   ]
 
                                

+ 9 - 0
Web/data/system_responsible.txt

@@ -0,0 +1,9 @@
+[
+                {
+                    "id":1,
+                    "name":"erp系统"
+                },{
+                    "id":2,
+                    "name":"报价系统"
+                }
+]