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 
 | 
  
 | 
    } 
 | 
} 
 |