using System; using WX.CRM.BLL.Base; using WX.CRM.BLL.Csvr; using WX.CRM.BLL.Res; using WX.CRM.BLL.Wx; using WX.CRM.Common; using WX.CRM.DataSynFactory.Templates; using WX.CRM.Model.Entity; using WX.CRM.Model.Enum; namespace WX.CRM.DataSynFactory.Cmd { public class Client_OpenOrder_IMP : Interfaces.IDataImportSvr { private WX_SZZYORDER_BL _order = new WX_SZZYORDER_BL(); private RES_CUSTOMERDETAIL_BL _customer = new RES_CUSTOMERDETAIL_BL(); private CSVR_FAVORITECUSTOMER_BL _favCustomer = new CSVR_FAVORITECUSTOMER_BL(); private RES_MYALLOCATERES_BL _myRes = new RES_MYALLOCATERES_BL(); private RES_MYALLOCATERES_ACT_BL _act = new RES_MYALLOCATERES_ACT_BL(); private BAS_INNERUSER_BL _user = new BAS_INNERUSER_BL(); public bool GenerateBusinessOne(Client_OpenOrder t) { try { var order = _order.Get(p => p.ORDERID == t.OrderId); order.ORDERSTATUS = t.OrderStatus; order.ORDERSTATUSNAME = t.OrderStatusName; order.OTIME = t.OTime; order.ENDTIME = t.EndTime; order.ISOPEN = 1; order.ACTIVEPRODUCTCODE = t.ActiveProductCode; order.ACTIVEPRODUCTEXT = t.ActiveProductExt; order.FINACEPAYDATE = t.OTime; order.ISFINANCEPAY = 1; if (!string.IsNullOrWhiteSpace(t.CName)) { order.CNAME = t.CName; var customer = _customer.Get(p => p.RESID == t.ResId); if (customer != null) { customer.CNAME = t.CName; _customer.Update(customer); } var list = _favCustomer.GetFavAndMyResList(order.RESID); if (list.Count <= 0) { if(order.INNERUSERID.HasValue) { //如果找不到归属,下单人写入归属 var user = _user.GetModel(order.INNERUSERID.Value); if (user != null) { var eid = user.EID; var info = new RES_MYALLOCATERES_ACT(new SEQUENCES_BL().Seq_base_get(Model.Enum.PKIDType.LargeTable), order.RESID, eid, 0, "add", null); } } } } #region 开通后高级资源需要插入待分配表。进行高级资源分配 var bas_parameter = new BAS_PARAMETER_BL().GetModel_Patameter("sys_gaoji_typecode"); if (bas_parameter != null) { var hasOldOrder = _order.Get(p => p.ORDERID != t.OrderId && p.RESID == order.RESID && p.OTIME.HasValue); if (hasOldOrder == null)//如果是首单就需要进行分配 { var ss = bas_parameter.PARAVALUE.Split('|'); new RES_TOBEALLCOTED_BL().Add(new RES_TOBEALLCOTED() { APPLYID = 0, CTIME = DateTime.Now, DIS_NUM = 0, RESID = order.RESID, RESOURCETAG = ss[0], RESTYPEID = Convert.ToDecimal(ss[1]), TURNING_ID = new SEQUENCES_BL().Seq_base_get(PKIDType.LargeTable) }); } } #endregion return _order.Update(order); } catch (Exception ex) { LogHelper.Error(ex.ToString()); return false; } } } }