|  |  |  | 
|---|
|  |  |  | using Newtonsoft.Json.Linq; | 
|---|
|  |  |  | using Newtonsoft.Json; | 
|---|
|  |  |  | using Newtonsoft.Json.Linq; | 
|---|
|  |  |  | using Pub_Class; | 
|---|
|  |  |  | using System; | 
|---|
|  |  |  | using System.Collections; | 
|---|
|  |  |  | 
|---|
|  |  |  | //生产汇报Controller | 
|---|
|  |  |  | public class Sc_ICMOReportBillController : ApiController | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //获取系统参数 | 
|---|
|  |  |  | Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); | 
|---|
|  |  |  | public DBUtility.ClsPub.Enum_BillStatus BillStatus;//单据状态(新增,修改,浏览,更新单价,变更) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private json objJsonResult = new json(); | 
|---|
|  |  |  | 
|---|
|  |  |  | "," + oSub.HICMOInterID.ToString() + ",'" + oSub.HICMOBillNo + "','" + oSub.HBarCode + "','" + oSub.HOWNERTYPEID + "'," + | 
|---|
|  |  |  | oSub.HISENTRUST + "," + oSub.HSTOCKINORGID + "," + oSub.HOWNERID + "," + oSub.HCHECKPRODUCT + ",'" + oSub.HQAIP + "'," + | 
|---|
|  |  |  | oSub.HCOSTRATE + "," + oSub.HISBACKFLUSH + ",'" + oSub.HREQSRC + "','" + oSub.HREQBILLNO + "'," + oSub.HREQBILLID + "," + | 
|---|
|  |  |  | oSub.HREQENTRYSEQ + "," + oSub.HREQENTRYID + "," + oSub.HMOMAINENTRYID + "," + oSub.HSTOCKINQUASELQTY + "," + oSub.HPRODUCTTYPE + ",'" + oSub.HPROJECTNO + "'," + oSub.HICMOENTRYSEQ + "," + oSub.HSEQ + ",'" + oSub.HPRODUCEDATE + "','" + oSub.HEXPIRYDATE + "'," + oSub.HBASEUNITID + "," + oSub.HDEPTID + "," + oSub.HGroupID + ",'" + oSub.HDESCRIPTION + "','" + oSub.HSourceNumber + "'," + oSub.HQPQty + "," + oSub.HICMOEntryID + "," + oSub.HWhID + "," + oSub.HSPID + ",'" + oSub.HBatChNo + "'," + oSub.HAuxPropID + ",'" + oSub.HMTONo + "'," + oSub.HPlanMode + "," + oSub.HERPInterID + "," + oSub.HERPEntryID + | 
|---|
|  |  |  | ") "; | 
|---|
|  |  |  | oSub.HREQENTRYSEQ + "," + oSub.HREQENTRYID + "," + oSub.HMOMAINENTRYID + "," + oSub.HSTOCKINQUASELQTY + "," + oSub.HPRODUCTTYPE + ",'" + oSub.HPROJECTNO + "'," + oSub.HICMOENTRYSEQ + "," + oSub.HSEQ + ",'" + oSub.HPRODUCEDATE + "','" + oSub.HEXPIRYDATE + "'," + oSub.HBASEUNITID + "," + oSub.HDEPTID + "," + oSub.HGroupID + ",'" + oSub.HDESCRIPTION + "','" + oSub.HSourceNumber + "'," + oSub.HQPQty + "," + oSub.HICMOEntryID + "," + oSub.HWhID + "," + oSub.HSPID + ",'" + oSub.HBatChNo + "'," + oSub.HAuxPropID + ",'" + oSub.HMTONo + "'," + oSub.HPlanMode + "," + oSub.HERPInterID + "," + oSub.HERPEntryID + ") "; | 
|---|
|  |  |  | oCN.RunProc(sql); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | oCN.Commit(); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 生产汇报单关闭/反关闭功能 | 
|---|
|  |  |  | [Route("Sc_ICMOReportBill/CloseSc_ICMOReportBill")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public object CloseSc_ICMOReportBill(string HInterID, int Type, string user) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //判断是否有删除权限 | 
|---|
|  |  |  | if (!DBUtility.ClsPub.Security_Log("Sc_ICMOReportBill_Close", 1, false, user)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "无权限关闭!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (string.IsNullOrWhiteSpace(HInterID)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "HInterID为空!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ClsPub.CurUserName = user; | 
|---|
|  |  |  | BillOld.MvarItemKey = "Sc_ICMOReportBillMain"; | 
|---|
|  |  |  | oCN.BeginTran();//开始事务 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //Type 1 关闭  2  反关闭 | 
|---|
|  |  |  | if (Type == 1) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //判断单据是否已经关闭 | 
|---|
|  |  |  | DataSet ds; | 
|---|
|  |  |  | string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; | 
|---|
|  |  |  | ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); | 
|---|
|  |  |  | if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "单据已关闭!不需要再关闭!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //关闭单据 | 
|---|
|  |  |  | if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "关闭失败!原因:" + ClsPub.sExeReturnInfo; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //判断单据是否已经反关闭 | 
|---|
|  |  |  | DataSet ds; | 
|---|
|  |  |  | string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; | 
|---|
|  |  |  | ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); | 
|---|
|  |  |  | if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "单据已反关闭!不需要再反关闭!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //反关闭单据 | 
|---|
|  |  |  | if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "反关闭失败!原因:" + ClsPub.sExeReturnInfo; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | oCN.Commit();//提交事务 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "执行成功!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "执行失败!" + e.ToString(); | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (sWhere == null || sWhere.Equals("")) | 
|---|
|  |  |  | List<object> columnNameList = new List<object>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | string sql1 = "select * from h_v_Sc_AssemblyBillList where 1 = 1 "; | 
|---|
|  |  |  | string sql = sql1 + sWhere; | 
|---|
|  |  |  | ds = oCN.RunProcReturn(sql, "h_v_Sc_AssemblyBillList"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //添加列名 | 
|---|
|  |  |  | foreach (DataColumn col in ds.Tables[0].Columns) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from h_v_Sc_AssemblyBillList " + sWhere, "h_v_Sc_AssemblyBillList"); | 
|---|
|  |  |  | Type dataType = col.DataType; | 
|---|
|  |  |  | string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; | 
|---|
|  |  |  | columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string sql1 = "select * from h_v_Sc_AssemblyBillList where 1 = 1 "; | 
|---|
|  |  |  | string sql = sql1 + sWhere; | 
|---|
|  |  |  | ds = oCN.RunProcReturn(sql, "h_v_Sc_AssemblyBillList"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (ds == null || ds.Tables[0].Rows.Count == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "false!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "Sucess!"; | 
|---|
|  |  |  | objJsonResult.data = ds.Tables[0]; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "Sucess!"; | 
|---|
|  |  |  | objJsonResult.data = ds.Tables[0]; | 
|---|
|  |  |  | objJsonResult.list = columnNameList; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // | 
|---|
|  |  |  | #region [同步单据] | 
|---|
|  |  |  | [Route("Sc_ICMOReportBill/Sc_ICMOReportBillViewApi")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public json Sc_ICMOReportBillViewApi(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("PRD_MORPT", 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; | 
|---|
|  |  |  | Ds = oCN.RunProcReturn("select * from Sc_ICMOReportBillMain where HBillNo = '" + BillNo + "'", "Sc_ICMOReportBillMain"); | 
|---|
|  |  |  | 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()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region [主表数据赋值] | 
|---|
|  |  |  | var jsonData = new | 
|---|
|  |  |  | { | 
|---|
|  |  |  | HInterID = _saveObj["Result"]["Result"]["Id"], | 
|---|
|  |  |  | HYear = DateTime.Now.Year, | 
|---|
|  |  |  | HPeriod = DateTime.Now.Month, | 
|---|
|  |  |  | HBillType = 3711, | 
|---|
|  |  |  | HBillSubType = 3711, | 
|---|
|  |  |  | HDate = _saveObj["Result"]["Result"]["Date"], | 
|---|
|  |  |  | HBillNo = _saveObj["Result"]["Result"]["BillNo"], | 
|---|
|  |  |  | HEmpID = 0, | 
|---|
|  |  |  | HEmpNumber = "", | 
|---|
|  |  |  | HGroupID = 0, | 
|---|
|  |  |  | HDeptID = 0, | 
|---|
|  |  |  | HDeptNumber = "", | 
|---|
|  |  |  | HRemark = "CLD导入", | 
|---|
|  |  |  | HChecker    = _saveObj["Result"]["Result"]["ApproverId"]["Name"], | 
|---|
|  |  |  | HCheckDate  = _saveObj["Result"]["Result"]["ApproveDate"], | 
|---|
|  |  |  | HMaker      = _saveObj["Result"]["Result"]["CreatorId"]["Name"], | 
|---|
|  |  |  | HMakeDate   = _saveObj["Result"]["Result"]["CreateDate"], | 
|---|
|  |  |  | HUpDater    = _saveObj["Result"]["Result"]["ModifierId"]["Name"], | 
|---|
|  |  |  | HUpDateDate = _saveObj["Result"]["Result"]["ModifyDate"], | 
|---|
|  |  |  | HDeleteMan  = _saveObj["Result"]["Result"]["CANCELER_Id"], | 
|---|
|  |  |  | HDeleteDate = _saveObj["Result"]["Result"]["CancelDate"], | 
|---|
|  |  |  | HMainSourceBillType    = "", | 
|---|
|  |  |  | HMainSourceInterID     = 0, | 
|---|
|  |  |  | HMainSourceEntryID     = 0, | 
|---|
|  |  |  | HMainSourceBillNo      = "", | 
|---|
|  |  |  | HPrintQty              = 0, | 
|---|
|  |  |  | HCheckType             = "", | 
|---|
|  |  |  | HERPInterID            = _saveObj["Result"]["Result"]["Id"], | 
|---|
|  |  |  | HERPBillType           = _saveObj["Result"]["Result"]["BillType_Id"], | 
|---|
|  |  |  | HPRDORGID = _saveObj["Result"]["Result"]["PrdOrgId_Id"], | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  | // 删除主表对应数据 | 
|---|
|  |  |  | sql = $"delete from Sc_ICMOReportBillMain where HInterID = " + InterID; | 
|---|
|  |  |  | oCN.RunProc(sql); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //插入主表 | 
|---|
|  |  |  | sql = $@" | 
|---|
|  |  |  | insert into Sc_ICMOReportBillMain | 
|---|
|  |  |  | (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate,HBillNo,HEmpID,HEmpNumber | 
|---|
|  |  |  | ,HGroupID,HDeptID,HDeptNumber,HRemark,HChecker,HCheckDate,HMaker,HMakeDate | 
|---|
|  |  |  | ,HUpDater,HUpDateDate,HDeleteMan,HDeleteDate | 
|---|
|  |  |  | ,HMainSourceBillType,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HPrintQty,HCheckType | 
|---|
|  |  |  | ,HERPInterID,HERPBillType,HPRDORGID | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | values | 
|---|
|  |  |  | ({jsonData.HInterID},{jsonData.HYear},{jsonData.HPeriod},{jsonData.HBillType},{jsonData.HBillSubType}, | 
|---|
|  |  |  | '{jsonData.HDate}','{jsonData.HBillNo}',{jsonData.HEmpID},'{jsonData.HEmpNumber}',{jsonData.HGroupID},{jsonData.HDeptID},'{jsonData.HDeptNumber}','{jsonData.HRemark}','{jsonData.HChecker}','{jsonData.HCheckDate}','{jsonData.HMaker}','{jsonData.HMakeDate}','{jsonData.HUpDater}','{jsonData.HUpDateDate}','{jsonData.HDeleteMan}','{jsonData.HDeleteDate}','{jsonData.HMainSourceBillType}',{jsonData.HMainSourceInterID},{jsonData.HMainSourceEntryID},'{jsonData.HMainSourceBillNo}',{jsonData.HPrintQty},'{jsonData.HCheckType}',{jsonData.HERPInterID},'{jsonData.HERPBillType}',{jsonData.HPRDORGID})"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | oCN.RunProc(sql); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region [申请子表变量] | 
|---|
|  |  |  | var dataArr = _saveObj["Result"]["Result"]["PRD_MORPTENTRY"]; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | DataSet Cs; | 
|---|
|  |  |  | double RelationQty = 0; | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  | int i = 0; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取子表数据 | 
|---|
|  |  |  | Cs = oCN.RunProcReturn("select * from Sc_ICMOReportBillSub where HInterID = " + InterID, "Sc_ICMOReportBillSub"); | 
|---|
|  |  |  | // 删除子表对应数据 | 
|---|
|  |  |  | sql = $"delete from Sc_ICMOReportBillSub 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) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | RelationQty = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HRelationQty"].ToString()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | i++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var subData = new | 
|---|
|  |  |  | { | 
|---|
|  |  |  | HInterID = _saveObj["Result"]["Result"]["Id"], | 
|---|
|  |  |  | HEntryID = oSub["Id"], | 
|---|
|  |  |  | HMaterID = oSub["MaterialId_Id"], | 
|---|
|  |  |  | HMaterNumber       = "", | 
|---|
|  |  |  | HUnitID            = oSub["UnitID_Id"], | 
|---|
|  |  |  | HUnitNumber        = "", | 
|---|
|  |  |  | HQtyMust           = oSub["FinishQty"], | 
|---|
|  |  |  | HQty               = oSub["FinishQty"], | 
|---|
|  |  |  | HWorkerID          = 0, | 
|---|
|  |  |  | HWorkerNumber      = "", | 
|---|
|  |  |  | HSourceID          = 0, | 
|---|
|  |  |  | HSourceNumber      = "", | 
|---|
|  |  |  | HTimes             = oSub["StdManHour"], | 
|---|
|  |  |  | HBadQty            = oSub["FailQty"], | 
|---|
|  |  |  | HBadCount          = 0, | 
|---|
|  |  |  | HQPQty             = oSub["QuaQty"], | 
|---|
|  |  |  | HWasterQty         = 0, | 
|---|
|  |  |  | HRemark            = "CLOUD导入", | 
|---|
|  |  |  | HSourceInterID     = oSub["SrcInterId"], | 
|---|
|  |  |  | HSourceEntryID     = oSub["SrcEntryId"], | 
|---|
|  |  |  | HSourceBillNo      = oSub["SrcBillNo"], | 
|---|
|  |  |  | HSourceBillType    = oSub["SrcBillType"], | 
|---|
|  |  |  | HICMOInterID       = oSub["MoId"], | 
|---|
|  |  |  | HICMOEntryID       = oSub["MoEntryId"], | 
|---|
|  |  |  | HICMOBillNo        = oSub["MoBillNo"], | 
|---|
|  |  |  | HSeOrderInterID    = 0, | 
|---|
|  |  |  | HSeOrderEntryID    = 0, | 
|---|
|  |  |  | HSeOrderBillNo     = "", | 
|---|
|  |  |  | HRelationQty       = oSub["BaseStockInQuaSelQty"], | 
|---|
|  |  |  | HRelationMoney     = 0, | 
|---|
|  |  |  | HSplitNO           = "", | 
|---|
|  |  |  | HBarCode           = "", | 
|---|
|  |  |  | HWhID              = oSub["StockId_Id"], | 
|---|
|  |  |  | HSPID              = oSub["StockLocId_Id"], | 
|---|
|  |  |  | HBatChNo           = oSub["Lot_Text"], | 
|---|
|  |  |  | HAuxPropID         = oSub["AuxPropId_Id"], | 
|---|
|  |  |  | HMTONo             = oSub["MtoNo"], | 
|---|
|  |  |  | HPlanMode          = 0, | 
|---|
|  |  |  | HERPInterID        = _saveObj["Result"]["Result"]["Id"], | 
|---|
|  |  |  | HERPEntryID = oSub["Id"], | 
|---|
|  |  |  | HOWNERTYPEID       = oSub["OwnerTypeId"], | 
|---|
|  |  |  | HISENTRUST         = oSub["IsEntrust"] = false ? 0 : 1, | 
|---|
|  |  |  | HSTOCKINORGID      = oSub["StockInOrgId_Id"], | 
|---|
|  |  |  | HOWNERID           = oSub["OwnerId_Id"], | 
|---|
|  |  |  | HCHECKPRODUCT      = oSub["CheckProduct"] = false ? 0 : 1, | 
|---|
|  |  |  | HQAIP              = oSub["QAIP"], | 
|---|
|  |  |  | HCOSTRATE          = oSub["CostRate"], | 
|---|
|  |  |  | HISBACKFLUSH       = oSub["ISBACKFLUSH"], | 
|---|
|  |  |  | HREQSRC            = oSub["ReqSrc"], | 
|---|
|  |  |  | HREQBILLNO         = oSub["ReqBillNo"], | 
|---|
|  |  |  | HREQBILLID         = oSub["ReqBillId"], | 
|---|
|  |  |  | HREQENTRYSEQ       = oSub["ReqEntrySeq"], | 
|---|
|  |  |  | HREQENTRYID        = oSub["ReqEntryId"], | 
|---|
|  |  |  | HMOMAINENTRYID     = oSub["MoMainEntryId"], | 
|---|
|  |  |  | HSTOCKINQUASELQTY  = oSub["BaseStockInQuaSelQty"], | 
|---|
|  |  |  | HPRODUCTTYPE       = oSub["ProductType"], | 
|---|
|  |  |  | HPROJECTNO         = oSub["ProjectNo"], | 
|---|
|  |  |  | HICMOENTRYSEQ      = oSub["MoEntrySeq"], | 
|---|
|  |  |  | HSEQ               = oSub["Seq"], | 
|---|
|  |  |  | HPRODUCEDATE       = oSub["ProduceDate"], | 
|---|
|  |  |  | HEXPIRYDATE        = oSub["ExpiryDate"], | 
|---|
|  |  |  | HBASEUNITID        = oSub["BaseUnitId_Id"], | 
|---|
|  |  |  | HDEPTID            = oSub["WorkshopId_Id"], | 
|---|
|  |  |  | HGroupID           = oSub["ShiftGroupId_Id"], | 
|---|
|  |  |  | HDESCRIPTION = "" | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //插入子表 | 
|---|
|  |  |  | sql = $@" | 
|---|
|  |  |  | insert into Sc_ICMOReportBillSub | 
|---|
|  |  |  | (HInterID,HEntryID,HMaterID,HMaterNumber,HUnitID,HUnitNumber | 
|---|
|  |  |  | ,HQtyMust,HQty,HWorkerID,HWorkerNumber,HSourceID,HSourceNumber,HTimes,HBadQty,HBadCount,HQPQty | 
|---|
|  |  |  | ,HWasterQty,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HICMOInterID,HICMOEntryID,HICMOBillNo | 
|---|
|  |  |  | ,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo,HRelationQty,HRelationMoney,HSplitNO,HBarCode | 
|---|
|  |  |  | ,HWhID,HSPID,HBatChNo,HAuxPropID,HMTONo,HPlanMode,HERPInterID,HERPEntryID | 
|---|
|  |  |  | ,HOWNERTYPEID,HISENTRUST,HSTOCKINORGID,HOWNERID,HCHECKPRODUCT,HQAIP,HCOSTRATE,HISBACKFLUSH,HREQSRC | 
|---|
|  |  |  | ,HREQBILLNO,HREQBILLID,HREQENTRYSEQ,HREQENTRYID,HMOMAINENTRYID,HSTOCKINQUASELQTY,HPRODUCTTYPE,HPROJECTNO | 
|---|
|  |  |  | ,HICMOENTRYSEQ,HSEQ,HPRODUCEDATE,HEXPIRYDATE,HBASEUNITID,HDEPTID,HGroupID,HDESCRIPTION | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | values | 
|---|
|  |  |  | ({subData.HInterID},{subData.HEntryID},{subData.HMaterID},'{subData.HMaterNumber}',{subData.HUnitID},'{subData.HUnitNumber}',{subData.HQtyMust},{subData.HQty},{subData.HWorkerID},'{subData.HWorkerNumber}',{subData.HSourceID},'{subData.HSourceNumber}',{subData.HTimes},{subData.HBadQty},{subData.HBadCount},{subData.HQPQty},{subData.HWasterQty},'{subData.HRemark}',{subData.HSourceInterID},{subData.HSourceEntryID},'{subData.HSourceBillNo}','{subData.HSourceBillType}',{subData.HICMOInterID},{subData.HICMOEntryID},'{subData.HICMOBillNo}',{subData.HSeOrderInterID},{subData.HSeOrderEntryID},'{subData.HSeOrderBillNo}',{subData.HRelationQty},{subData.HRelationMoney},'{subData.HSplitNO}','{subData.HBarCode}',{subData.HWhID},{subData.HSPID},'{subData.HBatChNo}',{subData.HAuxPropID},'{subData.HMTONo}','{subData.HPlanMode}',{subData.HERPInterID},{subData.HERPEntryID},'{subData.HOWNERTYPEID}','{subData.HISENTRUST}',{subData.HSTOCKINORGID},{subData.HOWNERID},'{subData.HCHECKPRODUCT}','{subData.HQAIP}',{subData.HCOSTRATE},'{subData.HISBACKFLUSH}','{subData.HREQSRC}','{subData.HREQBILLNO}',{subData.HREQBILLID},{subData.HREQENTRYSEQ},{subData.HREQENTRYID},{subData.HMOMAINENTRYID},{subData.HSTOCKINQUASELQTY},'{subData.HPRODUCTTYPE}','{subData.HPROJECTNO}',{subData.HICMOENTRYSEQ},{subData.HSEQ},'{subData.HPRODUCEDATE}','{subData.HEXPIRYDATE}',{subData.HBASEUNITID},{subData.HDEPTID},{subData.HGroupID},'{subData.HDESCRIPTION}' | 
|---|
|  |  |  | )"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|