|
|
@@ -318,8 +318,58 @@ namespace ErpServer
|
|
|
}
|
|
|
case "updatestate_shipped":
|
|
|
{
|
|
|
+ string order_sql = string.Format("SELECT SupplierId, FinishPlaceTime, OrderState FROM [dbo].[CE_ErpTradeCell] WHERE tid = '{0}'", dr["ctid"]);
|
|
|
+ DataTable order_data = SqlHelper.ExecuteDataset(order_sql).Tables[0];
|
|
|
+ bool isAll = false;
|
|
|
+ int supplierId = 0;
|
|
|
+ int index = 0;
|
|
|
+ DateTime finishitime = DateTime.Now;
|
|
|
+ if (order_data != null && order_data.Rows.Count > 1)
|
|
|
+ {
|
|
|
+ isAll = true;
|
|
|
+ foreach (DataRow row in order_data.Rows)
|
|
|
+ {
|
|
|
+ index++;
|
|
|
+ //数据不完整
|
|
|
+ if (!Convert.IsDBNull(row["SupplierId"]) && !Convert.IsDBNull(row["FinishPlaceTime"]) && !Convert.IsDBNull(row["OrderState"]))
|
|
|
+ {
|
|
|
+ if (index == 1)
|
|
|
+ {
|
|
|
+ finishitime = Convert.ToDateTime(row["FinishPlaceTime"]);
|
|
|
+ supplierId = Convert.ToInt32(row["SupplierId"]);
|
|
|
+ }
|
|
|
+ //没有车间
|
|
|
+ if (supplierId == 0)
|
|
|
+ {
|
|
|
+ isAll = false;
|
|
|
+ }
|
|
|
+ //车间不一致
|
|
|
+ if (supplierId != Convert.ToInt32(row["SupplierId"]))
|
|
|
+ {
|
|
|
+ isAll = false;
|
|
|
+ }
|
|
|
+ //不在下单完成
|
|
|
+ if (Convert.ToInt32(row["OrderState"]) < 6)
|
|
|
+ {
|
|
|
+ isAll = false;
|
|
|
+ }
|
|
|
+ //不是同一天下单
|
|
|
+ if (DateTime.Compare(finishitime.Date, Convert.ToDateTime(row["FinishPlaceTime"]).Date) != 0)
|
|
|
+ {
|
|
|
+ isAll = false;
|
|
|
+ }
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ isAll = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
sql = "update CE_ErpTradeCell WITH(ROWLOCK) set OrderState=" + dr["orderstate"] + ",IsUrgency=0,isReturn=0 where tid='" + dr["ctid"] + "' and IsPreDelivery=0 and SplitTag='' and isAfterSaleOrder=0 ;";
|
|
|
sql += "update CE_ErpTradeCell WITH(ROWLOCK) set OrderState=" + dr["orderstate"] + ",IsUrgency=0,isReturn=0 where tid='" + dr["ctid"] + "' and IsPreDelivery=0 and SplitTag!='' and OrderState>6 and isAfterSaleOrder=0 ;";
|
|
|
+
|
|
|
+ if (isAll)
|
|
|
+ {
|
|
|
+ sql = "update CE_ErpTradeCell WITH(ROWLOCK) set OrderState=" + dr["orderstate"] + ",IsUrgency=0,isReturn=0 where tid='" + dr["ctid"] + "' and IsPreDelivery=0 and isAfterSaleOrder=0 ;";
|
|
|
+ }
|
|
|
SqlHelper.ExecuteNonQuery(sql);
|
|
|
break;
|
|
|
}
|
|
|
@@ -897,7 +947,7 @@ namespace ErpServer
|
|
|
if (isStart)
|
|
|
{
|
|
|
|
|
|
- string sql = "SELECT tid, ctid, IsOldCustomer, shopid, payment, ProductId, isDianziOrder, ( SELECT COUNT ( * ) AS fileNumber FROM CE_ErpTradeCellFile WHERE tid = c.tid AND ctid = c.ctid AND isDel = 0 ) AS fileNumber FROM CE_ErpTradeCell c WHERE orderstate = 2 AND productid <> 0 AND designuserid = 0 AND designuserid <> 188 AND payment > 0 AND isrefund = 0 ORDER BY IsUrgency DESC, fileNumber DESC, YEAR ( pay_time ), MONTH ( pay_time ), DAY ( pay_time ), payment DESC;";
|
|
|
+ string sql = "SELECT tid,seller_memo, ctid, IsOldCustomer, shopid, payment, ProductId, isDianziOrder, ( SELECT COUNT ( * ) AS fileNumber FROM CE_ErpTradeCellFile WHERE tid = c.tid AND ctid = c.ctid AND isDel = 0 ) AS fileNumber FROM CE_ErpTradeCell c WHERE orderstate = 2 AND productid <> 0 AND designuserid = 0 AND designuserid <> 188 AND payment > 0 AND isrefund = 0 ORDER BY IsUrgency DESC, fileNumber DESC, YEAR ( pay_time ), MONTH ( pay_time ), DAY ( pay_time ), payment DESC;";
|
|
|
DataTable dt = SqlHelper.ExecuteDataset(sql).Tables[0];
|
|
|
//object result = SqlHelper.ExecuteScalar(sql);
|
|
|
if (dt != null && dt.Rows.Count > 0)
|
|
|
@@ -953,6 +1003,12 @@ namespace ErpServer
|
|
|
continue;
|
|
|
}
|
|
|
int[] uv_productIds = new int[] { 14, 43, 2487, 2531, 2654, 2656 };
|
|
|
+ if (!uv_productIds.Contains(ProductId) && commonHelper.isMultiSize(dr["seller_memo"].ToString()))
|
|
|
+ {
|
|
|
+ helper.writeLog("自动派单:" + dr["ctid"].ToString() + "-" + res);
|
|
|
+ SqlHelper.ExecuteNonQuery(string.Format("update CE_ErpTradeCell set OrderState=0 where ctid='{0}' and OrderState=2;", dr["ctid"].ToString()));
|
|
|
+ continue;
|
|
|
+ }
|
|
|
|
|
|
CeErpTrade ceErpTrade = CeErpTrade.Get(dr["tid"].ToString());
|
|
|
if ("normal".Equals(syncType) && ceErpTrade != null && !string.IsNullOrEmpty(ceErpTrade.buyer_nick) && tmcHelper.shop_list.Contains(Convert.ToInt32(dr["shopid"])))
|