| using Newtonsoft.Json; | 
| using Newtonsoft.Json.Linq; | 
| using Pub_Class; | 
| using System; | 
| using System.Collections; | 
| using System.Collections.Generic; | 
| using System.Data; | 
| using System.Data.SqlClient; | 
| using System.Web.Http; | 
| using WebAPI.Models; | 
|   | 
| namespace WebAPI.Controllers | 
| { | 
|     //生产汇报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(); | 
|         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|         DataSet ds; | 
|         public DAL.ClsSc_ICMOReportBill BillNew = new DAL.ClsSc_ICMOReportBill();   //对应单据类 | 
|         public DAL.ClsSc_ICMOReportBill BillOld = new DAL.ClsSc_ICMOReportBill();   //对应单据类 | 
|   | 
|         #region  生产汇报单 | 
|   | 
|         #region  生产汇报单列表 | 
|         /// <summary> | 
|         /// 返回生产汇报单列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Sc_ICMOReportBill/list")] | 
|         [HttpGet] | 
|         public object list(string sWhere, string user) | 
|         { | 
|             try | 
|             { | 
|                 //判断是否有查询权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("Sc_ICMOReportBillQuery", 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_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 + " order by hmainid desc "; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_IF_ICMOReportBillList_Edit"); | 
|                 } | 
|   | 
|                 //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; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 生产汇报单编辑时获取表头数据 | 
|         [Route("Sc_ICMOReportBill/Sc_GetICMOReportBillListCheckDetai")] | 
|         [HttpGet] | 
|         public ApiResult<DataSet> Sc_GetICMOReportBillListCheckDetai(string HID) | 
|         { | 
|             if (string.IsNullOrEmpty(HID)) | 
|                 return new ApiResult<DataSet> { code = -1, msg = "ID不能为空" }; | 
|             SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|   | 
|             var dataSet = oCN.RunProcReturn("select top 1 * from h_v_IF_ICMOReportBillList_Edit  where hmainid= " + HID + " ", "h_v_IF_ICMOReportBillList_Edit"); | 
|             if (dataSet == null || dataSet.Tables[0].Rows.Count == 0) | 
|                 return new ApiResult<DataSet> { code = -1, msg = "不存在生产汇报单号" }; | 
|   | 
|             return new ApiResult<DataSet> { code = 1, msg = "查询成功", data = dataSet }; | 
|         } | 
|         #endregion | 
|   | 
|         #region 生产汇报单编辑时获取表体数据 | 
|         [Route("Sc_ICMOReportBill/Sc_ICMOReportBillListProjectDetai")] | 
|         [HttpGet] | 
|         public object Sc_ICMOReportBillListProjectDetai(string sqlWhere) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (sqlWhere == null || sqlWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn(string.Format(@"SELECT HMaterID,物料代码 HMaterCode,物料名称 HMaterName,规格型号 HMaterSpec, | 
|                                             HUnitID, 计量单位代码 HUnitCode, 计量单位 HUnitName,HSourceID,生产资源代码 HSourceCode,生产资源 HSourceName, | 
|                                             HWorkerid,操作员代码 HWorkerCode,操作员 HWorkerName,生产数量 HQty,表体备注 HRemark | 
|                                             FROM h_v_IF_ICMOReportBillList_Edit"), "h_v_IF_ICMOReportBillList_Edit"); | 
|   | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "获取信息成功!"; | 
|                     objJsonResult.data = ds.Tables[0]; | 
|                 } | 
|                 else | 
|                 { | 
|   | 
|                     //string sql1 = "select HRepairCheckID,HRepairCheckContent,HManagerID,HRemark  from Sc_MouldRepairCheckBillSub where 1 = 1 "; | 
|                     string sql1 = string.Format(@"SELECT HMaterID,物料代码 HMaterCode,物料名称 HMaterName,规格型号 HMaterSpec, | 
|                                             HUnitID, 计量单位代码 HUnitCode, 计量单位 HUnitName,HSourceID,生产资源代码 HSourceCode,生产资源 HSourceName, | 
|                                             HWorkerid,操作员代码 HWorkerCode,操作员 HWorkerName,生产数量 HQty,表体备注 HRemark | 
|                                             FROM h_v_IF_ICMOReportBillList_Edit where 1 = 1 "); | 
|                     string sql = sql1 + sqlWhere; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_IF_ICMOReportBillList_Edit"); | 
|   | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "获取信息成功!"; | 
|                     objJsonResult.data = ds.Tables[0]; | 
|                 } | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|             } | 
|             return objJsonResult; | 
|         } | 
|         #endregion | 
|   | 
|         #region 生产汇报单保存/编辑 | 
|         /// <summary> | 
|         /// 保存模具领用单 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [Route("Sc_ICMOReportBill/SaveGetICMOReportBillList")] | 
|         [HttpPost] | 
|         public object SaveGetICMOReportBillList([FromBody] JObject msg) | 
|         { | 
|             var _value = msg["msg"].ToString(); | 
|             string msg1 = _value.ToString(); | 
|             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|             string msg2 = sArray[0].ToString(); | 
|             string msg3 = sArray[1].ToString(); | 
|             string refSav = sArray[2].ToString(); | 
|             string user = sArray[3].ToString(); | 
|   | 
|             string UserName = ""; | 
|             string s = ""; | 
|             ListModels oListModels = new ListModels(); | 
|             try | 
|             { | 
|                 //判断是否有编辑权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("Sc_ICMOReportBill_Edit", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无权限编辑!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 DLL.ClsSc_ICMOReportBill oBill = new DLL.ClsSc_ICMOReportBill(); | 
|                 List<Models.ClsSc_ICMOReportBillMain> lsmain = new List<Models.ClsSc_ICMOReportBillMain>(); | 
|                 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 (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld.omodel.HInterID)) | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "单据号重复!不允许保存!"; | 
|                             objJsonResult.data = 1; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                     if (refSav == "Update") | 
|                     { | 
|                         if (BillOld.ShowBill(oItem.HInterID, ref s) == false) | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "此单据有误!"; | 
|                             objJsonResult.data = 1; | 
|                             return objJsonResult; | 
|                         } | 
|                         //判断是否可编辑 | 
|                         if (BillOld.omodel.HChecker != "" && BillOld.omodel.HChecker != null) | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "此单据已经被审核,不允许修改!"; | 
|                             objJsonResult.data = 1; | 
|                             return objJsonResult; | 
|                         } | 
|                         if (BillOld.omodel.HBillStatus > 1) | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "此单据处于不可编辑状态,不允许修改!"; | 
|                             objJsonResult.data = 1; | 
|                             return objJsonResult; | 
|                         } | 
|                         if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld, ref s)) | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = s + ",不允许修改"; | 
|                             objJsonResult.data = 1; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                     //oItem.HMaker = ""; | 
|                     UserName = oItem.HMaker;  //制单人 | 
|                     oItem.HBillType = "3711"; | 
|                     oItem.HBillSubType = "3711"; | 
|                     oItem.HBillStatus = 1;   //单据状态(1未审,2审核通过,3关闭,4作废,5审核退回,6审核中,7已阅,8已回复,9结案,10验证,11下达,12开工,13申请审批,15申请检验,16 判定合格,17判定不合格)  | 
|                     //oItem.HBillNo = "";    //单据号 | 
|                     //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --日期 | 
|                     //oItem.HInnerBillNo = "";  //  --内部单据号 | 
|                     oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); | 
|                     oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); | 
|                     //oItem.HEquipID = 0;    //设备ID(Gy_EquipMent) | 
|                     //oItem.HPeriod = 0; | 
|                     //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --维修日期 | 
|                     //oItem.HCheckResult = "";     //验收结论--(正常,异常) | 
|                     //oItem.HEmpID = 0;           //验收人(Gy_Employee) | 
|                     //oItem.HManagerID = 0;      //负责人(Gy_Employee) | 
|                     //oItem.HDeptID = 0;        //验收部门(Gy_Department) | 
|                     //oItem.HExplanation = "";  //摘要(故障描述)   | 
|                     //oItem.HRemark = "";       //备注 | 
|   | 
|                     //oItem.HMainSourceInterID = oItem.HInterID; | 
|   | 
|                     //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo); | 
|                     if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!没有单据日期,无法保存!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|                     oBill.omodel = oItem; | 
|                 } | 
|                 //表体数据 | 
|                 //按 },{来拆分数组 //去掉【和】 | 
|                 msg3 = msg3.Substring(1, msg3.Length - 2); | 
|                 msg3 = msg3.Replace("\\", ""); | 
|                 msg3 = msg3.Replace("\n", "");  //\n | 
|                 //msg2 = msg2.Replace("'", "’"); | 
|                 List<Models.ClsSc_ICMOReportBillSub> ls = new List<Models.ClsSc_ICMOReportBillSub>(); | 
|                 ls = oListModels.getObjectByJson_Gy_ICMOReportBillSub(msg3); | 
|                 int i = 0; | 
|                 foreach (Models.ClsSc_ICMOReportBillSub oItemSub in ls) | 
|                 { | 
|   | 
|                     i++; | 
|                     oItemSub.HEntryID = i; | 
|   | 
|                     //oItemSub.HRepairCheckID = 0;   //验收项目ID | 
|                     //oItemSub.HRepairCheckContent = ""; //验收内容 | 
|                     //oItemSub.HManagerID = 0;   //负责人ID | 
|                     //oItemSub.HCloseMan = "";       //行关闭 | 
|                     oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); | 
|                     oItemSub.HCloseType = false;   //关闭类型 | 
|                     //oItemSub.HRemark = "";         //备注 | 
|                     oItemSub.HSourceInterID = 0;     // 源单主内码 | 
|                     oItemSub.HSourceEntryID = 0;   //源单子内码 | 
|                     //oItemSub.HSourceBillNo = "";  //源单单号 | 
|                     //oItemSub.HSourceBillType = ""; //源单类型 | 
|                     //oItemSub.HRelationQty = 0;     //关联数量 | 
|                     //oItemSub.HRelationMoney = 0;   //关联金额  | 
|                     //oItemSub.HRepairID = 0;       //维修项目 | 
|                     //oItemSub.HRepairExplanation ="";   //维修要求 | 
|                     //oItemSub.HMoney = 0;        //维修费用 | 
|                     oBill.DetailColl.Add(oItemSub); | 
|   | 
|                 } | 
|                 //保存 | 
|                 //保存完毕后处理 | 
|                 bool bResult; | 
|                 if (oBill.omodel.HInterID == 0) | 
|                 { | 
|                     // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                     bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 } | 
|                 else | 
|                 { | 
|                     bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 } | 
|                 if (bResult) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "保存成功!"; | 
|                     //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); | 
|                     objJsonResult.data = 1; | 
|                     return objJsonResult; | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; | 
|                     objJsonResult.data = 1; | 
|                     return objJsonResult; | 
|                 } | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "保存失败!" + e.ToString(); | 
|                 objJsonResult.data = 1; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #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> | 
|         /// 模具处理领用单删除功能 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         [Route("Sc_ICMOReportBill/DeltetICMOReportBill")] | 
|         [HttpGet] | 
|         public object DeltetMouldLifeChangeBill(string HInterID, string user) | 
|         { | 
|             //编辑权限 | 
|             if (!DBUtility.ClsPub.Security_Log_second("Sc_ICMOReportBill_Drop", 1, false, user)) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "无删除权限!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|   | 
|             string s = ""; | 
|             Int64 lngBillKey = 0; | 
|             lngBillKey = DBUtility.ClsPub.isLong(HInterID); | 
|             if (lngBillKey == 0) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "单据ID为空!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             DLL.ClsSc_ICMOReportBill oBill = new DLL.ClsSc_ICMOReportBill(); | 
|             if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) | 
|             { | 
|                 if (oBill.omodel.HBillStatus > 1) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "单据当前处于不能删除状态,不能删除!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 if (oBill.omodel.HChecker != "") | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "单据已经审核,不能删除!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 if (!DBUtility.Xt_BaseBillFun.Fun_AllowDeleteBill(BillOld, ref s)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = s + ",不允许删除"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 bool IsDete = oBill.DeleteBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 if (IsDete) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 else | 
|                 { | 
|   | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|             } | 
|             else | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "单据未找到"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region [生产汇报单审核、反审核] | 
|         /// <summary> | 
|         ///  | 
|         /// </summary> | 
|         /// <param name="HInterID">单据ID</param> | 
|         /// <param name="IsAudit">审核(0),反审核(1)</param> | 
|         /// <param name="CurUserName">审核人</param> | 
|         /// <returns></returns> | 
|         [Route("Sc_ICMOReportBill/AuditProcessReportList")] | 
|         [HttpGet] | 
|         public object AuditProcessReportList(int HInterID, int IsAudit, string CurUserName) | 
|         { | 
|             string ModRightNameCheck = "Sc_ICMOReportBill_Check"; | 
|             DBUtility.ClsPub.CurUserName = CurUserName; | 
|             try | 
|             { | 
|                 //审核权限 | 
|                 if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "审核失败!无权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 if (HInterID <= 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "HInterID小于0!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 Int64 lngBillKey = 0; | 
|                 lngBillKey = DBUtility.ClsPub.isLong(HInterID); | 
|                 DLL.ClsSc_ICMOReportBill oBill = new DLL.ClsSc_ICMOReportBill(); | 
|                 //查看是否已审核,关闭,作废 | 
|                 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) | 
|                 { | 
|                     if (oBill.omodel.HCloseMan.Trim() != "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "单据已关闭!不能再次审核!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     if (oBill.omodel.HDeleteMan.Trim() != "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "单据已作废!不能再次审核!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     if (IsAudit == 0)  //审核判断 | 
|                     { | 
|                         if (oBill.omodel.HChecker.Trim() != "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "单据已审核!不能再次审核!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                     if (IsAudit == 1) //反审核判断 | 
|                     { | 
|                         if (oBill.omodel.HChecker.Trim() == "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "单据未审核!不需要反审核!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 if (IsAudit == 0) //审核提交 | 
|                 { | 
|                     //审核提交 | 
|                     if (oBill.CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) | 
|                     { | 
|                         objJsonResult.code = "1"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "审核成功"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     else | 
|                     { | 
|                         objJsonResult.code = "1"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                 } | 
|                 if (IsAudit == 1) //反审核提交 | 
|                 { | 
|                     //反审核提交AbandonCheck | 
|                     if (oBill.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) | 
|                     { | 
|                         objJsonResult.code = "1"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "反审核成功"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     else | 
|                     { | 
|                         objJsonResult.code = "1"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                 } | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #endregion | 
|   | 
|   | 
|         /// <summary> | 
|         /// 返回生产质量汇报单列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Sc_AssemblyBill/list1")] | 
|         [HttpGet] | 
|         public object list1(string sWhere) | 
|         { | 
|             try | 
|             { | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select * from h_v_Sc_AssemblyBillList " + sWhere, "h_v_Sc_AssemblyBillList"); | 
|                 } | 
|                 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; | 
|                 } | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|         #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 | 
|   | 
|     } | 
| } |