/// <summary> /// 通过CWmsExWarehouseSubOrder实例拷贝HttpReqXml_StockoutOrderCreate_DeliveryOrder实例 /// </summary> /// <param name="srcObj">源实例</param> /// <returns>若成功则返回string.Empty; 否则返回错误描述</returns> public string CopyFrom(CWmsStockOrder srcObj) { if (null == srcObj) { return("HttpReqXml_StockoutOrderCreate_DeliveryOrder.CopyFrom异常,非法入参srcObj"); } var logistics = srcObj.Handler.GetLogistics(srcObj); totalOrderLines = srcObj.SubOrders.Count.ToString(); deliveryOrderCode = (srcObj.MangoOrder as MangoStockouOrder).ProductOutputMainId.ToString(); orderType = srcObj.WmsStockoutType.ToString(); // ret.Append("wms出库单类型:{0}", srcObj.WmsStockoutType); warehouseCode = srcObj.Handler.GetWarehouse(srcObj).WmsCode; createTime = srcObj.MangoOrder.AddTime.ToString(); scheduleDate = srcObj.ScheculeDeliverDate; // ret.Append("要求配送时间:{0}", srcObj.ScheculeDeliverDate); remark = srcObj.MangoOrder.Remark; partialShipment = "N"; // CWmsConsts.cStrStockoutPartialShipmentDefault; logisticsCode = logistics?.logisticsName; // 承运商Code logisticsName = logistics?.logisticsName; // 承运商名称 receiverInfo.CopyFrom(new CWmsAgentBase(TCwmsAgentType.ESHR, (srcObj.MangoOrder as MangoStockouOrder).JieShouRen.ToString())); senderInfo.CopyFrom(new CWmsAgentBase(TCwmsAgentType.EFHR, (srcObj.MangoOrder as MangoStockouOrder).ChuKuRen.ToString())); return(string.Empty); }
/// <summary> /// 更新子出库订单的记录, 若没找到记录则新增一条 /// </summary> /// <param name="pOrderId">主出库单Id</param> /// <param name="pUpdateOk">记录的更新状态,遵照Dict[285]</param> /// <param name="pDel">Dict[285]</param> /// <param name="pCount">返回成功更新的行数</param> /// <param name="pMsg">返回错误描述信息</param> /// <returns>若更新成功则返回操作的行数;其他错误返回TError.WCF_RunError</returns> static public int UpdateRow_StockoutCreate(string pOrderId, TDict285_Values pUpdateOk, TDict285_Values pDel, out int pCount, out string pMsg) { pCount = 0; pMsg = string.Empty; CWmsStockOrder order = null; Product_WMS_Interface tmpEntity = null; try { // get order instance if (null == (order = CWms.CWmsDataFactory.GetCWmsStockoutOrder(pOrderId))) { return(TError.WCF_RunError.Int()); } #region prepare updated rows foreach (var subOrder in order.SubOrders) { // 根据主单据Id和子单据Id找到行 var filter = new List <CommonFilterModel>() { }; // query filter filter.Add(new CommonFilterModel(Product_WMS_Interface_Properties.PropName_MapId1, "=", order.GetId())); filter.Add(new CommonFilterModel(Product_WMS_Interface_Properties.PropName_MapId2, "=", subOrder.Value.GetId())); var wcfPWI = WCF <Product_WMS_Interface> .QueryAll(filter); // query,只取第一页第一条(同一个子单据不应该有2条数据) if (null == wcfPWI || null == wcfPWI.Data) { pCount = TError.WCF_RunError.Int(); pMsg = "WCF返回null异常"; break; } // TODO: 系统异常 else if (0 >= wcfPWI.RetInt) { tmpEntity = new Product_WMS_Interface(); } // 没有找到 else { tmpEntity = wcfPWI.Data[0]; } // 找到了一条 #region 实例赋值并更新 tmpEntity.MapCalssID = TDict709_Value.EExwarehouseOrder.Int(); tmpEntity.MapId1 = (order.MangoOrder as MangoStockouOrder).ProductOutputMainId; tmpEntity.MapId2 = (subOrder.Value.MangoOrder as MangoSubStockoutOrder).ProductOutputId; tmpEntity.IsUpdateOK = pUpdateOk.Int(); tmpEntity.IsDel = pDel.Int(); tmpEntity.LastTime = DateTime.Now; tmpEntity.UpdateUserID = MangoMis.Frame.Frame.CommonFrame.userid; var updateRslt = (0 >= wcfPWI.RetInt) ? WCF <Product_WMS_Interface> .Add(tmpEntity) : WCF <Product_WMS_Interface> .Update(tmpEntity); if (null == updateRslt) { pCount = TError.WCF_RunError.Int(); pMsg = "WCF返回null异常"; break; } // TODO: 系统异常 else { pCount++; pMsg = updateRslt.RETData; } #endregion } #endregion return(pCount); } catch (Exception ex) { var ret = new ThirdResult <List <object> >(""); if (null != ex.InnerException) { ret.Append(string.Format("InnerException: {0}", ex.InnerException.Message)); } ret.Append(string.Format("发生异常: {0}\r\n调用堆栈:{1}", ex.Message, ex.StackTrace)); ret.End(); return(pCount = TError.WCF_RunError.Int()); } }
/// <summary> /// 新增主出库订单的记录 /// </summary> /// <param name="pOrderId">主出库订单Id</param> /// <param name="pCount">返回成功新增的行数</param> /// <param name="pMsg">返回错误描述信息</param> /// <returns>返回成功操作的记录行数,若失败则返回0</returns> static public int AddRow_StockoutCreate(string pOrderId, out int pCount, out string pMsg) { int rslt = TError.Ser_ErrorPost.Int(); pCount = 0; pMsg = string.Empty; CWmsStockOrder order = null; // 主出库订单实例 // validate parameters if (string.IsNullOrEmpty(pOrderId)) { return(rslt = TError.Post_ParamError.Int()); } try { // get order instance if (null == (order = CWms.CWmsDataFactory.GetCWmsStockoutOrder(pOrderId))) { pMsg = "获取子出库订单列表失败"; return(0); } // prepare updated rows //rowList = new List<Product_WMS_Interface>(1); foreach (var subOrder in order.SubOrders) { Product_WMS_Interface r = new Product_WMS_Interface(); // 实例赋值 r.MapCalssID = (int)TDict709_Value.EExwarehouseOrder; r.MapId1 = (order.MangoOrder as MangoStockouOrder).ProductOutputMainId; r.MapId2 = (subOrder.Value.MangoOrder as MangoSubStockoutOrder).ProductOutputId; r.IsUpdateOK = (int)TDict285_Values.EDeleted; r.IsDel = (int)TDict285_Values.ENormal; r.AddTime = DateTime.Now; r.AddUserid = MangoMis.Frame.Frame.CommonFrame.userid; r.LastTime = r.AddTime; r.UpdateUserID = r.AddUserid; r.DisOrder = Product_WMS_Interface_Properties.cIntDisorderDefault; if (0 == (rslt = AddRow_StockoutCreate(r, out pMsg))) { rslt = 0; break; } else { pCount += rslt; } } return(rslt); } catch (Exception ex) { var ret = new ThirdResult <List <object> >(""); if (null != ex.InnerException) { ret.Append(string.Format("InnerException: {0}", ex.InnerException.Message)); } ret.Append(string.Format("发生异常: {0}\r\n调用堆栈:{1}", ex.Message, ex.StackTrace)); ret.End(); return(rslt = TError.WCF_RunError.Int()); } }
public HttpReqXml_StockoutOrderCreate(CWmsStockOrder cWmsExWarehouseOrder) { throw new NotImplementedException(); }