WYB
2021-04-13 7dfedc0bc066e3878ac42ae48b586e40e13d5981
WebAPI/Controllers/Sc_ProcessMangementController.cs
@@ -7,6 +7,8 @@
using System.Data.SqlClient;
using System.Web.Http;
using WebAPI.Models;
using WebAPI.Service;
namespace WebAPI.Controllers
{
    public class Sc_ProcessMangementController : ApiController
@@ -215,15 +217,150 @@
            try
            {
                DAL.ClsSc_ProcessSendWork dal = new DAL.ClsSc_ProcessSendWork();
                DAL.ClsSc_ProcessSendWork Sendwork = new DAL.ClsSc_ProcessSendWork();
                List<Model.ClsSc_ProcessSendWorkMain> lsmain = new List<Model.ClsSc_ProcessSendWorkMain>();
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");
                lsmain = oListModels.getObjectByJson_SendWorkMain(msg2);
                foreach ( Model.ClsSc_ProcessSendWorkMain  oItem in lsmain)
                {
                    UserName = oItem.HMaker;
                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    oItem.HDate = DateTime.Now;
                    oItem.HMainSourceInterID = oItem.HInterID;
                    oItem.HInterID = 0;
                    if (DBUtility.ClsPub.isStrNull(oItem.HPlanBeginDate) == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!没有填写计划开工日期,无法保存!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    Sendwork.omodel = oItem;
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存成功!";
                objJsonResult.data = 1;
                return objJsonResult;
                }
                //表体数据
                //按 },{来拆分数组 //去掉【和】
                msg3 = msg3.Substring(1, msg3.Length - 2);
                msg3 = msg3.Replace("\\", "");
                msg3 = msg3.Replace("\n", "");  //\n
                List<WebAPI.Models.Sc_ProcessPlanViewModel> ls = new List<WebAPI.Models.Sc_ProcessPlanViewModel>();
                ls = oListModels.getObjectByJson_SendWorkSub(msg3);
                int i = 0;
                List<Model.ClsSc_ProcessSendWorkSub> lss = new List<Model.ClsSc_ProcessSendWorkSub>();
                foreach (WebAPI.Models.Sc_ProcessPlanViewModel oItemSub in ls)
                {
                    i++;
                    Model.ClsSc_ProcessSendWorkSub sendworksub = new Model.ClsSc_ProcessSendWorkSub();
                    sendworksub.HProcID = oItemSub.hprocid.Value;//--工序ID
                    sendworksub.HProcPlanBillNo = oItemSub.工序计划单号; //--工序计划单号
                    sendworksub.HProcPlanEntryID = oItemSub.hsubid.Value; //--工序计划单子ID
                    sendworksub.HProcPlanInterID = oItemSub.hmainid.Value; //--工序计划单ID
                    sendworksub.HICMOInterID = oItemSub.hicmointerid.Value; //--任务单ID
                    sendworksub.HICMOBillNo = oItemSub.任务单号;  //--任务单号
                    sendworksub.HSeOrderBillNo = oItemSub.销售订单号; //--销售订单号
                    sendworksub.HSeOrderEntryID = oItemSub.销售订单子ID.Value; //--销售子ID
                    sendworksub.HSeOrderInterID = oItemSub.销售订单主ID.Value; //--销售订单主ID
                    sendworksub.HPlanTimes = (float)oItemSub.计划加工时间; //--计划工时
                    sendworksub.HPlanEndDate = oItemSub.计划完工日期.Value; //--计划完工日期
                    sendworksub.HPlanBeginDate = oItemSub.计划开工日期.Value; //--计划开工日期
                    sendworksub.HQty = (double)oItemSub.计划数量; //--派工数量
                    sendworksub.HWorkerNumber = oItemSub.操作员代码; //--操作工代码
                    sendworksub.HWorkerID = oItemSub.HWorkerID.Value; //--操作工ID
                    sendworksub.HGroupNumber = oItemSub.班组代码; //班组代码
                    sendworksub.HGroupID = oItemSub.HGroupID.Value;  //--班组ID
                    sendworksub.HSourceNumber = oItemSub.生产资源; //--生产资源代码
                    //--生产资源ID
                    sendworksub.HProcNumber = oItemSub.工序代码; //--工序代码
                    sendworksub.HRemark = oItemSub.表体备注;  //--备注
                    if (oItemSub.计划数量 <= 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不大于0无法保存!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    if (Convert.ToInt32( sendworksub.HQty) > Convert.ToInt32( oItemSub.计划数量))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!第" + i.ToString() + "行派工数量不能大于计划单数量!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    //if (DBUtility.ClsPub.isStrNull(oItemSub.HBatChNo) == "")
                    //{
                    //    objJsonResult.code = "0";
                    //    objJsonResult.count = 0;
                    //    objJsonResult.Message = "保存失败!第" + i.ToString() + "行未填写批号!";
                    //    objJsonResult.data = 1;
                    //    return objJsonResult;
                    //}
                    sendworksub.HEntryID = i;
                    sendworksub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                    sendworksub.HRemark = "";
                    sendworksub.HCloseMan = "";
                    sendworksub.HCloseType = false;
                    sendworksub.HSourceBillType = oItemSub.HBillType;
                    lss.Add(sendworksub);//先把数据存放到派工单子表集合里
                }
                if (lss.Count > 0)
                {
                    //然后再循环保存到派工单子表的集合里
                    foreach (Model.ClsSc_ProcessSendWorkSub Itemsendwork in lss)
                    {
                        Sendwork.DetailColl.Add(Itemsendwork);
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!lss集合小于0";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                //保存
                //保存完毕后处理
                bool bResult;
                if (Sendwork.omodel.HInterID == 0)
                {
                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    bResult = Sendwork.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else
                {
                    bResult = Sendwork.ModifyBill(Sendwork.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)
            {
@@ -308,6 +445,459 @@
        }
        //
        /// <summary>
        /// 返回不合格评审列表
        /// </summary>
        /// <param name="sWhere"></param>
        /// <returns></returns>
        [Route("Sc_ProcessMangement/MES_QC_NoPassProdCheckBill_Json")]
        [HttpGet]
        public object MES_QC_NoPassProdCheckBill_Json(string sWhere)
        {
            DataSet ds;
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select top 500 * from h_v_QC_NoPassProdCheckBillList ", "h_v_QC_NoPassProdCheckBillList");
                }
                else
                {
                    string sql1 = "select * from h_v_QC_NoPassProdCheckBillList where 1 = 1 ";
                    string sql = sql1 + sWhere;
                    ds = oCN.RunProcReturn(sql, "h_v_QC_NoPassProdCheckBillList");
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
            return GetObjectJson(ds);
        }
        /// <summary>
        /// PDA工序汇报单保存
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        [Route("SaveProcessReport")]
        [HttpPost]
        public object SaveProcessReport([FromBody] JObject msg)
        {
            var _value = msg["msg"].ToString();
            string msg1 = _value.ToString();
            ListModels oListModels = new ListModels();
            try
            {
                WebAPI.DLL.ClsSc_ProcessReport ReportModel = new WebAPI.DLL.ClsSc_ProcessReport();
                List<WebAPI.Models.Sc_ProcessReportViewModel> ls = new List<WebAPI.Models.Sc_ProcessReportViewModel>();
                ls = oListModels.getObjectByJson_Report(msg1);
                int i = 0;
                foreach (Models.Sc_ProcessReportViewModel ItemView in ls)
                {
                    i++;
                    Model.ClsSc_ProcessReportMain ReportMain = new Model.ClsSc_ProcessReportMain();
                    Model.ClsSc_ProcessReportSub ReportSub = new Model.ClsSc_ProcessReportSub();
                    //工序汇报单主表保存
                    ReportMain.HBillType = "3714";
                    ReportMain.HBillNo = ItemView.HBillNo;
                    ReportMain.HMakeDate=DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
                    ReportMain.HYear=DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    ReportMain.HDate = DateTime.Now;
                    ReportMain.HMaker = ItemView.HEmp;
                    ReportMain.HCloseType = false;
                    ReportMain.HPlanQty = (double)ItemView.HQty;
                    ReportMain.HMainSourceInterID = ItemView.HInterID;
                    ReportMain.HInterID =0;
                    ReportMain.HPeriod = 1;
                    ReportMain.HBillSubType = "3714";
                    ReportMain.HBillStatus = 0;
                    ReportMain.HCheckItemNowID = 0;
                    ReportMain.HCheckItemNextID = 0;
                    ReportMain.HICMOInterID= (long)ItemView.HICMOInterID;
                    ReportMain.HICMOBillNo=ItemView.HICMOBillNo;
                    ReportMain.HDeptID = (long)ItemView.HDeptID;
                    ReportMain.HDeptNumber =ItemView.HDeptNumber;
                    ReportMain.HGroupID = (long)ItemView.HGroupID;
                    ReportMain.HGroupNumber = ItemView.HGroupNumber;
                    ReportMain.HMaterID = (long)ItemView.HMaterID;
                    ReportMain.HMaterNumber = ItemView.HMaterNumber;
                    ReportMain.HUnitID = ItemView.HUnitID;
                    ReportMain.HUnitNumber = ItemView.HUnitNumber;
                    ReportMain.HInStockQty = 0;
                    ReportMain.HSumTimes = 0;
                    ReportMain.HExplanation = "";
                    ReportMain.HInnerBillNo = "";
                    ReportMain.HSupID = 0;
                    //保存到汇报单主表
                    ReportModel.omodel = ReportMain;
                    ReportSub.HEmpID = (long)ItemView.HEmpID;
                    ReportSub.HICMOBillNo = ItemView.HICMOBillNo;
                    ReportSub.HICMOInterID = (long)ItemView.HICMOInterID;
                    ReportSub.HEntryID = i;
                    ReportSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                    ReportSub.HRemark = "";
                    ReportSub.HCloseMan = "";
                    ReportSub.HCloseType = false;
                    ReportSub.HSourceBillType = "3712";
                    ReportSub.HQty = (double)ItemView.HQty;
                    ReportSub.HProcID = ItemView.HProcID;
                    ReportSub.HProcNumber = ItemView.HProcNumber;
                    ReportSub.HOutPrice =0;
                    ReportSub.HOutMoney = 0;
                    ReportSub.HSourceID = (long)ItemView.HSourceID;
                    ReportSub.HEmpNumber = "";
                    ReportSub.HRelBeginDate = DateTime.Now;
                    ReportSub.HRelEndDate = DateTime.Now;
                    ReportSub.HTimes =3;
                    ReportSub.HSeOrderInterID = 0;
                    ReportSub.HSeOrderEntryID =0;
                    ReportSub.HSeOrderBillNo = "";
                    ReportSub.HProcPlanInterID = 0;
                    ReportSub.HProcPlanBillNo = "";
                    ReportSub.HSourceInterID = 0;
                    ReportSub.HSourceBillNo = "";
                    ReportSub.HRelationQty = 0;
                    ReportSub.HRelationMoney = 0;
                    ReportSub.HMaterID = (long)ItemView.HMaterID;
                    ReportSub.HMaterNumber = ItemView.HMaterNumber;
                    ReportSub.HCheckQty =0;
                    ReportSub.HBadCount =0;
                    ReportSub.HWasterQty =0;
                    ReportSub.HWasterQty2 =0;
                    ReportSub.HPrice =0;
                    ReportSub.HMoney =0;
                    ReportSub.HProcPlanInterID =0;
                    ReportSub.HProcPlanEntryID =0;
                    ReportSub.HProcPlanBillNo ="";
                    ReportSub.HSourceEntryID =0;
                    ReportSub.HSourceBillType ="";
                    ReportSub.HRelationQty =0;
                    ReportSub.HRelationMoney =0;
                    ReportSub.HBadPrirce =0;
                    ReportSub.HBadMoney =0;
                    ReportSub.HWasterPrice =0;
                    ReportSub.HWasterMoney =0;
                    ReportSub.HQualityRate =0;
                    ReportSub.HSecUnitQty1 =0;
                    ReportSub.HSecUnitRate1=0;
                    ReportSub.HSecUnitQty2=0;
                    ReportSub.HSecUnitRate2=0;
                    ReportSub.HUsingQty=0;
                    ReportSub.HSelfBadCount=0;
                    ReportSub.HPreBadCount=0;
                    ReportSub.HPayMentQty=0;
                    ReportSub.HOtherDeduct=0;
                    ReportSub.HRelPay=0;
                    ReportSub.HOtherItem1="";
                    ReportSub.HOtherItem2="";
                    ReportSub.HOtherItem3="";
                    ReportSub.HOtherItem4="";
                    ReportSub.HOtherItem5="";
                    ReportSub.HPackType="";
                    ReportSub.HCheckEmpID=0;
                    ReportSub.HWeight=0;
                    ReportSub.HBatchNo="";
                    //保存到汇报单子表
                    ReportModel.DetailColl.Add(ReportSub);
                }
                //保存
                //保存完毕后处理
                bool bResult;
                if (ReportModel.omodel.HInterID == 0)
                {
                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    bResult = ReportModel.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else
                {
                    bResult = ReportModel.ModifyBill(ReportModel.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;
            }
        }
        /// <summary>
        /// 派工单号获取信息
        /// </summary>
        /// <returns></returns>
        [Route("Sc_ProcessMangement/getHbarCodeDetail")]
        [HttpGet]
        public ApiResult<DataSet> GetHbarCodeDetail(string sBillBarCode)
        {
            var model = LuBaoSevice.GetHbarCodeDetail(sBillBarCode);
            return model;
        }
        /// <summary>
        ///工序号获得信息
        /// </summary>
        /// <returns></returns>
        [Route("Sc_ProcessMangement/getProcDetail")]
        [HttpGet]
        public ApiResult<DataSet> GetProcDetail(string sBillNo, string sProcNo)
        {
            var model = LuBaoSevice.GetProcDetail(sBillNo, sProcNo);
            return model;
        }
        /// <summary>
        /// 保存工序汇报单信息
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        [Route("SaveProcessReportList")]
        [HttpPost]
        public object SaveProcessReportList([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();
            ListModels oListModels = new ListModels();
            try
            {
                WebAPI.DLL.ClsSc_ProcessReport ReportModel = new WebAPI.DLL.ClsSc_ProcessReport();
                List<Model.ClsSc_ProcessReportMain> lsmain = new List<Model.ClsSc_ProcessReportMain>();
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_Reportlist(msg2);
                foreach (Model.ClsSc_ProcessReportMain oItem in lsmain)
                {
                    //oItem.HMaker = "";
                    //UserName = oItem.HMaker;
                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));
                    oItem.HBillType = "3714";
                    //oItem.HExRate = 1;
                    oItem.HMainSourceInterID = oItem.HInterID;
                    oItem.HInterID = 0;
                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
                    if (DBUtility.ClsPub.isStrNull(oItem.HPlanQty) == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!没有填写派工数量,无法保存!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    ReportModel.omodel = oItem;
                }
                //表体数据
                //按 },{来拆分数组 //去掉【和】
                msg3 = msg3.Substring(1, msg3.Length - 2);
                msg3 = msg3.Replace("\\", "");
                msg3 = msg3.Replace("\n", "");  //\n
                msg2 = msg2.Replace("'", "’");
                List<WebAPI.Models.Sc_ProcessSendWorkViewModel> ls = new List<WebAPI.Models.Sc_ProcessSendWorkViewModel>();
                ls = oListModels.getObjectByJson_ViewReportlist(msg3);
                int i = 0;
                //定义汇报单子表集合用于存放下推派工单的多行数据
                List<Model.ClsSc_ProcessReportSub> lsReportSub = new List<Model.ClsSc_ProcessReportSub>();
                foreach (WebAPI.Models.Sc_ProcessSendWorkViewModel ItemView in ls)
                {
                    i++;
                    Model.ClsSc_ProcessReportSub reportSub = new Model.ClsSc_ProcessReportSub();
                    if (ItemView.数量 <= 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不大于0无法保存!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    if ((double)ItemView.数量 < ReportModel.omodel.HPlanQty)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!工序汇报单累计汇报数量不能大于源单数量!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    reportSub.HEntryID = i;
                    reportSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                    reportSub.HRemark = "";
                    reportSub.HCloseMan = "";
                    reportSub.HCloseType = false;
                    reportSub.HEmpID =0;
                    reportSub.HICMOBillNo ="";
                    reportSub.HICMOInterID = (long)ItemView.HICMOInterID;
                    reportSub.HEntryID = i;
                    reportSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                    reportSub.HRemark = "";
                    reportSub.HCloseMan = "";
                    reportSub.HCloseType = false;
                    reportSub.HSourceBillType = "3712";
                    reportSub.HQty = (double)ItemView.数量;
                    reportSub.HProcID = (long)ItemView.HprocID;
                    reportSub.HProcNumber = ItemView.工序代码;
                    reportSub.HOutPrice = 0;
                    reportSub.HOutMoney = 0;
                    reportSub.HSourceID = (long)ItemView.HSourceID;
                    reportSub.HEmpNumber = "";
                    reportSub.HRelBeginDate = DateTime.Now;
                    reportSub.HRelEndDate = DateTime.Now;
                    reportSub.HTimes = 3;
                    reportSub.HSeOrderInterID = 0;
                    reportSub.HSeOrderEntryID = 0;
                    reportSub.HSeOrderBillNo = "";
                    reportSub.HProcPlanInterID = 0;
                    reportSub.HProcPlanBillNo = "";
                    reportSub.HSourceInterID = 0;
                    reportSub.HSourceBillNo = "";
                    reportSub.HRelationQty = 0;
                    reportSub.HRelationMoney = 0;
                    reportSub.HMaterID = (long)ItemView.HMaterID;
                    reportSub.HMaterNumber = ItemView.物料代码;
                    reportSub.HCheckQty = 0;
                    reportSub.HBadCount = 0;
                    reportSub.HWasterQty = 0;
                    reportSub.HWasterQty2 = 0;
                    reportSub.HPrice = 0;
                    reportSub.HMoney = 0;
                    reportSub.HProcPlanInterID = 0;
                    reportSub.HProcPlanEntryID = 0;
                    reportSub.HProcPlanBillNo = "";
                    reportSub.HSourceEntryID = 0;
                    reportSub.HSourceBillType = "";
                    reportSub.HRelationQty = 0;
                    reportSub.HRelationMoney = 0;
                    reportSub.HBadPrirce = 0;
                    reportSub.HBadMoney = 0;
                    reportSub.HWasterPrice = 0;
                    reportSub.HWasterMoney = 0;
                    reportSub.HQualityRate = 0;
                    reportSub.HSecUnitQty1 = 0;
                    reportSub.HSecUnitRate1 = 0;
                    reportSub.HSecUnitQty2 = 0;
                    reportSub.HSecUnitRate2 = 0;
                    reportSub.HUsingQty = 0;
                    reportSub.HSelfBadCount = 0;
                    reportSub.HPreBadCount = 0;
                    reportSub.HPayMentQty = 0;
                    reportSub.HOtherDeduct = 0;
                    reportSub.HRelPay = 0;
                    reportSub.HOtherItem1 = "";
                    reportSub.HOtherItem2 = "";
                    reportSub.HOtherItem3 = "";
                    reportSub.HOtherItem4 = "";
                    reportSub.HOtherItem5 = "";
                    reportSub.HPackType = "";
                    reportSub.HCheckEmpID = 0;
                    reportSub.HWeight = 0;
                    reportSub.HBatchNo = "";
                    lsReportSub.Add(reportSub);
                }
                if (lsReportSub.Count>0)
                {
                    //然后在循环保存到汇报但子表
                    foreach (Model.ClsSc_ProcessReportSub item in lsReportSub)
                    {
                        ReportModel.DetailColl.Add(item);
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!lsReportSub集合小于0";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                ////保存前判断(单据号重复,笔录项目)
                ////保存
                ////保存完毕后处理
                bool bResult;
                if (ReportModel.omodel.HInterID == 0)
                {
                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    bResult = ReportModel.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else
                {
                    bResult = ReportModel.ModifyBill(ReportModel.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;
            }
        }
    }
}