|  |  | 
 |  |  | 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(); | 
 |  |  | 
 |  |  |         /// </summary> | 
 |  |  |         [Route("Sc_ICMOReportBill/list")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object list(string sWhere,string user) | 
 |  |  |         public object list(string sWhere, string user) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  | 
 |  |  |  | 
 |  |  |                 if (sWhere == null || sWhere.Equals("")) | 
 |  |  |                 { | 
 |  |  |                     ds = oCN.RunProcReturn("select * from h_v_IF_ICMOReportBillList_Edit " + sWhere, "h_v_IF_ICMOReportBillList_Edit"); | 
 |  |  |                     ds = oCN.RunProcReturn("select * from h_v_IF_ICMOReportBillList_Edit order by hmainid desc ", "h_v_IF_ICMOReportBillList_Edit"); | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     string sql1 = "select * from h_v_IF_ICMOReportBillList_Edit where 1 = 1 "; | 
 |  |  |                     string sql = sql1 + sWhere; | 
 |  |  |                     string sql = sql1 + sWhere + " order by hmainid desc "; | 
 |  |  |                     ds = oCN.RunProcReturn(sql, "h_v_IF_ICMOReportBillList_Edit"); | 
 |  |  |                 } | 
 |  |  |                | 
 |  |  |                     objJsonResult.code = "1"; | 
 |  |  |                     objJsonResult.count = 1; | 
 |  |  |                     objJsonResult.Message = "Sucess!"; | 
 |  |  |                     objJsonResult.data = ds.Tables[0]; | 
 |  |  |                     return objJsonResult; | 
 |  |  |             | 
 |  |  |  | 
 |  |  |                 //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) | 
 |  |  |             { | 
 |  |  | 
 |  |  |                 msg2 = msg2.Replace("\\", ""); | 
 |  |  |                 msg2 = msg2.Replace("\n", "");  //\n | 
 |  |  |                 lsmain = oListModels.getObjectByJson_Gy_ICMOReportBillMain(msg2); | 
 |  |  |                  | 
 |  |  |  | 
 |  |  |                 foreach (Models.ClsSc_ICMOReportBillMain oItem in lsmain) | 
 |  |  |                 { | 
 |  |  |                     if (refSav == "Add")  | 
 |  |  |                     if (refSav == "Add") | 
 |  |  |                     { | 
 |  |  |                         //单据号是否重复 | 
 |  |  |                         if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld.omodel.HInterID)) | 
 |  |  | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                         //判断是否可编辑 | 
 |  |  |                         if (BillOld.omodel.HChecker != ""&& BillOld.omodel.HChecker != null) | 
 |  |  |                         if (BillOld.omodel.HChecker != "" && BillOld.omodel.HChecker != null) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  | 
 |  |  |                     oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); | 
 |  |  |                     oItemSub.HCloseType = false;   //关闭类型 | 
 |  |  |                     //oItemSub.HRemark = "";         //备注 | 
 |  |  |                     oItemSub.HSourceInterID =0;     // 源单主内码 | 
 |  |  |                     oItemSub.HSourceInterID = 0;     // 源单主内码 | 
 |  |  |                     oItemSub.HSourceEntryID = 0;   //源单子内码 | 
 |  |  |                     //oItemSub.HSourceBillNo = "";  //源单单号 | 
 |  |  |                     //oItemSub.HSourceBillType = ""; //源单类型 | 
 |  |  | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 生产汇报单保存api | 
 |  |  |         [Route("Sc_ICMOReportBill/Sc_ICMOReportBillSaveApi")] | 
 |  |  |         [HttpPost] | 
 |  |  |         public object Sc_ICMOReportBillSaveApi([FromBody] JObject sMainSub) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 var model = sMainSub["model"].ToString(); | 
 |  |  |                 var entry = sMainSub["model"]["HENTRY"].ToString(); | 
 |  |  |  | 
 |  |  |                 model = "[" + model.ToString() + "]"; | 
 |  |  |                 List<ClsSc_ICMOReportBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_ICMOReportBillMain>>(model); | 
 |  |  |                 List<ClsSc_ICMOReportBillSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_ICMOReportBillSub>>(entry); | 
 |  |  |                 string sql = string.Empty; | 
 |  |  |                 oCN.BeginTran(); | 
 |  |  |                 sql = $"delete Sc_ICMOReportBillMain where HinterID = {mainList[0].HInterID}"; | 
 |  |  |                 oCN.RunProc(sql); | 
 |  |  |                 sql = $"delete Sc_ICMOReportBillSub where HinterID = {mainList[0].HInterID}"; | 
 |  |  |                 oCN.RunProc(sql); | 
 |  |  |                 //主表 | 
 |  |  |                 sql = "Insert Into Sc_ICMOReportBillMain   " + | 
 |  |  |                "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate" + | 
 |  |  |                ",HYear,HPeriod,HRemark,HEmpID,HEmpNumber" + | 
 |  |  |                ",HGroupID,HDeptID,HDeptNumber" + | 
 |  |  |                ",HMainSourceBillNo,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillType" + | 
 |  |  |                ",HChecker,HCheckDate,HUpDater,HUpDateDate,HDeleteMan,HDeleteDate,HPrintQty,HCheckType" + | 
 |  |  |                ",HERPInterID,HERPBillType,HPRDORGID" + | 
 |  |  |                ") " + | 
 |  |  |                " values('" + mainList[0].HBillType + "','" + mainList[0].HBillSubType + "'," + mainList[0].HInterID.ToString() + ",'" + mainList[0].HBillNo + "','" + mainList[0].HDate + "','" + mainList[0].HMaker + "',getdate()" + | 
 |  |  |                "," + mainList[0].HYear.ToString() + "," + mainList[0].HPeriod.ToString() + ",'" + mainList[0].HRemark + "','" + mainList[0].HEmpID.ToString() + "','" + mainList[0].HEmpNumber + | 
 |  |  |                "','" + mainList[0].HGroupID.ToString() + "'," + mainList[0].HDeptID.ToString() + ",'" + mainList[0].HDeptNumber + | 
 |  |  |                "','" + mainList[0].HMainSourceBillNo.ToString() + "'," + mainList[0].HMainSourceInterID.ToString() + ",'" + mainList[0].HMainSourceEntryID + "','" + mainList[0].HMainSourceBillType + "','" + mainList[0].HChecker + "','" + mainList[0].HCheckDate + "','" + mainList[0].HUpDater + | 
 |  |  |                "','" + mainList[0].HUpDateDate + "','" + mainList[0].HDeleteMan + "','" + mainList[0].HDeleteDate + "'," + mainList[0].HPrintQty + | 
 |  |  |                ",'" + mainList[0].HCheckType + "'," + mainList[0].HERPInterID + ",'" + mainList[0].HERPBillType + "'," + mainList[0].HPRDORGID + | 
 |  |  |                ") "; | 
 |  |  |                 oCN.RunProc(sql); | 
 |  |  |                 //保存主表 | 
 |  |  |                 foreach (var oSub in subList) | 
 |  |  |                 { | 
 |  |  |                     sql = "Insert into Sc_ICMOReportBillSub " + | 
 |  |  |                       " (HInterID,HEntryID,HMaterID,HMaterNumber" + | 
 |  |  |                       ",HQty,HUnitID,HUnitNumber,HTimes,HSourceID" + | 
 |  |  |                       ",HQtyMust,HWorkerID,HWorkerNumber,HBadCount,HWasterQty," + | 
 |  |  |                       "HCloseMan,HCloseType,HRemark," + | 
 |  |  |                       "HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + | 
 |  |  |                       ",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" + | 
 |  |  |                       ",HICMOInterID,HICMOBillNo,HBarCode" + | 
 |  |  |                       ",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" + | 
 |  |  |                       ",HSourceNumber,HQPQty,HICMOEntryID" + | 
 |  |  |                       ",HWhID,HSPID,HBatChNo,HAuxPropID,HMTONo,HPlanMode,HERPInterID,HERPEntryID" + | 
 |  |  |                       ") values(" | 
 |  |  |                       + oSub.HInterID.ToString() + "," + oSub.HEntryID.ToString() + "," + oSub.HMaterID.ToString() + ",'" + oSub.HMaterNumber + "'" + | 
 |  |  |                       "," + oSub.HQty.ToString() + "," + oSub.HUnitID.ToString() + ",'" + oSub.HUnitNumber + "'," + oSub.HTimes.ToString() + "," + oSub.HSourceID.ToString() + | 
 |  |  |                       "," + oSub.HQtyMust.ToString() + "," + oSub.HWorkerID.ToString() + ",'" + oSub.HWorkerNumber + "'," + oSub.HBadCount.ToString() + "," + oSub.HWasterQty.ToString() + | 
 |  |  |                       ",'" + oSub.HCloseMan + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" + | 
 |  |  |                       "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() + | 
 |  |  |                       "," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" + | 
 |  |  |                       "," + 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 + ") "; | 
 |  |  |                     oCN.RunProc(sql); | 
 |  |  |                 } | 
 |  |  |                 oCN.Commit(); | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "单据保存成功!"; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 oCN.RollBack(); | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "保存失败!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |         #region 生产汇报单删除功能 | 
 |  |  |         /// <summary> | 
 |  |  |         /// 模具处理领用单删除功能 | 
 |  |  | 
 |  |  |         /// <returns></returns> | 
 |  |  |         [Route("Sc_ICMOReportBill/DeltetICMOReportBill")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object DeltetMouldLifeChangeBill(string HInterID,string user) | 
 |  |  |         public object DeltetMouldLifeChangeBill(string HInterID, string user) | 
 |  |  |         { | 
 |  |  |             //编辑权限 | 
 |  |  |             if (!DBUtility.ClsPub.Security_Log_second("Sc_ICMOReportBill_Drop", 1, false, user)) | 
 |  |  | 
 |  |  |         } | 
 |  |  |         #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 | 
 |  |  |  | 
 |  |  |     } | 
 |  |  | } |