|  |  |  | 
|---|
|  |  |  | using Newtonsoft.Json.Linq; | 
|---|
|  |  |  | using Newtonsoft.Json; | 
|---|
|  |  |  | using Pub_Class; | 
|---|
|  |  |  | using System; | 
|---|
|  |  |  | using System.Collections; | 
|---|
|  |  |  | 
|---|
|  |  |  | //退料通知单Controller | 
|---|
|  |  |  | public class Cg_POInStockBackBillController : ApiController | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //获取系统参数 | 
|---|
|  |  |  | Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public DBUtility.ClsPub.Enum_BillStatus BillStatus; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private json objJsonResult = new json(); | 
|---|
|  |  |  | SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|---|
|  |  |  | DataSet ds; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// 返回退料通知单列表 | 
|---|
|  |  |  | /// 根据基础资料ID 查找记录 | 
|---|
|  |  |  | ///参数:string sql。 | 
|---|
|  |  |  | ///返回值:object。 | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | [Route("Cg_POInStockBackBill/list")] | 
|---|
|  |  |  | [Route("Cg_POInStockBackBill/cx")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public object list(string sWhere) | 
|---|
|  |  |  | public object cx(long HInterID) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (sWhere == null || sWhere.Equals("")) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from h_v_IF_POInStockBackBillList " + sWhere, "h_v_IF_POInStockBackBillList"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string sql1 = "select * from h_v_IF_POInStockBackBillList where 1 = 1 "; | 
|---|
|  |  |  | string sql = sql1 + sWhere; | 
|---|
|  |  |  | ds = oCN.RunProcReturn(sql, "h_v_IF_POInStockBackBillList"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from h_v_IF_POInStockBackBillList where HitemID=" + HInterID, "h_v_IF_POInStockBackBillList"); | 
|---|
|  |  |  | if (ds == null || ds.Tables[0].Rows.Count == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "没有返回任何记录!"; | 
|---|
|  |  |  | objJsonResult.Message = "false!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// 返回退料通知单列表 | 
|---|
|  |  |  | ///参数:string sql。 | 
|---|
|  |  |  | ///返回值:object。 | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | [Route("Cg_POInStockBackBill/list")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public object list(string sWhere,string user) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //判断是否有查询权限 | 
|---|
|  |  |  | if (!DBUtility.ClsPub.Security_Log("Cg_POInStockBackBillQuery", 1, false, user)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "无查询权限!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (sWhere == null || sWhere.Equals("")) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from h_v_IF_POInStockBackBillList order by hmainid desc", "h_v_IF_POInStockBackBillList"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string sql1 = "select * from h_v_IF_POInStockBackBillList where 1 = 1 "; | 
|---|
|  |  |  | string sql = sql1 + sWhere+ " order by hmainid desc"; | 
|---|
|  |  |  | ds = oCN.RunProcReturn(sql, "h_v_IF_POInStockBackBillList"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //if (ds.Tables[0].Rows.Count != 0 || ds != null) | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "Sucess!"; | 
|---|
|  |  |  | objJsonResult.data = ds.Tables[0]; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | //} | 
|---|
|  |  |  | //else | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | //objJsonResult.code = "0"; | 
|---|
|  |  |  | //objJsonResult.count = 0; | 
|---|
|  |  |  | //objJsonResult.Message = "无数据"; | 
|---|
|  |  |  | //objJsonResult.data = null; | 
|---|
|  |  |  | //return objJsonResult; | 
|---|
|  |  |  | //} | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "Exception!" + e.ToString(); | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region [同步单据] | 
|---|
|  |  |  | [Route("Cg_POInStockBackBill/Cg_POInStockBackBillViewApi")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public json Cg_POInStockBackBillViewApi(string BillNo, string BillType) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string sql = string.Empty; | 
|---|
|  |  |  | string sReturn = ""; | 
|---|
|  |  |  | if (oSystemParameter.ShowBill(ref sReturn) == true) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //系统参数是否为私有云模式,N为公有云模式,Y为私有云模式 | 
|---|
|  |  |  | if (oSystemParameter.omodel.WMS_CloudMode == "Y") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #region [私有云模式,直接调用数据库存储过程更新] | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | oCN.BeginTran(); | 
|---|
|  |  |  | SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); | 
|---|
|  |  |  | DataSet DS = oCn.RunProcReturn("exec h_p_WMS_ERPSourceBillToLocal '" + BillNo + "','" + BillType + "'", "h_p_WMS_ERPSourceBillToLocal"); | 
|---|
|  |  |  | if (DS == null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "单据同步失败"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HBack"]) == "2") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "ERP中不存在该单据号"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "单据同步成功"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "Exception!" + e.ToString(); | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #region [公有云模式,调用WEBAPI的方式进行更新] | 
|---|
|  |  |  | var json = new | 
|---|
|  |  |  | { | 
|---|
|  |  |  | CreateOrgId = 0, | 
|---|
|  |  |  | Number = BillNo, | 
|---|
|  |  |  | Id = "" | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | #region [金蝶部分] | 
|---|
|  |  |  | //登录金蝶 | 
|---|
|  |  |  | var loginRet = InvokeHelper.Login(); | 
|---|
|  |  |  | var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>(); | 
|---|
|  |  |  | //判断是否登录成功 | 
|---|
|  |  |  | if (isSuccess < 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = loginRet; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //查看 获取数据 | 
|---|
|  |  |  | var _result = InvokeHelper.View("SCP_MRAPP", JsonConvert.SerializeObject(json)); | 
|---|
|  |  |  | var _saveObj = JObject.Parse(_result); | 
|---|
|  |  |  | //判断数据是否获取成功 | 
|---|
|  |  |  | if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "金蝶退料通知单同步失败jsonRoot:" + _result; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  | //获取主表数据 | 
|---|
|  |  |  | DataSet Ds; | 
|---|
|  |  |  | Int64 InterID = 0; | 
|---|
|  |  |  | Int64 ManagerID = 0; | 
|---|
|  |  |  | Int64 REQUIREORGID = 0; | 
|---|
|  |  |  | Int64 CORRESPONDORGID = 0; | 
|---|
|  |  |  | string ERPBillType = ""; | 
|---|
|  |  |  | string REPLENISHMODE = ""; | 
|---|
|  |  |  | Ds = oCN.RunProcReturn("select * from Cg_POInStockBackBillMain where HBillNo = '" + BillNo + "'", "Cg_POInStockBackBillMain"); | 
|---|
|  |  |  | if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString()) != 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | InterID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString()); | 
|---|
|  |  |  | ManagerID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HManagerID"].ToString()); | 
|---|
|  |  |  | REQUIREORGID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HREQUIREORGID"].ToString()); | 
|---|
|  |  |  | CORRESPONDORGID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HCORRESPONDORGID"].ToString()); | 
|---|
|  |  |  | ERPBillType = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HERPBillType"]); | 
|---|
|  |  |  | REPLENISHMODE = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HREPLENISHMODE"]); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region [主表数据赋值] | 
|---|
|  |  |  | var jsonData = new | 
|---|
|  |  |  | { | 
|---|
|  |  |  | HInterID = _saveObj["Result"]["Result"]["Id"], | 
|---|
|  |  |  | HYear = DateTime.Now.Year, | 
|---|
|  |  |  | HPeriod = DateTime.Now.Month, | 
|---|
|  |  |  | HBillType = 1105, | 
|---|
|  |  |  | HBillSubType = _saveObj["Result"]["Result"]["BusinessType"].ToString() == "CG" ? 12510 : 12511, | 
|---|
|  |  |  | HDate = _saveObj["Result"]["Result"]["FDate"], | 
|---|
|  |  |  | HBillNo = _saveObj["Result"]["Result"]["BillNo"], | 
|---|
|  |  |  | HBillStatus = 2, | 
|---|
|  |  |  | HSupID = _saveObj["Result"]["Result"]["SUPPLIERID_Id"], | 
|---|
|  |  |  | HManagerID = ManagerID, | 
|---|
|  |  |  | HDeptID = _saveObj["Result"]["Result"]["APPDEPTID_Id"], | 
|---|
|  |  |  | HRemark = _saveObj["Result"]["Result"]["FRemarks"], | 
|---|
|  |  |  | HMaker = _saveObj["Result"]["Result"]["FCreatorId"]["Name"], | 
|---|
|  |  |  | HMakeDate = _saveObj["Result"]["Result"]["FCreateDate"], | 
|---|
|  |  |  | HChecker = _saveObj["Result"]["Result"]["APPROVERID"]["Name"], | 
|---|
|  |  |  | HCheckDate = _saveObj["Result"]["Result"]["APPROVEDATE"], | 
|---|
|  |  |  | HERPInterID = _saveObj["Result"]["Result"]["Id"], | 
|---|
|  |  |  | HERPBillType = ERPBillType, | 
|---|
|  |  |  | HPURCHASEORGID = _saveObj["Result"]["Result"]["PURCHASEORGID_Id"], | 
|---|
|  |  |  | HAPPORGID = _saveObj["Result"]["Result"]["APPORGID_Id"], | 
|---|
|  |  |  | HREQUIREORGID = REQUIREORGID, | 
|---|
|  |  |  | HCORRESPONDORGID = CORRESPONDORGID, | 
|---|
|  |  |  | HRMREASON = _saveObj["Result"]["Result"]["RMREASON"], | 
|---|
|  |  |  | HRMTYPE = _saveObj["Result"]["Result"]["RMTYPE"], | 
|---|
|  |  |  | HRMMODE = _saveObj["Result"]["Result"]["RMMODE"], | 
|---|
|  |  |  | HREPLENISHMODE = REPLENISHMODE, | 
|---|
|  |  |  | HBUSINESSTYPE = _saveObj["Result"]["Result"]["BusinessType"], | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  | // 删除主表对应数据 | 
|---|
|  |  |  | sql = $"delete from Cg_POInStockBackBillMain where HInterID = " + InterID; | 
|---|
|  |  |  | oCN.RunProc(sql); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //插入主表 | 
|---|
|  |  |  | sql = $@" | 
|---|
|  |  |  | insert into Cg_POInStockBackBillMain | 
|---|
|  |  |  | (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate | 
|---|
|  |  |  | ,HBillNo,HBillStatus,HSupID,HManagerID,HDeptID,HRemark | 
|---|
|  |  |  | ,HMaker,HMakeDate,HChecker,HCheckDate,HERPInterID,HERPBillType | 
|---|
|  |  |  | ,HPURCHASEORGID,HAPPORGID,HREQUIREORGID,HCORRESPONDORGID | 
|---|
|  |  |  | ,HRMREASON,HRMTYPE,HRMMODE,HREPLENISHMODE,HBUSINESSTYPE | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | values | 
|---|
|  |  |  | ({jsonData.HInterID},{jsonData.HYear},{jsonData.HPeriod},{jsonData.HBillType},{jsonData.HBillSubType},'{jsonData.HDate}', | 
|---|
|  |  |  | '{jsonData.HBillNo}',{jsonData.HBillStatus},{jsonData.HSupID},{jsonData.HManagerID},{jsonData.HDeptID},'{jsonData.HRemark}', | 
|---|
|  |  |  | '{jsonData.HMaker}', '{jsonData.HMakeDate}','{jsonData.HChecker}','{jsonData.HCheckDate}',{jsonData.HERPInterID}, | 
|---|
|  |  |  | '{jsonData.HERPBillType}',{jsonData.HPURCHASEORGID},{jsonData.HAPPORGID},{jsonData.HREQUIREORGID},{jsonData.HCORRESPONDORGID}, | 
|---|
|  |  |  | '{jsonData.HRMREASON}','{jsonData.HRMTYPE}','{jsonData.HRMMODE}', '{jsonData.HREPLENISHMODE}','{jsonData.HBUSINESSTYPE}')"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | oCN.RunProc(sql); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region [申请子表变量] | 
|---|
|  |  |  | var dataArr = _saveObj["Result"]["Result"]["PUR_MRAPPENTRY"]; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | DataSet Cs; | 
|---|
|  |  |  | double Qty = 0; | 
|---|
|  |  |  | double Money = 0; | 
|---|
|  |  |  | Int64 WHID = 0; | 
|---|
|  |  |  | Int64 SPID = 0; | 
|---|
|  |  |  | Int64 SourceBillType = 0; | 
|---|
|  |  |  | Int64 POOrderInterID = 0; | 
|---|
|  |  |  | Int64 POOrderEntryID = 0; | 
|---|
|  |  |  | string POORderBillNo = ""; | 
|---|
|  |  |  | string BatchNO = ""; | 
|---|
|  |  |  | Int64 ERPInterID = 0; | 
|---|
|  |  |  | Int64 ERPEntryID = 0; | 
|---|
|  |  |  | double RelationQty = 0; | 
|---|
|  |  |  | Int64 SETTLEORGID = 0; | 
|---|
|  |  |  | Int64 ISPRICEEXCLUDETAX = 0; | 
|---|
|  |  |  | Int64 PlanMode = 0; | 
|---|
|  |  |  | Int64 SourceInterID = 0; | 
|---|
|  |  |  | Int64 SourceEntryID = 0; | 
|---|
|  |  |  | string SourceBillNo = ""; | 
|---|
|  |  |  | string MTONo = ""; | 
|---|
|  |  |  | Int64 PURUNITID = 0; | 
|---|
|  |  |  | string CONTRACTNO = ""; | 
|---|
|  |  |  | string REQTRACENO = ""; | 
|---|
|  |  |  | string BFLOWID = ""; | 
|---|
|  |  |  | Int64 GIVEAWAY = 0; | 
|---|
|  |  |  | Int64 PURBASEQTY = 0; | 
|---|
|  |  |  | Int64 RETURNSTOCKJNBASEQTY = 0; | 
|---|
|  |  |  | Int64 BASEUNITQTY = 0; | 
|---|
|  |  |  | Int64 PRICECOEFFICIENT = 0; | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  | int i = 0; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取子表数据 | 
|---|
|  |  |  | Cs = oCN.RunProcReturn("select * from Cg_POInStockBackBillSub where HInterID = " + InterID, "Cg_POInStockBackBillSub"); | 
|---|
|  |  |  | // 删除子表对应数据 | 
|---|
|  |  |  | sql = $"delete from Cg_POInStockBackBillSub where HInterID = " + InterID; | 
|---|
|  |  |  | oCN.RunProc(sql); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | foreach (var oSub in dataArr) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #region [子表数据赋值] | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HInterID"].ToString()) != 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Qty = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HQty"].ToString()); | 
|---|
|  |  |  | Money = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HMoney"].ToString()); | 
|---|
|  |  |  | WHID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HWHID"].ToString()); | 
|---|
|  |  |  | SPID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSPID"].ToString()); | 
|---|
|  |  |  | SourceBillType = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSourceBillType"].ToString()); | 
|---|
|  |  |  | POOrderInterID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPOOrderInterID"].ToString()); | 
|---|
|  |  |  | POOrderEntryID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPOOrderEntryID"].ToString()); | 
|---|
|  |  |  | POORderBillNo = ClsPub.isStrNull(Cs.Tables[0].Rows[i]["HPOORderBillNo"]); | 
|---|
|  |  |  | BatchNO = ClsPub.isStrNull(Cs.Tables[0].Rows[i]["HBatchNO"]); | 
|---|
|  |  |  | ERPInterID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HERPInterID"].ToString()); | 
|---|
|  |  |  | ERPEntryID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HERPEntryID"].ToString()); | 
|---|
|  |  |  | RelationQty = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HRelationQty"].ToString()); | 
|---|
|  |  |  | SETTLEORGID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSETTLEORGID"].ToString()); | 
|---|
|  |  |  | ISPRICEEXCLUDETAX = ClsPub.isLong(Cs.Tables[0].Rows[i]["HISPRICEEXCLUDETAX"].ToString()); | 
|---|
|  |  |  | PlanMode = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPlanMode"].ToString()); | 
|---|
|  |  |  | SourceInterID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSourceInterID"].ToString()); | 
|---|
|  |  |  | SourceEntryID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSourceEntryID"].ToString()); | 
|---|
|  |  |  | SourceBillNo = ClsPub.isStrNull(Cs.Tables[0].Rows[i]["HSourceBillNo"]); | 
|---|
|  |  |  | MTONo = ClsPub.isStrNull(Cs.Tables[0].Rows[i]["HMTONo"]); | 
|---|
|  |  |  | PURUNITID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPURUNITID"].ToString()); | 
|---|
|  |  |  | CONTRACTNO = ClsPub.isStrNull(Cs.Tables[0].Rows[i]["HCONTRACTNO"]); | 
|---|
|  |  |  | REQTRACENO = ClsPub.isStrNull(Cs.Tables[0].Rows[i]["HREQTRACENO"]); | 
|---|
|  |  |  | BFLOWID = ClsPub.isStrNull(Cs.Tables[0].Rows[i]["HBFLOWID"]); | 
|---|
|  |  |  | GIVEAWAY = ClsPub.isLong(Cs.Tables[0].Rows[i]["HGIVEAWAY"].ToString()); | 
|---|
|  |  |  | PURBASEQTY = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPURBASEQTY"].ToString()); | 
|---|
|  |  |  | RETURNSTOCKJNBASEQTY = ClsPub.isLong(Cs.Tables[0].Rows[i]["HRETURNSTOCKJNBASEQTY"].ToString()); | 
|---|
|  |  |  | BASEUNITQTY = ClsPub.isLong(Cs.Tables[0].Rows[i]["HBASEUNITQTY"].ToString()); | 
|---|
|  |  |  | PRICECOEFFICIENT = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPRICECOEFFICIENT"].ToString()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | i++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var subData = new | 
|---|
|  |  |  | { | 
|---|
|  |  |  | HInterID = _saveObj["Result"]["Result"]["Id"], | 
|---|
|  |  |  | HEntryID = oSub["Id"], | 
|---|
|  |  |  | HMaterID = oSub["MATERIALID_Id"], | 
|---|
|  |  |  | HUnitID = oSub["UnitID_Id"], | 
|---|
|  |  |  | HQty = Qty, | 
|---|
|  |  |  | HPrice = oSub["PRICE_F"], | 
|---|
|  |  |  | HMoney = Money, | 
|---|
|  |  |  | HTaxRate = oSub["TAXRATE"], | 
|---|
|  |  |  | HWHID = WHID, | 
|---|
|  |  |  | HSPID = SPID, | 
|---|
|  |  |  | HRemark = oSub["FRemarks"], | 
|---|
|  |  |  | HSourceInterID = SourceInterID, | 
|---|
|  |  |  | HSourceEntryID = SourceEntryID, | 
|---|
|  |  |  | HSourceBillNo = SourceBillNo, | 
|---|
|  |  |  | HSourceBillType = SourceBillType, | 
|---|
|  |  |  | HPOOrderInterID = POOrderInterID, | 
|---|
|  |  |  | HPOOrderEntryID = POOrderEntryID, | 
|---|
|  |  |  | HPOORderBillNo = POORderBillNo, | 
|---|
|  |  |  | HRelationQty = RelationQty, | 
|---|
|  |  |  | HAuxPropID = oSub["AUXPROPID_Id"], | 
|---|
|  |  |  | HBatchNO = BatchNO, | 
|---|
|  |  |  | HMTONo = MTONo, | 
|---|
|  |  |  | HPlanMode = PlanMode, | 
|---|
|  |  |  | HERPInterID = ERPInterID, | 
|---|
|  |  |  | HERPEntryID = ERPEntryID, | 
|---|
|  |  |  | HBASEUNITID = oSub["MATERIALID"]["MaterialBase"][0]["BaseUnitId_Id"], | 
|---|
|  |  |  | HPURUNITID = PURUNITID, | 
|---|
|  |  |  | HCONTRACTNO = CONTRACTNO, | 
|---|
|  |  |  | HREQTRACENO = REQTRACENO, | 
|---|
|  |  |  | HBFLOWID = BFLOWID, | 
|---|
|  |  |  | HGIVEAWAY = GIVEAWAY, | 
|---|
|  |  |  | HPURBASEQTY = PURBASEQTY, | 
|---|
|  |  |  | HRETURNSTOCKJNBASEQTY = RETURNSTOCKJNBASEQTY, | 
|---|
|  |  |  | HBASEUNITQTY = BASEUNITQTY, | 
|---|
|  |  |  | HPRICEUNITID = oSub["PRICEUNITID_F_Id"], | 
|---|
|  |  |  | HAPPROVEPRICE = oSub["APPROVEPRICE_F"], | 
|---|
|  |  |  | HPRICECOEFFICIENT = PRICECOEFFICIENT, | 
|---|
|  |  |  | HLOCALCURRID = _saveObj["Result"]["Result"]["PUR_MRAPPFIN"][0]["LOCALCURRID_Id"], | 
|---|
|  |  |  | HEXCHANGETYPEID = _saveObj["Result"]["Result"]["PUR_MRAPPFIN"][0]["ExchangeTypeId_Id"], | 
|---|
|  |  |  | HSETTLEORGID = SETTLEORGID, | 
|---|
|  |  |  | HISPRICEEXCLUDETAX = ISPRICEEXCLUDETAX | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //插入子表 | 
|---|
|  |  |  | sql = $@" | 
|---|
|  |  |  | insert into Cg_POInStockBackBillSub | 
|---|
|  |  |  | (HInterID,HEntryID,HMaterID,HUnitID,HQty,HPrice,HMoney,HTaxRate,HWHID,HSPID,HRemark | 
|---|
|  |  |  | ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType | 
|---|
|  |  |  | ,HPOOrderInterID,HPOOrderEntryID,HPOORderBillNo | 
|---|
|  |  |  | ,HRelationQty,HAuxPropID,HBatchNO,HMTONo,HPlanMode,HERPInterID,HERPEntryID | 
|---|
|  |  |  | ,HBASEUNITID,HPURUNITID,HCONTRACTNO,HREQTRACENO,HBFLOWID,HGIVEAWAY | 
|---|
|  |  |  | ,HPURBASEQTY,HRETURNSTOCKJNBASEQTY,HBASEUNITQTY | 
|---|
|  |  |  | ,HPRICEUNITID,HAPPROVEPRICE,HPRICECOEFFICIENT | 
|---|
|  |  |  | ,HLOCALCURRID,HEXCHANGETYPEID,HSETTLEORGID,HISPRICEEXCLUDETAX | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | values | 
|---|
|  |  |  | ({subData.HInterID},{subData.HEntryID},{subData.HMaterID},{subData.HUnitID},{subData.HQty},{subData.HPrice}, | 
|---|
|  |  |  | {subData.HMoney},{subData.HTaxRate},{subData.HWHID},{subData.HSPID},'{subData.HRemark}',{subData.HSourceInterID}, | 
|---|
|  |  |  | {subData.HSourceEntryID},'{subData.HSourceBillNo}',{subData.HSourceBillType},{subData.HPOOrderInterID},{subData.HPOOrderEntryID}, | 
|---|
|  |  |  | '{subData.HPOORderBillNo}',{subData.HRelationQty},{subData.HAuxPropID},'{subData.HBatchNO}','{subData.HMTONo}',{subData.HPlanMode}, | 
|---|
|  |  |  | {subData.HERPInterID},{subData.HERPEntryID},{subData.HBASEUNITID},{subData.HPURUNITID},'{subData.HCONTRACTNO}','{subData.HREQTRACENO}', | 
|---|
|  |  |  | '{subData.HBFLOWID}',{subData.HGIVEAWAY},{subData.HPURBASEQTY},{subData.HRETURNSTOCKJNBASEQTY},{subData.HBASEUNITQTY}, | 
|---|
|  |  |  | {subData.HPRICEUNITID},{subData.HAPPROVEPRICE},{subData.HPRICECOEFFICIENT},{subData.HLOCALCURRID},{subData.HEXCHANGETYPEID}, | 
|---|
|  |  |  | {subData.HSETTLEORGID},{subData.HISPRICEEXCLUDETAX})"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | oCN.RunProc(sql); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "单据同步成功!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "单据读取失败!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|