|
@@ -951,9 +951,9 @@ namespace ErpServer
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
CeErpTrade ceErpTrade = CeErpTrade.Get(dr["tid"].ToString());
|
|
CeErpTrade ceErpTrade = CeErpTrade.Get(dr["tid"].ToString());
|
|
|
- if (ceErpTrade != null && !string.IsNullOrEmpty(ceErpTrade.buyer_id) && !string.IsNullOrEmpty(ceErpTrade.buyer_nick))
|
|
|
|
|
|
|
+ if (ceErpTrade != null && !string.IsNullOrEmpty(ceErpTrade.buyer_nick))
|
|
|
{
|
|
{
|
|
|
- string design_order_sql = string.Format("SELECT top 1 DesignUserId FROM [dbo].[CE_ErpTradeCell] WHERE tid = (SELECT top 1 tid FROM [dbo].[CE_ErpTrade] WHERE (buyer_nick = '{0}' or buyer_id = '{1}' ) order by pay_time desc) and DesignUserId > 0;", ceErpTrade.buyer_nick, ceErpTrade.buyer_id);
|
|
|
|
|
|
|
+ string design_order_sql = string.Format("SELECT top 1 DesignUserId,DesignUserName,OnDuty,BeOnDuty FROM [dbo].[view_ErpTradeCell] WHERE (buyer_nick = '{0}' or buyer_id = '{1}' ) and seller_nick = '{2}' and DesignUserId > 0 order by pay_time desc;", ceErpTrade.buyer_nick, ceErpTrade.buyer_id, ceErpTrade.seller_nick);
|
|
|
DataTable dataTable = SqlHelper.ExecuteDataset(design_order_sql).Tables[0];
|
|
DataTable dataTable = SqlHelper.ExecuteDataset(design_order_sql).Tables[0];
|
|
|
if (dataTable != null && dataTable.Rows != null && dataTable.Rows.Count > 0)
|
|
if (dataTable != null && dataTable.Rows != null && dataTable.Rows.Count > 0)
|
|
|
{
|
|
{
|
|
@@ -961,18 +961,40 @@ namespace ErpServer
|
|
|
if (designUserId > 0)
|
|
if (designUserId > 0)
|
|
|
{
|
|
{
|
|
|
CeErpUser ceErpUser = CeErpUser.Get(designUserId);
|
|
CeErpUser ceErpUser = CeErpUser.Get(designUserId);
|
|
|
- int onduty = 0;
|
|
|
|
|
- string designUserName = "";
|
|
|
|
|
- if (ceErpUser != null && ceErpUser.isOpen && ceErpUser.InfoID > 0)
|
|
|
|
|
|
|
+ int beOnDuty = Convert.IsDBNull(dataTable.Rows[0]["BeOnDuty"]) ? 0 : Convert.ToInt32(dataTable.Rows[0]["BeOnDuty"]);
|
|
|
|
|
+ int onduty = Convert.IsDBNull(dataTable.Rows[0]["OnDuty"]) ? 0 : Convert.ToInt32(dataTable.Rows[0]["OnDuty"]);
|
|
|
|
|
+ string designUserName = Convert.IsDBNull(dataTable.Rows[0]["DesignUserName"]) ? "" : dataTable.Rows[0]["DesignUserName"].ToString();
|
|
|
|
|
+ List<string> desingList = ceErpUser.pemDesign.Split(',').ToList();
|
|
|
|
|
+ bool isOnline = false;
|
|
|
|
|
+ if (selfTime.Hour < 12)
|
|
|
{
|
|
{
|
|
|
- CeErpUserInfo ceErpUserInfo = CeErpUserInfo.Get(ceErpUser.InfoID);
|
|
|
|
|
- onduty = ceErpUserInfo.OnDuty;
|
|
|
|
|
- designUserName = ceErpUser.Name;
|
|
|
|
|
|
|
+ if (beOnDuty != 2)
|
|
|
|
|
+ {
|
|
|
|
|
+ isOnline = true;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ else if ((selfTime.Hour >= 17 || (selfTime.Hour >= 16 && selfTime.Minute >= 35)))
|
|
|
|
|
+ {
|
|
|
|
|
+ if (beOnDuty == 2)
|
|
|
|
|
+ {
|
|
|
|
|
+ isOnline = true;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ else if ((selfTime.Hour >= 16 || (selfTime.Hour >= 15 && selfTime.Minute >= 25)))
|
|
|
|
|
+ {
|
|
|
|
|
+ if (beOnDuty != 1)
|
|
|
|
|
+ {
|
|
|
|
|
+ isOnline = true;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ isOnline = true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if (onduty > 0 && designUserId > 0)//设计师在线
|
|
|
|
|
|
|
+ if (onduty > 0 && designUserId > 0 && desingList.Contains(ProductId.ToString()) && isOnline)//设计师在线
|
|
|
{
|
|
{
|
|
|
- string update_sql = string.Format("update CE_ErpTradeCell set OrderState=3,IsAutoDispatch=1,WaitDesignTime=getdate(),UpdateTime=getdate(),DesignUserId={1},DispatchSort=0 where ctid='{0}' and OrderState=2; update view_ErpUser set DayOrderReceive=DayOrderReceive+1,DayOrderPer=CAST((CAST(((DayOrderReceive + 1)) as decimal(8,5))/DayOrderLimit) as decimal(8,3)) where id={1}; insert into CE_ErpTradeLog(tid,OrderState,UserId,OperateTime,Con) select ctid,OrderState,0,getdate(),'2自动派单:'+{2}+CONVERT(varchar,{1}) from ce_erptradecell where ctid='{0}';", dr["ctid"].ToString(), designUserId, designUserName);
|
|
|
|
|
|
|
+ string update_sql = string.Format("update CE_ErpTradeCell set OrderState=3,IsAutoDispatch=1,WaitDesignTime=getdate(),UpdateTime=getdate(),DesignUserId={1},DispatchSort=0 where ctid='{0}' and OrderState=2; update view_ErpUser set DayOrderReceive=DayOrderReceive+1,DayOrderPer=CAST((CAST(((DayOrderReceive + 1)) as decimal(8,5))/DayOrderLimit) as decimal(8,3)) where id={1}; insert into CE_ErpTradeLog(tid,OrderState,UserId,OperateTime,Con) select ctid,OrderState,0,getdate(),'2自动派单:{2}'+CONVERT(varchar,{1}) from ce_erptradecell where ctid='{0}';", dr["ctid"].ToString(), designUserId, designUserName);
|
|
|
SqlHelper.ExecuteNonQuery(update_sql);
|
|
SqlHelper.ExecuteNonQuery(update_sql);
|
|
|
helper.writeLog("自动派单:原设计师在线-" + dr["ctid"].ToString() + "-" + res);
|
|
helper.writeLog("自动派单:原设计师在线-" + dr["ctid"].ToString() + "-" + res);
|
|
|
continue;
|
|
continue;
|