//private ORGModels _dbContext; //protected virtual ORGModels DbContext //{ // get // { // if (_dbContext == null) // _dbContext = new ORGModels(); // return _dbContext; // } //} public void SaveLocationAssigner(IMS_CB_KC kc, IMS_CB_RQ rq, IMS_WT_CWRW cwrw, IMS_VC_DJH djh) { IMS_CB_Container_Dal dalContainer = new IMS_CB_Container_Dal(); IMS_WT_CWRW_Dal dalTask = new IMS_WT_CWRW_Dal(); IMS_VC_DJH_Dal dalOrderData = new IMS_VC_DJH_Dal(); IMS_CB_Inventory_Dal dalInventory = new IMS_CB_Inventory_Dal(); if (dalInventory.Exists(string.Format(" RQBH == \"{0}\" ", rq.RQBH))) { throw new JsMiracleException("容器编号已在库存中,请重新输入容器编号"); } using (var tran = new TransactionScope()) { try { dalContainer.SaveOrUpdate(rq); dalInventory.SaveOrUpdate(kc); dalTask.SaveOrUpdate(cwrw); dalOrderData.SaveOrUpdate(djh); tran.Complete(); } catch (Exception ex) { throw new Exception("组盘失败", ex); } } }
public ActionResult Save(IMS_WT_CWRW ent) { Func <ExtResult> fun = () => { if (ent.ID == 0) { ent.CJR = CurrentUser.GetCurrentUser().UserInfo.YHID; ent.CJSJ = System.DateTime.Now; } ExtResult ret = new ExtResult(); dalOperationalTasks.SaveOrUpdate(ent); ret.success = true; return(ret); }; return(base.Save(fun)); }
protected override WcfResponse BaseRequest(Entities.WCF.WcfRequest req) { IMS_LocationAssigner dal = new IMS_LocationAssigner(); var res = new WcfResponse(); object[] objs; switch (req.Head.RequestMethodName) { case "SaveLocationAssigner": objs = (object[])req.Body.Parameters; IMS_CB_KC kc = (IMS_CB_KC)objs[0]; IMS_CB_RQ rq = (IMS_CB_RQ)objs[1]; IMS_WT_CWRW cwrw = (IMS_WT_CWRW)objs[2]; IMS_VC_DJH djh = (IMS_VC_DJH)objs[3]; dal.SaveLocationAssigner(kc, rq, cwrw, djh); break; } return(res); }
public void SaveLocationAssigner(IMS_CB_KC kc, IMS_CB_RQ rq, IMS_WT_CWRW cwrw, IMS_VC_DJH djh) { base.RequestAction <object[]>("SaveLocationAssigner", new object[] { kc, rq, cwrw, djh }); }
public void ZPIn(long id, string userid, long sku, decimal zpsl, string rqbh) { var bizEnt = GetEntity(id); if (bizEnt == null) { throw new JsMiracleException("业务任务不存在无法处理"); } if (DbContext.IMS_CB_KC_S.Any(n => n.RQBH.Equals(rqbh, StringComparison.CurrentCultureIgnoreCase))) { throw new JsMiracleException("容器编号已存在库存中,请重新输入容器编号"); } if (!DbContext.IMS_CB_WL_S.Any(n => n.ID == sku)) { throw new JsMiracleException(string.Format("物料信息不存在sku({0})", sku)); } // 已生成单据的操作数 var buildTaskNumber = DbContext.IMS_WT_CWRW_S.Where(n => n.FRWID == bizEnt.ID).Sum(n => n.RWSL) ?? 0; // 生成单据数据加本次组盘数量大于 业务单据最大数量,报错 if ((buildTaskNumber + zpsl) > bizEnt.DJSL) { throw new JsMiracleException(string.Format("本次组盘数量大于本笔业务的剩余可用数量", zpsl)); } var rqEnt = DbContext.IMS_CB_RQ_S.Where(n => n.RQBH.Equals(rqbh, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault(); if (rqEnt == null) { rqEnt = new IMS_CB_RQ() { RQBH = rqbh, DQCD = 0, DQKD = 0, DQWZ = "", DQZL = 0, LXBH = "", SDZT = 0, SYZT = 0, WZZT = 0, ZYZT = 0, SMTM = "", SYCS = 0, ZCSJ = System.DateTime.Now, ZCWZ = "" }; } // 库存信息 var kc = new IMS_CB_KC() { KQSL = zpsl, KYSL = zpsl, PCBH = bizEnt.PCBH, KYZT = 0, RKRY = userid, BZXS = "", RKSJ = System.DateTime.Now, RQBH = rqbh, SDZT = 0, SYZ = "", SKU = sku, ZHXGSJ = System.DateTime.Now, ZJZT = 0, ZLZT = 0, }; IMS_WT_CWRW op = new IMS_WT_CWRW() { RWBH = WorkTaskFunction.CreateNextTaskID(), CJR = userid, CJSJ = System.DateTime.Now, DJHID = bizEnt.DJH_ID ?? 0, FRWID = bizEnt.ID, MDRQ = "", RQBH = rqbh, RWLX = 0, RWSL = zpsl, ZT = 0, }; using (var tran = new TransactionScope()) { if (rqEnt.ID == 0) { DbContext.IMS_CB_RQ_S.Add(rqEnt); } DbContext.IMS_CB_KC_S.Add(kc); DbContext.SaveChanges(); // 更新入库存ID op.CCID = kc.ID; DbContext.IMS_WT_CWRW_S.Add(op); DbContext.SaveChanges(); // 没有异常提交退出 tran.Complete(); } }
public ActionResult Create() { var ent = new IMS_WT_CWRW(); return(View("Edit", ent)); }