zgq
2021-04-20 8e36d179829288e44676e3427fbfb5a77b4b053a
新增委外工序接收单模块
10个文件已添加
10个文件已修改
3207 ■■■■■ 已修改文件
WebAPI.v12.suo 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/BaseSet/Gy_MaterialController.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CGGL/Cg_POInStockBackBillController.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CGGL/Cg_POInStockBillController.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CGGL/WW_EntrustOrderBillController.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/Sc_CheckToolsRepairWorkBillController.cs 445 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/Sc_ProcessMangementController.cs 519 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/WebAPIController.cs 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/XSGL/Xs_SeOutStockBackBillController.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/DLL/ClsQC_NoPassProdCheckBill.cs 554 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/DLL/ClsSc_ProcessReport.cs 445 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/ListModels.cs 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/Sc_ProcessPlanViewModel.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/Sc_ProcessReportViewModel.cs 170 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/Sc_ProcessSendWorkViewModel.cs 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Properties/PublishProfiles/API.pubxml.user 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI.v12.suo
Binary files differ
WebAPI/Controllers/BaseSet/Gy_MaterialController.cs
@@ -165,6 +165,53 @@
            }
        }
        /// <summary>
        /// 返回条码档案列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Gy_BarCodeBillList/GetBarCodeBillList")]
        [HttpGet]
        public object GetBarCodeBillList(string sWhere)
        {
            try
            {
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_IF_BarCodeBillList " + sWhere, "h_v_IF_BarCodeBillList");
                }
                else
                {
                    string sql1 = "select * from h_v_IF_BarCodeBillList where 1 = 1 ";
                    string sql = sql1 + sWhere;
                    ds = oCN.RunProcReturn(sql, "h_v_IF_BarCodeBillList");
                }
                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;
            }
        }
        //
WebAPI/Controllers/CGGL/Cg_POInStockBackBillController.cs
New file
@@ -0,0 +1,75 @@
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 Cg_POInStockBackBillController : ApiController
    {
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        /// <summary>
        /// 返回退料通知单列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Cg_POInStockBackBill/list")]
        [HttpGet]
        public object list(string sWhere)
        {
            try
            {
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_IF_POInStockBackBillList " + sWhere, "h_v_IF_POInStockBackBillList");
                }
                else
                {
                    string sql1 = "select * from h_v_IF_POInStockBackBillList where 1 = 1 ";
                    string sql = sql1 + sWhere;
                    ds = oCN.RunProcReturn(sql, "h_v_IF_POInStockBackBillList");
                }
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    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;
            }
        }
        //
    }
}
WebAPI/Controllers/CGGL/Cg_POInStockBillController.cs
New file
@@ -0,0 +1,75 @@
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 Cg_POInStockBillController : ApiController
    {
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        /// <summary>
        /// 返回收料通知单列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Cg_POInStockBill/list")]
        [HttpGet]
        public object list(string sWhere)
        {
            try
            {
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_IF_POInStockBillList " + sWhere, "h_v_IF_POInStockBillList");
                }
                else
                {
                    string sql1 = "select * from h_v_IF_POInStockBillList where 1 = 1 ";
                    string sql = sql1 + sWhere;
                    ds = oCN.RunProcReturn(sql, "h_v_IF_POInStockBillList");
                }
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    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;
            }
        }
        //
    }
}
WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs
New file
@@ -0,0 +1,75 @@
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 Cg_POOrderBillController : ApiController
    {
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        /// <summary>
        /// 返回采购订单列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Cg_POOrderBill/list")]
        [HttpGet]
        public object list(string sWhere)
        {
            try
            {
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_IF_POOrderBillList " + sWhere, "h_v_IF_POOrderBillList");
                }
                else
                {
                    string sql1 = "select * from h_v_IF_POOrderBillList where 1 = 1 ";
                    string sql = sql1 + sWhere;
                    ds = oCN.RunProcReturn(sql, "h_v_IF_POOrderBillList");
                }
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    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;
            }
        }
        //
    }
}
WebAPI/Controllers/CGGL/WW_EntrustOrderBillController.cs
New file
@@ -0,0 +1,75 @@
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 WW_EntrustOrderBillController : ApiController
    {
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        /// <summary>
        /// 返回委外订单列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("WW_EntrustOrderBill/list")]
        [HttpGet]
        public object list(string sWhere)
        {
            try
            {
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_IF_EntrustOrderBillList " + sWhere, "h_v_IF_EntrustOrderBillList");
                }
                else
                {
                    string sql1 = "select * from h_v_IF_EntrustOrderBillList where 1 = 1 ";
                    string sql = sql1 + sWhere;
                    ds = oCN.RunProcReturn(sql, "h_v_IF_EntrustOrderBillList");
                }
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    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;
            }
        }
        //
    }
}
WebAPI/Controllers/Sc_CheckToolsRepairWorkBillController.cs
@@ -68,6 +68,10 @@
        }
        /// <summary>
        /// 检具点检计划表列表
        /// </summary>
@@ -712,6 +716,447 @@
        #endregion
        /// <summary>
        /// 调拨单列表
        /// </summary>
        /// <returns></returns>
        [Route("Kf_MoveStockBill/GetMoveStockBillList")]
        [HttpGet]
        public object GetMoveStockBillList(string sWhere)
        {
            try
            {
                ds = Sc_GetMoveStockBillList(sWhere);
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "返回记录成功!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
            }
            catch (Exception ex)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #region sql语句
        public static DataSet Sc_GetMoveStockBillList(string sWhere)
        {
            return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IF_MoveStockBillList ", "h_v_IF_MoveStockBillList");
        }
        #endregion
        /// <summary>
        /// 生产领料单列表
        /// </summary>
        /// <returns></returns>
        [Route("Kf_MateOutBill/GetMateOutBillList")]
        [HttpGet]
        public object GetMateOutBillList(string sWhere)
        {
            try
            {
                ds = Sc_GetMateOutBillList(sWhere);
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "返回记录成功!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
            }
            catch (Exception ex)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #region sql语句
        public static DataSet Sc_GetMateOutBillList(string sWhere)
        {
            return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IF_MateOutBillList ", "h_v_IF_MateOutBillList");
        }
        #endregion
        /// <summary>
        /// 销售出库单列表
        /// </summary>
        /// <returns></returns>
        [Route("Kf_SellOutBill/GetSellOutBillList")]
        [HttpGet]
        public object GetSellOutBillList(string sWhere)
        {
            try
            {
                ds = Sc_GetSellOutBillList(sWhere);
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "返回记录成功!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
            }
            catch (Exception ex)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #region sql语句
        public static DataSet Sc_GetSellOutBillList(string sWhere)
        {
            return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IF_SellOutBillList ", "h_v_IF_SellOutBillList");
        }
        #endregion
        /// <summary>
        /// 其他出库单列表
        /// </summary>
        /// <returns></returns>
        [Route("Kf_OtherOutBill/GetOtherOutBillList")]
        [HttpGet]
        public object GetOtherOutBillList(string sWhere)
        {
            try
            {
                ds = Sc_GetOtherOutBillList(sWhere);
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "返回记录成功!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
            }
            catch (Exception ex)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #region sql语句
        public static DataSet Sc_GetOtherOutBillList(string sWhere)
        {
            return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_Kf_OtherOutBillList ", "h_v_Kf_OtherOutBillList");
        }
        #endregion
        /// <summary>
        /// 委外出库单列表
        /// </summary>
        /// <returns></returns>
        [Route("Kf_EntrustOutBill/GetEntrustOutBill")]
        [HttpGet]
        public object GetEntrustOutBill(string sWhere)
        {
            try
            {
                ds = Sc_GetEntrustOutBill(sWhere);
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "返回记录成功!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
            }
            catch (Exception ex)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #region sql语句
        public static DataSet Sc_GetEntrustOutBill(string sWhere)
        {
            return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_Kf_EntrustOutBillList ", "h_v_Kf_EntrustOutBillList");
        }
        #endregion
        /// <summary>
        /// 采购入库单列表
        /// </summary>
        /// <returns></returns>
        [Route("Kf_POStockInBill/GetPOStockInBill")]
        [HttpGet]
        public object GetPOStockInBill(string sWhere)
        {
            try
            {
                ds = Sc_GetPOStockInBill(sWhere);
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "返回记录成功!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
            }
            catch (Exception ex)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #region sql语句
        public static DataSet Sc_GetPOStockInBill(string sWhere)
        {
            return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IF_POStockInBillList ", "h_v_IF_POStockInBillList");
        }
        #endregion
        /// <summary>
        /// 产品入库单列表
        /// </summary>
        /// <returns></returns>
        [Route("Kf_ProductInBill/GetProductInBill")]
        [HttpGet]
        public object GetProductInBill(string sWhere)
        {
            try
            {
                ds = Sc_GetProductInBill(sWhere);
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "返回记录成功!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
            }
            catch (Exception ex)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #region sql语句
        public static DataSet Sc_GetProductInBill(string sWhere)
        {
            return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IF_ProductInBillList ", "h_v_IF_ProductInBillList");
        }
        #endregion
        /// <summary>
        /// 其他入库单列表
        /// </summary>
        /// <returns></returns>
        [Route("Kf_OtherInBill/GetOtherInBill")]
        [HttpGet]
        public object GetOtherInBill(string sWhere)
        {
            try
            {
                ds = Sc_GetOtherInBill(sWhere);
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "返回记录成功!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
            }
            catch (Exception ex)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #region sql语句
        public static DataSet Sc_GetOtherInBill(string sWhere)
        {
            return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_Kf_OtherInBillList ", "h_v_Kf_OtherInBillList");
        }
        #endregion
        /// <summary>
        /// 委外入库单列表
        /// </summary>
        /// <returns></returns>
        [Route("Kf_EntrustInBill/GetEntrustInBill")]
        [HttpGet]
        public object GetEntrustInBill(string sWhere)
        {
            try
            {
                ds = Sc_GetEntrustInBill(sWhere);
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "返回记录成功!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
            }
            catch (Exception ex)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #region sql语句
        public static DataSet Sc_GetEntrustInBill(string sWhere)
        {
            return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_Kf_EntrustInBillList ", "h_v_Kf_EntrustInBillList");
        }
        #endregion
        //测试专用接口
        [Route("LookingFor/Test")]
        [HttpGet]
WebAPI/Controllers/Sc_ProcessMangementController.cs
@@ -444,6 +444,42 @@
            return GetObjectJson(ds);
        }
        /// <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>
@@ -458,25 +494,50 @@
            ListModels oListModels = new ListModels();
            try
            {
                DAL.ClsSc_ProcessReport ReportModel = new DAL.ClsSc_ProcessReport();
                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;
                Model.ClsSc_ProcessReportMain ReportMain = new Model.ClsSc_ProcessReportMain();
                Model.ClsSc_ProcessReportSub ReportSub = new Model.ClsSc_ProcessReportSub();
                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.HInterID = ItemView.HInterID;
                    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;
@@ -491,6 +552,64 @@
                    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);
                }
@@ -559,7 +678,397 @@
            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;
            }
        }
        /// <summary>
        /// 保存不良评审单信息
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        [Route("SaveBadReasonList")]
        [HttpPost]
        public object SaveBadReasonList([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 UserName="";
            ListModels oListModels = new ListModels();
            try
            {
                DLL.ClsQC_NoPassProdCheckBill oBill = new DLL.ClsQC_NoPassProdCheckBill();
                List<Model.ClsQC_NoPassProdCheckBillMain> lsmain = new List<Model.ClsQC_NoPassProdCheckBillMain>();
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_NoPassProdCheckMain(msg2);
                foreach (Model.ClsQC_NoPassProdCheckBillMain 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 = "7509";
                    oItem.HBillSubType = "7509";
                    oItem.HBillStatus = 1;
                    oItem.HPeriod = 0;
                    oItem.HGroupName ="";
                    oItem.HSourceID = 0;
                    oItem.HICMOInterID = 0;
                    oItem.HICMOBillNo = "";
                    oItem.HInStockQty = 0;
                    oItem.HCheckQty = 0;
                    oItem.HRightQty = 0;
                    oItem.HBadPNL = 0;
                    oItem.HPlanPNL = 0;
                    oItem.HFirstCheckEmp = 0;
                    oItem.HCheckerResult = "";
                    oItem.HWorkCenterID = 0;
                    oItem.HProcExchInterID = 0;
                    oItem.HProcExchEntryID = 0;
                    oItem.HProcExchBillNo = "";
                    oItem.HOrderProcNo = "";
                    oItem.HProcExchQty = 0;
                    oItem.HMainSourceInterID = oItem.HInterID;
                    oItem.HInterID = 0;
                    //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<Model.ClsQC_NoPassProdCheckBillSub> ls = new List<Model.ClsQC_NoPassProdCheckBillSub>();
                ls = oListModels.getObjectByJson_NoPassProdCheckSub(msg3);
                int i = 0;
                foreach (Model.ClsQC_NoPassProdCheckBillSub oItemSub in ls)
                {
                    i++;
                    if (string.IsNullOrWhiteSpace(oItemSub.HWasterReasonName))
                    {
                        break;
                    }
                    //将前台临时存放的值传过来的值赋给对应的不良数量字段
                    oItemSub.HBadQty = Convert.ToDecimal( oItemSub.HMRBChecker);
                    if (oItemSub.HBadQty<=0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!第" + i.ToString() + "行不良评审数量不大于0无法保存!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    if ((double)oItemSub.HBadQty >oBill.omodel.HPlanQty )
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不能大于不良数量!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    if (DBUtility.ClsPub.isStrNull(oItemSub.HWasterReasonName)=="")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!第" + i.ToString() + "行未填写不良原因!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    oItemSub.HSourceEntryID = oBill.omodel.HMainSourceEntryID;
                    oItemSub.HSourceInterID = oBill.omodel.HMainSourceInterID;
                    oItemSub.HEntryID = i;
                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                    oItemSub.HCloseType = false;
                    oItemSub.HBillNo_bak = oBill.omodel.HBillNo;
                    oItemSub.HMRBChecker = "";
                    oItemSub.HSourceBillNo = oBill.omodel.HMainSourceBillNo;
                    oItemSub.HSourceBillType = "3715";
                    oItemSub.HRelationQty = 0;
                    oItemSub.HRelationMoney = 0;
                    oItemSub.HMaterID = oBill.omodel.HMaterID;
                    oItemSub.HUnitID = 0;
                    oItemSub.HMustQty = 0;
                    oItemSub.HDisposeNote = "";
                    oItemSub.HPunishmentBillNo = "";
                    oItemSub.HBadPCSQty = 0;
                    oItemSub.HQCResultID = 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;
            }
        }
    }
}
WebAPI/Controllers/WebAPIController.cs
@@ -933,6 +933,130 @@
                return objjson; ;
            }
        }
        /// <summary>
        /// 获取不良原因列表
        /// </summary>
        /// <returns></returns>
        [Route("Web/GetBadReasonList_Json")]
        [HttpGet]
        public object GetBadReasonList_Json(string BadReason)
        {
            //sWhere = " Where HStopFlag=0  and HEndFlag=1";
            //sWhere = " Where HStopFlag=0  and HEndFlag=1  and HUSEORGID = " + DBUtility.ClsPub.HORGANIZATIONSID.ToString();
            if (BadReason != "")
            {
                sWhere = sWhere + " and ( HNumber like '%" + BadReason + "%' or HName like '%" + BadReason + "%' ) ";
            }
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("Select HItemID,HNumber ,HName  from Gy_BadReason where HStopflag=0 Order by HItemID ", "Gy_BadReason");
                }
                else
                {
                    string sql1 = "Select HItemID,HNumber ,HName  from Gy_BadReason where HStopflag=0 and HEndFlag=1 ";
                    string sql = sql1 + sWhere;
                    ds = oCN.RunProcReturn(sql, "Gy_BadReason");
                }
                //ds = webserver.GetUnitList(sWhere, ref DBUtility.ClsPub.sErrInfo);
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objjson.code = "0";
                    objjson.count = 0;
                    objjson.Message = "获取失败" + DBUtility.ClsPub.sErrInfo;
                    objjson.data = null;
                    return objjson;
                }
                else
                {
                    objjson.code = "0";
                    objjson.count = 1;
                    objjson.Message = "获取成功!";
                    objjson.data = ds.Tables[0];
                    return objjson;
                }
            }
            catch (Exception ex)
            {
                objjson.code = "0";
                objjson.count = 0;
                objjson.Message = "获取失败" + ex.ToString();
                objjson.data = null;
                return objjson;
            }
        }
        /// <summary>
        /// 获取工序计划单列表
        /// </summary>
        /// <returns></returns>
        [Route("Web/GetPlanList_Json")]
        [HttpGet]
        public object GetPlanList_Json(string Billno)
        {
            //sWhere = " Where HStopFlag=0  and HEndFlag=1";
            //sWhere = " Where HStopFlag=0  and HEndFlag=1  and HUSEORGID = " + DBUtility.ClsPub.HORGANIZATIONSID.ToString();
            if (Billno != "")
            {
                sWhere = sWhere + " and ( 单据号 like '%" + Billno + "%' ) ";
            }
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select hmainid,hsubid,单据号,HMaterID,物料代码,物料名称,HCenterID,工作中心,规格型号,计划数量 from h_v_Sc_ProcessPlanList", "h_v_Sc_ProcessPlanList");
                }
                else
                {
                    string sql1 = "select hmainid,hsubid,单据号,HMaterID,物料代码,物料名称,HCenterID,工作中心,规格型号,计划数量 from h_v_Sc_ProcessPlanList where 1=1 ";
                    string sql = sql1 + sWhere;
                    ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessPlanList");
                }
                //ds = webserver.GetUnitList(sWhere, ref DBUtility.ClsPub.sErrInfo);
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objjson.code = "0";
                    objjson.count = 0;
                    objjson.Message = "获取失败" + DBUtility.ClsPub.sErrInfo;
                    objjson.data = null;
                    return objjson;
                }
                else
                {
                    objjson.code = "0";
                    objjson.count = 1;
                    objjson.Message = "获取成功!";
                    objjson.data = ds.Tables[0];
                    return objjson;
                }
            }
            catch (Exception ex)
            {
                objjson.code = "0";
                objjson.count = 0;
                objjson.Message = "获取失败" + ex.ToString();
                objjson.data = null;
                return objjson;
            }
        }
        #endregion
    }
WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs
New file
@@ -0,0 +1,75 @@
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 Xs_SeOrderBillController : ApiController
    {
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        /// <summary>
        /// 返回销售订单列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Xs_SeOrderBill/list")]
        [HttpGet]
        public object list(string sWhere)
        {
            try
            {
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_IF_SeOrderBillList " + sWhere, "h_v_IF_SeOrderBillList");
                }
                else
                {
                    string sql1 = "select * from h_v_IF_SeOrderBillList where 1 = 1 ";
                    string sql = sql1 + sWhere;
                    ds = oCN.RunProcReturn(sql, "h_v_IF_SeOrderBillList");
                }
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    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;
            }
        }
        //
    }
}
WebAPI/Controllers/XSGL/Xs_SeOutStockBackBillController.cs
New file
@@ -0,0 +1,75 @@
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 Xs_SeOutStockBackBillController : ApiController
    {
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        /// <summary>
        /// 返回退货通知单列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Xs_SeOutStockBackBill/list")]
        [HttpGet]
        public object list(string sWhere)
        {
            try
            {
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_IF_SeOutStockBackBillList " + sWhere, "h_v_IF_SeOutStockBackBillList");
                }
                else
                {
                    string sql1 = "select * from h_v_IF_SeOutStockBackBillList where 1 = 1 ";
                    string sql = sql1 + sWhere;
                    ds = oCN.RunProcReturn(sql, "h_v_IF_SeOutStockBackBillList");
                }
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    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;
            }
        }
        //
    }
}
WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs
New file
@@ -0,0 +1,75 @@
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 Xs_SeOutStockBillController : ApiController
    {
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        /// <summary>
        /// 返回发货通知单列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Xs_SeOutStockBill/list")]
        [HttpGet]
        public object list(string sWhere)
        {
            try
            {
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_IF_SeOutStockBillList " + sWhere, "h_v_IF_SeOutStockBillList");
                }
                else
                {
                    string sql1 = "select * from h_v_IF_SeOutStockBillList where 1 = 1 ";
                    string sql = sql1 + sWhere;
                    ds = oCN.RunProcReturn(sql, "h_v_IF_SeOutStockBillList");
                }
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    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;
            }
        }
        //
    }
}
WebAPI/DLL/ClsQC_NoPassProdCheckBill.cs
New file
@@ -0,0 +1,554 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
namespace WebAPI.DLL
{
    public  class ClsQC_NoPassProdCheckBill:DBUtility.ClsXt_BaseBill
    {
        public Model.ClsQC_NoPassProdCheckBillMain omodel = new Model.ClsQC_NoPassProdCheckBillMain();
        public List<Model.ClsQC_NoPassProdCheckBillSub> DetailColl = new List<Model.ClsQC_NoPassProdCheckBillSub>();
        //public List<Model.ClsQC_NoPassProdCheckBillSub_Item> DetailColl1 = new List<Model.ClsQC_NoPassProdCheckBillSub_Item>();
        public ClsQC_NoPassProdCheckBill()
        {
            base.MvarItemKeySub = "QC_NoPassProdCheckBillSub";
            base.MvarItemKeySub2 = "";
            base.MvarItemKeySub3 = "";
            base.MvarItemKeySub4 = "";
            base.MvarItemKey="QC_NoPassProdCheckBillMain";
            base.MvarReportTitle="不合格评审单";
            base.BillType="7509";
            base.HBillSubType = "7509";
        }
        #region 固定代码
        ~ClsQC_NoPassProdCheckBill()
        {
            DetailColl = null;
        }
        #endregion   自定义方法
        //删除单据
        public override bool DeleteBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                oCn.BeginTran();
                //删除关联
                DeleteRelation(ref sReturn, lngBillKey);
                //oCn.RunProc("exec h_p_QC_NoPassProdCheckBillToProcExch " + lngBillKey.ToString() + ",-1");//因新增不良评审单时报错不适用先注释
                //删除明细表
                DeleteBillSub(lngBillKey);
                DeleteBillSub2(lngBillKey);
                DeleteBillSub3(lngBillKey);
                DeleteBillSub4(lngBillKey);
                //删除主表
                DeleteBillMain(lngBillKey);
                sReturn = "删除单据成功!";
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                oCn.RollBack();
                throw (e);
            }
        }
        //修改单据
        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                //
                oCn.BeginTran();
                //oCn.RunProc("exec h_p_QC_NoPassProdCheckBillToProcExch " + lngBillKey.ToString() + ",-1");//因新增不良评审单时报错不适用先注释
                //更新主表
                oCn.RunProc("UpDate QC_NoPassProdCheckBillMain set  " +
                " HBillNo='" + omodel.HBillNo + "'" +  //固定赋值===============
                ",HDate='" + omodel.HDate + "'" +
                ",HYear='" + omodel.HYear.ToString() + "'" +
                ",HPeriod='" + omodel.HPeriod.ToString() + "'" +
                ",HBillStatus='" + omodel.HBillStatus + "'" +
                ",HRemark='" + omodel.HRemark + "'" +
                ",HGroupName='" + omodel.HGroupName + "'" +
                //",HBacker='"+omodel.HBacker+"'"+
                //",HBackDate='" + omodel.HBackDate + "'" +
                //",HBackRemark='"+omodel.HBackRemark+"'"+
                //",HChecker='" + omodel.HChecker + "'" +
                //",HCheckDate='" + omodel.HCheckDate + "'" +
                //",HMaker='" + omodel.HMaker + "'" +
                //",HMakeDate='" + omodel.HMakeDate + "'" +
                ",HUpDater='" + DBUtility.ClsPub.CurUserName + "'" +
                ",HUpDateDate=getdate()" +
                //",HCloseMan='" + omodel.HCloseMan + "'" +
                //",HCloseDate='" + omodel.HCloseDate + "'" +
                //",HCloseType="+omodel.HCloseType.ToString()+
                //",HDeleteMan='" + omodel.HDeleteMan + "'" +
                //",HDeleteDate='" + omodel.HDeleteDate + "'" +
                ",HPrintQty="+omodel.HPrintQty.ToString()+
                //========================================
                //",HSupID=" + omodel.HSupID.ToString() +
                //",HEmpID=" + omodel.HEmpID.ToString() +
                ",HSourceID=" + omodel.HSourceID.ToString() +
                ",HProcExchQty=" + omodel.HProcExchQty.ToString() +
                ",HICMOInterID=" + omodel.HICMOInterID.ToString() +
                ",HICMOBillNo='" + omodel.HICMOBillNo + "'" +
                ",HInStockQty=" + omodel.HInStockQty.ToString() +
                ",HCheckQty=" + omodel.HCheckQty.ToString() +
                ",HRightQty=" + omodel.HRightQty.ToString() +
                ",HBadQty=" + omodel.HBadQty.ToString() +
                ",HPlanQty=" + omodel.HPlanQty.ToString() +
                ",HBadPNL=" + omodel.HBadPNL.ToString() +
                ",HPlanPNL=" + omodel.HPlanPNL.ToString() +
                ",HFirstCheckEmp=" + omodel.HFirstCheckEmp.ToString() +
                ",HOrderProcNo='" + omodel.HOrderProcNo + "'" +
                ",HCheckerResult='" + omodel.HCheckerResult + "'" +
                ",HNote='" + omodel.HNote + "'" +
                ",HMaterID=" + omodel.HMaterID.ToString() +
                ",HProcID=" + omodel.HProcID.ToString() +
                //",HProcExchInterID=" + omodel.HProcExchInterID.ToString() +
                //",HProcExchEntryID=" + omodel.HProcExchEntryID.ToString() +
                //",HProcExchBillNo='" + omodel.HProcExchBillNo + "'" +
                " where HInterID=" + lngBillKey.ToString());
                //删除关联
                DeleteRelation(ref sReturn, lngBillKey);
                //删除子表
                DeleteBillSub(lngBillKey);
                //插入子表
                omodel.HInterID = lngBillKey;
                foreach (Model.ClsQC_NoPassProdCheckBillSub oSub in DetailColl)
                {
                    oCn.RunProc("Insert into QC_NoPassProdCheckBillSub " +
                      " (HInterID,HBillNo_bak,HEntryID,HCloseMan,HMRBChecker" +
                      ",HEntryCloseDate,HCloseType,HRemark,HSourceInterID,HSQProcName,HZRProcName,HPSProcName" +
                      ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                      ",HMaterID,HUnitID,HMustQty,HBadQty,HBadReasonID,HDisposeNote" +
                      ",HEmpName,HProcID,HWasterReasonName,HPunishmentBillNo,HBadPCSQty,HQCResultID" +
                      ") values("
                      + omodel.HInterID.ToString() + ",'" + oSub.HBillNo_bak + "'," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HMRBChecker + "'" +
                      ",getdate()," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'," + oSub.HSourceInterID.ToString() + ",'" + oSub.HSQProcName + "','" + oSub.HZRProcName + "','" + oSub.HPSProcName + "'" +
                      "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                      "," + oSub.HMaterID.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HMustQty.ToString() + "," + oSub.HBadQty.ToString() + "," + oSub.HBadReasonID.ToString() + ",'" + oSub.HDisposeNote + "'" +
                      ",'" + oSub.HEmpName.ToString() + "'," + oSub.HProcID + ",'" + oSub.HWasterReasonName + "','" + oSub.HPunishmentBillNo + "'," + oSub.HBadPCSQty.ToString() + "," + oSub.HQCResultID.ToString() +
                      ") ");
                }
                //foreach (Model.ClsQC_NoPassProdCheckBillSub_Item oSub2 in DetailColl1)
                //{
                //    oCn.RunProc("Insert into QC_NoPassProdCheckBillSub_Item " +
                //      " (HInterID,HBillNo_bak,HEntryID,HCloseMan" +
                //      ",HEntryCloseDate,HCloseType,HRemark,HSourceInterID" +
                //      ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                //      ",HMaintainItemID,HMaintainItem,HMaintainPart,HClaim,HManagerID" +
                //      ") values("
                //      + omodel.HInterID.ToString() + ",'" + oSub2.HBillNo_bak + "'," + oSub2.HEntryID.ToString() + ",'" + oSub2.HCloseMan + "'" +
                //      ",getdate()," + Convert.ToString(oSub2.HCloseType ? 1 : 0) + ",'" + oSub2.HRemark + "'," + oSub2.HSourceInterID.ToString() +
                //      "," + oSub2.HSourceEntryID.ToString() + ",'" + oSub2.HSourceBillNo + "','" + oSub2.HSourceBillType + "'," + oSub2.HRelationQty.ToString() + "," + oSub2.HRelationMoney.ToString() +
                //      "," + oSub2.HMaintainItemID.ToString() + ",'" + oSub2.HMaintainItem + "','" + oSub2.HMaintainPart + "','" + oSub2.HClaim + "'," + oSub2.HManagerID.ToString() +
                //      ") ");
                //}
                //
                //foreach (Model.ClsQC_NoPassProdCheckBillSub oSub in DetailColl)
                //{
                //    Ds = oCn.RunProcReturn("exec h_p_QC_NoPassProdCheckBill_Qty " + oSub.HICMOInterID, "");
                //    if (Ds.Tables[0].Rows.Count == 0)
                //        return;
                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
                //    {
                //        sReturn = "汇报数量超过计划数量!不允许保存";
                //        return false;
                //    }
                //}
                //根据内码   回填对应流转卡 不良关联数量
                //oCn.RunProc("exec h_p_QC_NoPassProdCheckBillToProcExch " + omodel.HInterID.ToString() + ",1");//因新增不良评审单时报错不适用先注释
                //////////////////////////////
                //DataSet Ds;
                //Ds = oCn.RunProcReturn("exec h_p_QC_NoPassProdCheckBillQtyCtrl " + omodel.HInterID.ToString(), "h_p_QC_NoPassProdCheckBillQtyCtrl");
                //if (Ds == null || Ds.Tables[0].Rows.Count == 0)
                //{
                //    oCn.RollBack();
                //    return false;
                //}
                //if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBack"]) == "2")
                //{
                //    sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBackRemark"]);
                //    oCn.RollBack();
                //    return false;
                //}
                ////////////////////////
                //
                sReturn = "修改单据成功!";
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                oCn.RollBack();
                throw (e);
            }
        }
        //新增单据
        public override bool AddBill(ref string sReturn)
        {
            try
            {
                //得到mainid
                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                //若MAINDI重复则重新获取
                oCn.BeginTran();
                //主表
                oCn.RunProc("Insert Into QC_NoPassProdCheckBillMain " +
                "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
                ",HYear,HPeriod,HRemark,HGroupName" +
                ",HSourceID,HICMOInterID,HICMOBillNo,HInStockQty,HCheckQty,HRightQty" +
                ",HBadQty,HPlanQty,HBadPNL,HPlanPNL,HFirstCheckEmp" +
                ",HCheckerResult,HNote,HWorkCenterID" +
                ",HMaterID,HProcID,HMainSourceInterID" +
                ",HProcExchInterID,HProcExchEntryID,HProcExchBillNo,HOrderProcNo,HProcExchQty" +
                ") " +
                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'," + omodel.HBillStatus.ToString() + ",'" + omodel.HDate + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
                "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + omodel.HGroupName.ToString() + "'" +
                "," + omodel.HSourceID.ToString() + "," + omodel.HICMOInterID.ToString() + ",'" + omodel.HICMOBillNo + "'," + omodel.HInStockQty.ToString() + "," + omodel.HCheckQty.ToString() + "," + omodel.HRightQty.ToString() +
                "," + omodel.HBadQty.ToString() + "," + omodel.HPlanQty.ToString() + "," + omodel.HBadPNL.ToString() + "," + omodel.HPlanPNL.ToString() + "," + omodel.HFirstCheckEmp.ToString() +
                ",'" + omodel.HCheckerResult + "','" + omodel.HNote + "'," + omodel.HWorkCenterID.ToString() + "" +
                "," + omodel.HMaterID + "," + omodel.HProcID + "," + omodel.HMainSourceInterID +
                "," + omodel.HProcExchInterID + "," + omodel.HProcExchEntryID + ",'" + omodel.HProcExchBillNo + "','" + omodel.HOrderProcNo + "'," + omodel.HProcExchQty.ToString() +
                ") ");
                //插入子表
                foreach (Model.ClsQC_NoPassProdCheckBillSub oSub in DetailColl)
                {
                    oCn.RunProc("Insert into QC_NoPassProdCheckBillSub " +
                       " (HInterID,HBillNo_bak,HEntryID,HCloseMan,HMRBChecker" +
                       ",HEntryCloseDate,HCloseType,HRemark,HSourceInterID,HSQProcName,HZRProcName,HPSProcName" +
                       ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                       ",HMaterID,HUnitID,HMustQty,HBadQty,HBadReasonID,HDisposeNote" +
                       ",HEmpName,HProcID,HWasterReasonName,HPunishmentBillNo,HBadPCSQty,HQCResultID" +
                       ") values("
                       + omodel.HInterID.ToString() + ",'" + oSub.HBillNo_bak + "'," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HMRBChecker + "'" +
                       ",getdate()," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'," + oSub.HSourceInterID.ToString() + ",'" + oSub.HSQProcName + "','" + oSub.HZRProcName + "','" + oSub.HPSProcName + "'" +
                       "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                       "," + oSub.HMaterID.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HMustQty.ToString() + "," + oSub.HBadQty.ToString() + "," + oSub.HBadReasonID.ToString() + ",'" + oSub.HDisposeNote + "'" +
                       ",'" + oSub.HEmpName.ToString() + "'," + oSub.HProcID + ",'" + oSub.HWasterReasonName + "','" + oSub.HPunishmentBillNo + "'," + oSub.HBadPCSQty.ToString() + "," + oSub.HQCResultID.ToString() +
                       ") ");
                }
                //foreach (Model.ClsQC_NoPassProdCheckBillSub_Item oSub2 in DetailColl1)
                //{
                //    oCn.RunProc("Insert into QC_NoPassProdCheckBillSub_Item " +
                //      " (HInterID,HBillNo_bak,HEntryID,HCloseMan" +
                //      ",HEntryCloseDate,HCloseType,HRemark,HSourceInterID" +
                //      ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                //      ",HMaintainItemID,HMaintainItem,HMaintainPart,HClaim,HManagerID" +
                //      ") values("
                //      + omodel.HInterID.ToString() + ",'" + oSub2.HBillNo_bak + "'," + oSub2.HEntryID.ToString() + ",'" + oSub2.HCloseMan + "'" +
                //      ",getdate()," + Convert.ToString(oSub2.HCloseType ? 1 : 0) + ",'" + oSub2.HRemark + "'," + oSub2.HSourceInterID.ToString() +
                //      "," + oSub2.HSourceEntryID.ToString() + ",'" + oSub2.HSourceBillNo + "','" + oSub2.HSourceBillType + "'," + oSub2.HRelationQty.ToString() + "," + oSub2.HRelationMoney.ToString() +
                //      "," + oSub2.HMaintainItemID.ToString() + ",'" + oSub2.HMaintainItem + "','" + oSub2.HMaintainPart + "','" + oSub2.HClaim + "'," + oSub2.HManagerID.ToString() +
                //      ") ");
                //}
                //
                //foreach (Model.ClsQC_NoPassProdCheckBillSub oSub in DetailColl)
                //{
                //    Ds = oCn.RunProcReturn("exec h_p_QC_NoPassProdCheckBill_Qty " + oSub.HICMOInterID, "");
                //    if (Ds.Tables[0].Rows.Count == 0)
                //        return;
                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
                //    {
                //        sReturn = "汇报数量超过计划数量!不允许保存";
                //        return false;
                //    }
                //}
                //根据内码   回填对应流转卡 不良关联数量
                //oCn.RunProc("exec h_p_QC_NoPassProdCheckBillToProcExch " + omodel.HInterID.ToString() + ",1");//因新增不良评审单时报错不适用先注释
                //
                //////////////////////////////
                //DataSet Ds;
                //Ds = oCn.RunProcReturn("exec h_p_QC_NoPassProdCheckBillQtyCtrl " + omodel.HInterID.ToString(), "h_p_QC_NoPassProdCheckBillQtyCtrl");
                //if (Ds == null || Ds.Tables[0].Rows.Count == 0)
                //{
                //    oCn.RollBack();
                //    return false;
                //}
                //if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBack"]) == "2")
                //{
                //    sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBackRemark"]);
                //    oCn.RollBack();
                //    return false;
                //}
                ////////////////////////
                //
                sReturn = "新增单据成功!";
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                oCn.RollBack();
                throw (e);
            }
        }
        //显示单据
        public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                //查询主表
                DataSet Ds ;
                Ds = oCn.RunProcReturn("Select * from QC_NoPassProdCheckBillMain Where HInterID=" + lngBillKey.ToString(), "QC_NoPassProdCheckBillMain");
                if(Ds.Tables[0].Rows.Count==0)
                {
                    sReturn = "单据未找到!";
                    return false;
                }
                //固定赋值===========================================
                omodel.HInterID =DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
                omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
                omodel.HDate =DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
                omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
                omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
                omodel.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
                omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
                omodel.HCheckFlowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckFlowID"]);
                omodel.HRemark = Ds.Tables[0].Rows[0]["HRemark"].ToString().Trim();
                omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
                omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
                omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
                omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
                omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
                omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim();
                omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim();
                omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim();
                omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim();
                omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim();
                omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
                omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
                omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
                omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
                omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
                //========================================================
                ////==
                //omodel.HWHID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HWHID"]);
                //omodel.HSCWHID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSCWHID"]);
                //omodel.HSupID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSupID"]);
                //omodel.HEmpID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HEmpID"]);
                //omodel.HMangerID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMangerID"]);
                omodel.HSourceID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSourceID"]);
                omodel.HICMOInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HICMOInterID"]);
                omodel.HICMOBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HICMOBillNo"]);
                omodel.HInStockQty = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInStockQty"]); ;
                omodel.HCheckQty = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckQty"]);
                omodel.HRightQty = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HRightQty"]);
                omodel.HBadQty = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBadQty"]);
                omodel.HPlanQty = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPlanQty"]);
                omodel.HBadPNL = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBadPNL"]);
                omodel.HPlanPNL = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPlanPNL"]);
                omodel.HFirstCheckEmp = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HFirstCheckEmp"]);
                omodel.HCheckerResult = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckerResult"]);
                omodel.HNote = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HNote"]);
                //omodel.HRedBlueFlag = DBUtility.ClsPub.isBool(Ds.Tables[0].Rows[0]["HRedBlueFlag"]);
                omodel.HMaterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMaterID"]);
                omodel.HWorkCenterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HWorkCenterID"]);
                omodel.HProcID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HProcID"]);
                omodel.HProcExchInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HProcExchInterID"]);
                omodel.HProcExchEntryID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HProcExchEntryID"]);
                omodel.HProcExchBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HProcExchBillNo"]);
                omodel.HGroupName = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HGroupName"]);
                omodel.HOrderProcNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HOrderProcNo"]);
                omodel.HProcExchQty = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HProcExchQty"]);
                //
                //循环
                DataSet DsSub ;
                DsSub = oCn.RunProcReturn("Select * from QC_NoPassProdCheckBillSub Where HInterID=" + lngBillKey.ToString(), "QC_NoPassProdCheckBillSub");
                DetailColl.Clear();//清空
                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
                {
                    Model.ClsQC_NoPassProdCheckBillSub oSub = new Model.ClsQC_NoPassProdCheckBillSub();
                    // 固定赋值===============================================
                    oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
                    oSub.HBillNo_bak = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HBillNo_bak"]);
                    oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
                    oSub.HCloseMan = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
                    oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
                    oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
                    oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
                    oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
                    oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
                    oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
                    oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
                    oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]);
                    oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]);
                    //===================================================
                    oSub.HMaterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMaterID"]);
                    oSub.HUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HUnitID"]);
                    oSub.HMustQty = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMustQty"]);
                    oSub.HBadQty = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HBadQty"]);
                    oSub.HBadReasonID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HBadReasonID"]);
                    oSub.HDisposeNote = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HDisposeNote"]);
                    oSub.HEmpName = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HEmpName"]);
                    oSub.HProcID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HProcID"]);
                    oSub.HBadPCSQty = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HBadPCSQty"]);
                    oSub.HWasterReasonName = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HWasterReasonName"]);
                    oSub.HPunishmentBillNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HPunishmentBillNo"]);
                    oSub.HMRBChecker = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HMRBChecker"]);
                    oSub.HSQProcName = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HSQProcName"]);
                    oSub.HZRProcName = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HZRProcName"]);
                    oSub.HPSProcName = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HPSProcName"]);
                    oSub.HQCResultID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HQCResultID"]);
                    DetailColl.Add(oSub);
                }
                //DataSet DsSub2;
                //DsSub2 = oCn.RunProcReturn("Select * from QC_NoPassProdCheckBillSub_Item Where HInterID=" + lngBillKey.ToString(), "QC_NoPassProdCheckBillSub_Item");
                //DetailColl1.Clear();//清空
                //for (int i = 0; i < DsSub2.Tables[0].Rows.Count; i++)
                //{
                //    Model.ClsQC_NoPassProdCheckBillSub_Item oSub2 = new Model.ClsQC_NoPassProdCheckBillSub_Item();
                //    // 固定赋值===============================================
                //    oSub2.HInterID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HInterID"]);
                //    oSub2.HEntryID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HEntryID"]);
                //    oSub2.HBillNo_bak = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HBillNo_bak"]);
                //    oSub2.HCloseMan = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HCloseMan"]);
                //    oSub2.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub2.Tables[0].Rows[i]["HEntryCloseDate"]);
                //    oSub2.HCloseType = DBUtility.ClsPub.isBool(DsSub2.Tables[0].Rows[i]["HCloseType"]);
                //    oSub2.HRemark = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HRemark"]);
                //    oSub2.HSourceInterID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HSourceInterID"]);
                //    oSub2.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HSourceEntryID"]);
                //    oSub2.HSourceBillType = DsSub2.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
                //    oSub2.HSourceBillNo = DsSub2.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
                //    oSub2.HRelationQty = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[i]["HRelationQty"]);
                //    oSub2.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[i]["HRelationMoney"]);
                //    //===================================================
                //    //oSub.HWorkerID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWorkerID"]);
                //    //oSub.HWorkerNumber = DsSub.Tables[0].Rows[i]["HWorkerNumber"].ToString().Trim();
                //    //oSub.HSourceID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceID"]);
                //    //oSub.HMaterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMaterID"]);
                //    //oSub.HPropertyID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HPropertyID"]);
                //    //oSub.HSecUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSecUnitID"]);
                //    //oSub.HSecUnitRate = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HSecUnitRate"]);
                //    //oSub.HUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HUnitID"]);
                //    //oSub.HBatchNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HBatchNo"]);
                //    //oSub.HQtyMust = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HQtyMust"]);
                //    //oSub.HQty = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HQty"]);
                //    //oSub.HPrice = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HPrice"]);
                //    //oSub.HMoney = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMoney"]);
                //    //oSub.HDesignLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HDesignLife"]);
                //    //oSub.HLeaveLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HLeaveLife"]);
                //    //oSub.HUseLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HUseLife"]);
                //    //oSub.HWHID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWHID"]);
                //    //oSub.HSPID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSPID"]);
                //    //oSub.HSCWHID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSCWHID"]);
                //    //oSub.HSCSPID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSCSPID"]);
                //    //oSub.HSPGroupID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSPGroupID"]);
                //    oSub2.HMaintainItemID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HMaintainItemID"]);
                //    oSub2.HMaintainItem = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HMaintainItem"]);
                //    oSub2.HMaintainPart = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HMaintainPart"]);
                //    oSub2.HClaim = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HClaim"]);
                //    oSub2.HManagerID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HManagerID"]);
                //    //oSub.HQtyMust = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HQtyMust"]);
                //    //oSub.HBadCount = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HBadCount"]);
                //    //oSub.HWasterQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HWasterQty"]);
                //    //oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderInterID"]);
                //    //oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderEntryID"]);
                //    //oSub.HSeOrderBillNo = DsSub.Tables[0].Rows[i]["HSeOrderBillNo"].ToString().Trim();
                //    DetailColl1.Add(oSub2);
                //}
                sReturn = "显示单据成功!";
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                throw (e);
            }
        }
        //审核
        public bool CheckBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                string HChecker = DBUtility.ClsPub.CurUserName;
                string HCheckDate = DBUtility.ClsPub.GetServerDate(-1);
                oCn.RunProc(" Update " + MvarItemKey + " set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString());
                //生成调拨单
                //得到调拨单 mainid 单据号
                oCn.RunProc("exec h_p_QC_NoPassProdCheckBill_Check " + lngBillKey.ToString() );
                //
                sReturn = "";
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                throw (e);
            }
        }
        //反审核
        public bool AbandonCheck(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                string HChecker = DBUtility.ClsPub.CurUserName;
                string HCheckDate = DBUtility.ClsPub.GetServerDate(-1);
                oCn.RunProc(" Update " + MvarItemKey + " set HChecker='',HCheckDate=null Where HInterID=" + lngBillKey.ToString());
                //生成调拨单
                //得到调拨单 mainid 单据号
                oCn.RunProc("exec h_p_QC_NoPassProdCheckBill_AbandonCheck " + lngBillKey.ToString());
                //
                sReturn = "";
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                throw (e);
            }
        }
        //反审核前判断后面工序是否已经进站
        public bool UnCheck(long HInterID, ref string sReturn)
        {
            DataSet Ds;
            Ds = oCn.RunProcReturn("exec h_p_QC_NoPassProdCheckBill_UnCheck " + HInterID, "h_p_QC_NoPassProdCheckBill_UnCheck");
            if (Ds == null)
            {
                sReturn = "判断下道工序是否已经进站时出错!";
                return false;
            }
            if (Ds.Tables[0].Rows.Count > 0)
            {
                sReturn = "下道工序已经进站扫描,不允许反审核!";
                return false;
            }
            return true;
        }
    }
}
WebAPI/DLL/ClsSc_ProcessReport.cs
New file
@@ -0,0 +1,445 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
namespace WebAPI.DLL
{
    public  class ClsSc_ProcessReport:DBUtility.ClsXt_BaseBill
    {
        public Model.ClsSc_ProcessReportMain omodel = new Model.ClsSc_ProcessReportMain();
        public List<Model.ClsSc_ProcessReportSub> DetailColl = new List<Model.ClsSc_ProcessReportSub>();
        public ClsSc_ProcessReport()
        {
            base.MvarItemKeySub = "Sc_ProcessReportSub";
            base.MvarItemKeySub2 = "";
            base.MvarItemKeySub3 = "";
            base.MvarItemKeySub4 = "";
            base.MvarItemKey="Sc_ProcessReportMain";
            base.MvarReportTitle="工序汇报单";
            base.BillType="3714";
        }
        #region 固定代码
        ~ClsSc_ProcessReport()
        {
            DetailColl = null;
        }
        #endregion   自定义方法
        //修改单据
        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                //
                oCn.BeginTran();
                //更新主表
                oCn.RunProc("UpDate Sc_ProcessReportMain set  " +
                " HYear=" + omodel.HYear.ToString() +
                ",HPeriod=" + omodel.HPeriod.ToString() +
                ",HDate='" + omodel.HDate.ToShortDateString() + "'" +
                ",HBillStatus=" + omodel.HBillStatus.ToString() +
                ",HCheckItemNowID=" + omodel.HCheckItemNowID.ToString() +
                ",HCheckItemNextID=" + omodel.HCheckItemNextID.ToString() +
                ",HICMOInterID=" + omodel.HICMOInterID.ToString() +
                ",HICMOBillNo='" + omodel.HICMOBillNo + "'" +
                ",HMarker='" + omodel.HMarker + "'" +
                ",HSupID=" + omodel.HSupID.ToString() +
                ",HDeptID=" + omodel.HDeptID.ToString() +
                ",HDeptNumber='" + omodel.HDeptNumber + "'" +
                ",HGroupID=" + omodel.HGroupID.ToString() +
                ",HGroupNumber='" + omodel.HGroupNumber + "'" +
                ",HMaterID=" + omodel.HMaterID.ToString() +
                ",HMaterNumber='" + omodel.HMaterNumber + "'" +
                ",HUnitID=" + omodel.HUnitID.ToString() +
                ",HUnitNumber='" + omodel.HUnitNumber + "'" +
                ",HPlanQty=" + omodel.HPlanQty.ToString() +
                ",HInStockQty=" + omodel.HInStockQty.ToString() +
                ",HSumTimes=" + omodel.HSumTimes.ToString() +
                ",HExplanation='" + omodel.HExplanation + "'" +
                ",HRemark='" + omodel.HRemark + "'" +
                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
                ",HUpDater='" + DBUtility.ClsPub.CurUserName + "'" +
                ",HUpDateDate=getdate()" +
                " where HInterID=" + lngBillKey.ToString());
                //删除关联
                DeleteRelation(ref sReturn, lngBillKey);
                //删除子表
                DeleteBillSub(lngBillKey);
                //插入子表
                omodel.HInterID = lngBillKey;
                foreach (Model.ClsSc_ProcessReportSub oSub in DetailColl)
                {
                    oCn.RunProc("Insert into Sc_ProcessReportSub " +
                  " (HInterID,HEntryID,HProcID,HProcNumber,HEmpID" +
                  ",HMaterID,HMaterNumber,HOutPrice,HOutMoney" +
                  ",HEmpNumber,HSourceID,HRelBeginDate,HRelEndDate,HTimes" +
                  ",HQty,HCheckQty,HBadCount,HWasterQty,HWasterQty2" +
                  ",HPrice,HMoney,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo" +
                  ",HICMOInterID,HICMOBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
                  ",HCloseMan,HCloseType,HRemark" +
                  ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                  ",HBadPrirce,HBadMoney,HWasterPrice,HWasterMoney,HQualityRate," +
                  "HSecUnitQty1,HSecUnitRate1,HSecUnitQty2,HSecUnitRate2,HUsingQty," +
                  "HSelfBadCount,HPreBadCount,HPayMentQty,HOtherDeduct,HRelPay," +
                  "HOtherItem1,HOtherItem2,HOtherItem3,HOtherItem4,HOtherItem5," +
                  "HPackType,HCheckEmpID,HBatchNo" +
                  ") values("
                  + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + "," + oSub.HProcID.ToString() + ",'" + oSub.HProcNumber + "'," + oSub.HEmpID.ToString() +
                  "," + oSub.HMaterID.ToString() + ",'" + oSub.HMaterNumber + "'," + oSub.HOutPrice.ToString() + "," + oSub.HOutMoney.ToString() +
                  ",'" + oSub.HEmpNumber + "'," + oSub.HSourceID.ToString() + ",'" + oSub.HRelBeginDate.ToShortDateString() + "','" + oSub.HRelEndDate.ToShortDateString() + "'," + oSub.HTimes.ToString() +
                  "," + oSub.HQty.ToString() + "," + oSub.HCheckQty.ToString() + "," + oSub.HBadCount.ToString() + "," + oSub.HWasterQty.ToString() +"," + oSub.HWasterQty2.ToString() +
                  "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HProcPlanInterID.ToString() + "," + oSub.HProcPlanEntryID.ToString() + ",'" + oSub.HProcPlanBillNo + "'" +
                  "," + oSub.HICMOInterID.ToString() + ",'" + oSub.HICMOBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
                  ",'" + 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.HBadPrirce.ToString() + "," + oSub.HBadMoney.ToString() + "," + oSub.HWasterPrice.ToString() + "," + oSub.HWasterMoney.ToString() + "," + oSub.HQualityRate.ToString() +
                  "," + oSub.HSecUnitQty1.ToString() + "," + oSub.HSecUnitRate1.ToString() + "," + oSub.HSecUnitQty2.ToString() + "," + oSub.HSecUnitRate2.ToString() + "," + oSub.HUsingQty.ToString() +
                  "," + oSub.HSelfBadCount.ToString() + "," + oSub.HPreBadCount.ToString() + "," + oSub.HPayMentQty.ToString() + "," + oSub.HOtherDeduct.ToString() + "," + oSub.HRelPay.ToString() +
                  ",'" + oSub.HOtherItem1.ToString() + "','" + oSub.HOtherItem2.ToString() + "','" + oSub.HOtherItem3.ToString() + "','" + oSub.HOtherItem4.ToString() + "','" + oSub.HOtherItem5.ToString() +
                  "','" + oSub.HPackType.ToString() + "'," + oSub.HCheckEmpID.ToString() + ",'" + oSub.HBatchNo + "'" +
                  ") ");
                }
                //更新关联数量
                AddNewRelation(ref sReturn, omodel.HInterID);
                //
                sReturn = "修改单据成功!";
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                oCn.RollBack();
                throw (e);
            }
        }
        //新增单据
        public override bool AddBill(ref string sReturn)
        {
            try
            {
                //得到mainid
                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                //若MAINDI重复则重新获取
                oCn.BeginTran();
                //主表
                oCn.RunProc("Insert Into Sc_ProcessReportMain   " +
                "(HYear,HPeriod,HBillType,HBillSubType,HInterID" +
                ",HDate,HBillNo,HBillStatus,HCheckItemNowID,HCheckItemNextID" +
                ",HICMOInterID,HICMOBillNo ,HDeptID ,HDeptNumber,HGroupID" +
                ",HGroupNumber,HMaterID,HMaterNumber,HUnitID,HUnitNumber" +
                ",HPlanQty,HInStockQty,HSumTimes,HExplanation,HRemark" +
                ",HInnerBillNo,HMaker,HMakeDate,HSupID,HMarker" +
                ") " +
                " values(" + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + this.BillType +"','"+ omodel.HBillSubType + "'," + omodel.HInterID.ToString() +
                ",'" + omodel.HDate.ToShortDateString() + "','" + omodel.HBillNo + "'," + omodel.HBillStatus.ToString() + "," + omodel.HCheckItemNowID.ToString() + "," + omodel.HCheckItemNextID.ToString() +
                "," + omodel.HICMOInterID.ToString() + ",'" + omodel.HICMOBillNo + "'," + omodel.HDeptID.ToString() + ",'" + omodel.HDeptNumber + "'," + omodel.HGroupID.ToString() +
                ",'" + omodel.HGroupNumber + "'," + omodel.HMaterID.ToString() + ",'" + omodel.HMaterNumber + "'," + omodel.HUnitID.ToString() + ",'" + omodel.HUnitNumber + "'" +
                ", " + omodel.HPlanQty.ToString() + "," + omodel.HInStockQty.ToString() + "," + omodel.HSumTimes.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HRemark + "'" +
                ",'" + omodel.HInnerBillNo  + "','" + DBUtility.ClsPub.CurUserName + "',getdate()," + omodel.HSupID.ToString() + ",'" + omodel.HMarker + "'" +
                ") ");
                //插入子表
                foreach (Model.ClsSc_ProcessReportSub oSub in DetailColl)
                {
                    oCn.RunProc("Insert into Sc_ProcessReportSub " +
                  " (HInterID,HEntryID,HProcID,HProcNumber,HEmpID" +
                  ",HMaterID,HMaterNumber,HOutPrice,HOutMoney" +
                  ",HEmpNumber,HSourceID,HRelBeginDate,HRelEndDate,HTimes" +
                  ",HQty,HCheckQty,HBadCount,HWasterQty,HWasterQty2" +
                  ",HPrice,HMoney,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo" +
                  ",HICMOInterID,HICMOBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
                  ",HCloseMan,HCloseType,HRemark" +
                  ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                  ",HBadPrirce,HBadMoney,HWasterPrice,HWasterMoney,HQualityRate,"+
                  "HSecUnitQty1,HSecUnitRate1,HSecUnitQty2,HSecUnitRate2,HUsingQty,"+
                  "HSelfBadCount,HPreBadCount,HPayMentQty,HOtherDeduct,HRelPay,"+
                  "HOtherItem1,HOtherItem2,HOtherItem3,HOtherItem4,HOtherItem5,"+
                  "HPackType,HCheckEmpID,HWeight,HBatchNo" +
                  ") values("
                  + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + "," + oSub.HProcID.ToString() + ",'" + oSub.HProcNumber + "'," + oSub.HEmpID.ToString() +
                  "," + oSub.HMaterID.ToString() + ",'" + oSub.HMaterNumber + "'," + oSub.HOutPrice.ToString() + "," + oSub.HOutMoney.ToString() +
                  ",'" + oSub.HEmpNumber + "'," + oSub.HSourceID.ToString() + ",'" + oSub.HRelBeginDate.ToShortDateString() + "','" + oSub.HRelEndDate.ToShortDateString() + "'," + oSub.HTimes.ToString() +
                  "," + oSub.HQty.ToString() + "," + oSub.HCheckQty.ToString() + "," + oSub.HBadCount.ToString() + "," + oSub.HWasterQty.ToString() + "," + oSub.HWasterQty2.ToString() +
                  "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HProcPlanInterID.ToString() + "," + oSub.HProcPlanEntryID.ToString() + ",'" + oSub.HProcPlanBillNo + "'" +
                  "," + oSub.HICMOInterID.ToString() + ",'" + oSub.HICMOBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
                  ",'" + 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.HBadPrirce.ToString() + "," + oSub.HBadMoney.ToString() + "," + oSub.HWasterPrice.ToString() + "," + oSub.HWasterMoney.ToString() + "," + oSub.HQualityRate.ToString() +
                  "," + oSub.HSecUnitQty1.ToString() + "," + oSub.HSecUnitRate1.ToString() + "," + oSub.HSecUnitQty2.ToString() + "," + oSub.HSecUnitRate2.ToString() + "," + oSub.HUsingQty.ToString() +
                  "," + oSub.HSelfBadCount.ToString() + "," + oSub.HPreBadCount.ToString() + "," + oSub.HPayMentQty.ToString() + "," + oSub.HOtherDeduct.ToString() + "," + oSub.HRelPay.ToString() +
                  ",'" + oSub.HOtherItem1.ToString() + "','" + oSub.HOtherItem2.ToString() + "','" + oSub.HOtherItem3.ToString() + "','" + oSub.HOtherItem4.ToString() + "','" + oSub.HOtherItem5.ToString() +
                  "','" + oSub.HPackType.ToString() + "'," + oSub.HCheckEmpID.ToString() + "," + oSub.HWeight.ToString() + ",'" + oSub.HBatchNo + "'" +
                  ") ");
                }
                //更新关联数量
                AddNewRelation(ref sReturn, omodel.HInterID);
                //回填 生产状态表  日计划  为 已完工 状态
                oCn.RunProc("exec h_p_Sc_UpDateICMOBillQualityStatus " + omodel.HICMOStatusInterID.ToString() + ",3");
                //默认变为 申请检验状态
                oCn.RunProc("exec h_p_Sc_UpDateProcessReportStatus " + omodel.HInterID.ToString() + ",15");
                //
                sReturn = "新增单据成功!";
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                oCn.RollBack();
                throw (e);
            }
        }
        //显示单据
        public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                //查询主表
                DataSet Ds ;
                Ds = oCn.RunProcReturn("Select * from Sc_ProcessReportMain Where HInterID=" + lngBillKey.ToString(), "Sc_ProcessReportMain");
                if(Ds.Tables[0].Rows.Count==0)
                {
                    sReturn = "单据未找到!";
                    return false;
                }
                //赋值
                omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
                omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
                omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
                omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
                omodel.HInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
                omodel.HDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
                omodel.HBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillNo"]);
                omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
                omodel.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
                omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
                //
                omodel.HICMOInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HICMOInterID"]);
                omodel.HICMOBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HICMOBillNo"]);
                omodel.HSupID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSupID"]);
                omodel.HDeptID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HDeptID"]);
                omodel.HDeptNumber = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HDeptNumber"]);
                omodel.HGroupID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HGroupID"]);
                omodel.HGroupNumber = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HGroupNumber"]);
                omodel.HMaterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMaterID"]);
                omodel.HMaterNumber = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HMaterNumber"]);
                omodel.HUnitID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HUnitID"]);
                omodel.HUnitNumber = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HUnitNumber"]);
                omodel.HPlanQty = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HPlanQty"]);
                omodel.HInStockQty = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HInStockQty"]);
                omodel.HSumTimes = DBUtility.ClsPub.isSingle(Ds.Tables[0].Rows[0]["HSumTimes"]);
                omodel.HExplanation = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HExplanation"]);
                omodel.HRemark = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
                omodel.HInnerBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HInnerBillNo"]);
                omodel.HMarker = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HMarker"]);
                //
                 omodel.HBacker = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBacker"]);
                omodel.HBackDate = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBackDate"]);
                omodel.HChecker = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HChecker"]);
                omodel.HCheckDate = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckDate"]);
                omodel.HMaker = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HMaker"]);
                omodel.HMakeDate = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HMakeDate"]);
                omodel.HUpDater = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HUpDater"]);
                omodel.HUpDateDate = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HUpDateDate"]);
                omodel.HCloseMan = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCloseMan"]);
                omodel.HCloseDate = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCloseDate"]);
                omodel.HCloseType = DBUtility.ClsPub.isBool(Ds.Tables[0].Rows[0]["HCloseType"]);
                omodel.HDeleteMan = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HDeleteMan"]);
                omodel.HDeleteDate = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HDeleteDate"]);
                //循环
                DataSet DsSub ;
                DsSub = oCn.RunProcReturn("Select * from Sc_ProcessReportSub Where HInterID=" + lngBillKey.ToString() + " order by HEntryID ", "Sc_ProcessReportSub");
                DetailColl.Clear();//清空
                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
                {
                    Model.ClsSc_ProcessReportSub oSub = new Model.ClsSc_ProcessReportSub();
                    oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
                    oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
                    //
                    oSub.HMaterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMaterID"]);
                    oSub.HMaterNumber = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HMaterNumber"]);
                    oSub.HProcID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HProcID"]);
                    oSub.HProcNumber = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HProcNumber"]);
                    oSub.HEmpID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEmpID"]);
                    oSub.HEmpNumber = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HEmpNumber"]);
                    oSub.HSourceID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceID"]);
                    oSub.HRelBeginDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HRelBeginDate"]);
                    oSub.HRelEndDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HRelEndDate"]);
                    oSub.HTimes = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HTimes"]);
                    oSub.HQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HQty"]);
                    oSub.HCheckQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HCheckQty"]);
                    oSub.HBadCount = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HBadCount"]);
                    oSub.HWasterQty = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HWasterQty"]);
                    oSub.HWasterQty2 = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HWasterQty2"]);
                    oSub.HPrice = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HPrice"]);
                    oSub.HMoney = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HMoney"]);
                    oSub.HOutMoney = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HOutMoney"]);
                    oSub.HOutPrice = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HOutPrice"]);
                    //addnew
                    oSub.HBadPrirce = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HBadPrirce"]);
                    oSub.HBadMoney = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HBadMoney"]);
                    oSub.HWasterPrice = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HWasterPrice"]);
                    oSub.HWasterMoney = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HWasterMoney"]);
                    oSub.HQualityRate = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HQualityRate"]);
                    oSub.HSecUnitQty1 = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HSecUnitQty1"]);
                    oSub.HSecUnitRate1 = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HSecUnitRate1"]);
                    oSub.HSecUnitQty2 = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HSecUnitQty2"]);
                    oSub.HSecUnitRate2 = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HSecUnitRate2"]);
                    oSub.HUsingQty = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HUsingQty"]);
                    oSub.HSelfBadCount = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HSelfBadCount"]);
                    oSub.HPreBadCount = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HPreBadCount"]);
                    oSub.HPayMentQty = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HPayMentQty"]);
                    oSub.HOtherDeduct = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HOtherDeduct"]);
                    oSub.HRelPay = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HRelPay"]);
                    oSub.HBatchNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HBatchNo"]);
                    oSub.HOtherItem1 = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HOtherItem1"]);
                    oSub.HOtherItem2 = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HOtherItem2"]);
                    oSub.HOtherItem3 = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HOtherItem3"]);
                    oSub.HOtherItem4 = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HOtherItem4"]);
                    oSub.HOtherItem5 = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HOtherItem5"]);
                    oSub.HPackType = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HPackType"]);
                    oSub.HCheckEmpID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HCheckEmpID"]);
                    //
                    oSub.HProcPlanInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HProcPlanInterID"]);
                    oSub.HProcPlanEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HProcPlanEntryID"]);
                    oSub.HProcPlanBillNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HProcPlanBillNo"]);
                    oSub.HICMOInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HICMOInterID"]);
                    oSub.HICMOBillNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HICMOBillNo"]);
                    oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderInterID"]);
                    oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderEntryID"]);
                    oSub.HSeOrderBillNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HSeOrderBillNo"]);
                    //
                    oSub.HCloseMan = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
                    oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
                    oSub.HRemark = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HRemark"]);
                    oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
                    oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
                    oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HSourceBillNo"]);
                    oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HSourceBillType"]);
                    oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]);
                    oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]);
                    DetailColl.Add(oSub);
                }
                sReturn = "显示单据成功!";
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                throw (e);
            }
        }
        //审核
        public bool CheckBill(Int64 lngBillKey, ref string sReturn)
        {
            DataSet oDs = new DataSet();
            string sBillName = "";
            sReturn = "";
            try
            {
                string HChecker = DBUtility.ClsPub.CurUserName;
                string HCheckDate = DBUtility.ClsPub.GetServerDate(-1);
                //
                oDs = oCn.RunProcReturn("select * from Sc_ProcessReportSub where HInterID=" + lngBillKey.ToString(), "Sc_ProcessReportSub");
                if (oDs == null || oDs.Tables[0].Rows.Count == 0)
                {
                    return false;
                }
                for (int i = 0; i <= oDs.Tables[0].Rows.Count - 1; i++)
                {
                    long ProdMoveInterID = DBUtility.ClsPub.CreateBillID("3771", ref DBUtility.ClsPub.sExeReturnInfo);
                    string ProdMoveBillNo = DBUtility.ClsPub.CreateBillCode("3771", ref DBUtility.ClsPub.sExeReturnInfo, true);
                    //oCn.RunProc("exec h_p_Sc_ProcProdMoveBill_Add " + lngBillKey.ToString() + "," + DBUtility.ClsPub.isLong(oDs.Tables[0].Rows[i]["HEntryID"]).ToString() + "," + ProdMoveInterID.ToString() + ",'" + ProdMoveBillNo + "','" + HChecker + "'");
                    sBillName = sBillName + ProdMoveBillNo + ",";
                }
                oCn.RunProc(" Update " + MvarItemKey + " set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString());
                sReturn = sBillName;
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                throw (e);
            }
        }
        //删除关联
        public override void DeleteRelation(ref string sReturn, Int64 lngBillKey)
        {
            //增加
            try
            {
                if (omodel.HMainSourceBillType == "工序计划单")
                {
                    oCn.RunProc("exec h_p_Sc_UpDateProcessPlanRelation_Del " + lngBillKey.ToString());
                }
                else
                {
                    oCn.RunProc("exec h_p_Sc_UpDateICMOBillStatusRelation_Del " + lngBillKey.ToString());
                }
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
        //新增关联
        public override void AddNewRelation(ref string sReturn, Int64 lngBillKey)
        {
            //增加
            try
            {
                if (omodel.HMainSourceBillType == "工序计划单")
                {
                    oCn.RunProc("exec h_p_Sc_UpDateProcessPlanRelation_Add " + lngBillKey.ToString());
                }
                else
                {
                    oCn.RunProc("exec h_p_Sc_UpDateICMOBillStatusRelation_Add " + lngBillKey.ToString());
                }
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
        public bool CheckStatus(long HMainID, long HSubID, ref string sReturn)
        {
            DataSet oDs = new DataSet();
            oDs = oCn.RunProcReturn("exec h_p_Sc_CheckProcessReportStatus " + HMainID.ToString() + "," + HSubID.ToString(), "h_p_Sc_CheckProcessReportStatus");
            if (oDs == null || oDs.Tables[0].Rows.Count == 0)
            {
                sReturn = "未查询到记录!";
                return false;
            }
            if (DBUtility.ClsPub.isLong(oDs.Tables[0].Rows[0][0]) != 99)
            {
                sReturn = DBUtility.ClsPub.isStrNull(oDs.Tables[0].Rows[0][1]);
                return false;
            }
            else
            {
                sReturn = "正常";
                return true;
            }
        }
        //
    }
}
WebAPI/ListModels.cs
@@ -140,7 +140,11 @@
            return list;
        }
        /// <summary>
        /// 派工单主表json处理
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public List<Model.ClsSc_ProcessSendWorkMain> getObjectByJson_SendWorkMain(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
@@ -148,7 +152,11 @@
            return list;
        }
        /// <summary>
        /// 计划单视图模型json处理
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public List<WebAPI.Models.Sc_ProcessPlanViewModel> getObjectByJson_SendWorkSub(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
@@ -156,11 +164,65 @@
            return list;
        }
        /// <summary>
        /// 汇报单的视图模型json处理
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public List<WebAPI.Models.Sc_ProcessReportViewModel> getObjectByJson_Report(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<WebAPI.Models.Sc_ProcessReportViewModel> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<WebAPI.Models.Sc_ProcessReportViewModel>>(jsonString);
            return list;
        }
        /// <summary>
        /// 处理下推派工单的主表json
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public List<Model.ClsSc_ProcessReportMain> getObjectByJson_Reportlist(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<Model.ClsSc_ProcessReportMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_ProcessReportMain>>(jsonString);
            return list;
        }
        /// <summary>
        /// 处理下推派工单的派工单视图模型json
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public List<WebAPI.Models.Sc_ProcessSendWorkViewModel> getObjectByJson_ViewReportlist(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<WebAPI.Models.Sc_ProcessSendWorkViewModel> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<WebAPI.Models.Sc_ProcessSendWorkViewModel>>(jsonString);
            return list;
        }
        /// <summary>
        /// 处理新增不良评审主表的json
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public List<Model.ClsQC_NoPassProdCheckBillMain> getObjectByJson_NoPassProdCheckMain(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<Model.ClsQC_NoPassProdCheckBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_NoPassProdCheckBillMain>>(jsonString);
            return list;
        }
        /// <summary>
        /// 处理新增不良评审子表的json
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public List<Model.ClsQC_NoPassProdCheckBillSub> getObjectByJson_NoPassProdCheckSub(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<Model.ClsQC_NoPassProdCheckBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_NoPassProdCheckBillSub>>(jsonString);
            return list;
        }
    }
}
WebAPI/Models/Sc_ProcessPlanViewModel.cs
@@ -5,6 +5,9 @@
namespace WebAPI.Models
{
    /// <summary>
    /// 工序计划单视图模型
    /// </summary>
    public class Sc_ProcessPlanViewModel
    {
        public Int64? hmainid;  //      [hmainid], 
WebAPI/Models/Sc_ProcessReportViewModel.cs
@@ -5,32 +5,156 @@
namespace WebAPI.Models
{
    /// <summary>
    /// 工序汇报单模型
    /// </summary>
    public class Sc_ProcessReportViewModel
    {
        /// <summary>
        /// 条形码编码
        /// </summary>
        public string HBarCode;
        public string HBarCode; //条形码编码
        public string HSendWorkBillNo; //派工单据号
        public string HBillNo;//汇报单据号
        public Int64 HInterID; //主键id
        public string HProcNo; //工序号
        public string HProcName; //工序名称
        public Int64 HProcID; //工序id
        public string HProc;//
        public string HMaterModel;//规格型号
        public Int64? HEmpID; //创建人id
        public decimal HQty; //数量
        public string HSource; //生产资源
        public Int64?  HSourceID; //生产资源id
        public string HGroup; //班组
        public Int64? HGroupID;//班组id
        public string HICMOBillNo;//任务单号
        public DateTime? HReportTime; //创建时间
        public Int64? HMaterID;//产品id
        public string HMaterName;//产品名称
        public decimal HICMOQty;//
        public Int64? HICMOInterID;//任务单id
        public Int64? HDeptID;//部门id
        public string HEmp;//创建人
        /// <summary>
        /// 派工单据号
        /// </summary>
        public string HSendWorkBillNo;
        /// <summary>
        /// 汇报单据号
        /// </summary>
        public string HBillNo;
        /// <summary>
        /// 主键id
        /// </summary>
        public Int64 HInterID;
        /// <summary>
        /// 工序号
        /// </summary>
        public string HProcNo;
        /// <summary>
        /// 工序名称
        /// </summary>
        public string HProcName;
        /// <summary>
        /// 工序id
        /// </summary>
        public Int64 HProcID;
        /// <summary>
        ///
        /// </summary>
        public string HProc;
        /// <summary>
        /// 规格型号
        /// </summary>
        public string HMaterModel;
        /// <summary>
        /// 创建人id
        /// </summary>
        public Int64? HEmpID;
        /// <summary>
        /// 数量
        /// </summary>
        public decimal HQty;
        /// <summary>
        /// 生产资源
        /// </summary>
        public string HSource;
        /// <summary>
        /// 生产资源id
        /// </summary>
        public Int64?  HSourceID;
        /// <summary>
        /// 班组
        /// </summary>
        public string HGroup;
        /// <summary>
        /// 班组id
        /// </summary>
        public Int64? HGroupID;
        /// <summary>
        /// 班组代码
        /// </summary>
        public string HGroupNumber;
        /// <summary>
        /// 任务单号
        /// </summary>
        public string HICMOBillNo;
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? HReportTime;
        /// <summary>
        /// 产品id
        /// </summary>
        public Int64? HMaterID;
        /// <summary>
        /// 产品名称
        /// </summary>
        public string HMaterName;
        /// <summary>
        ///
        /// </summary>
        public decimal HICMOQty;
        /// <summary>
        /// 任务单id
        /// </summary>
        public Int64? HICMOInterID;
        /// <summary>
        /// 部门id
        /// </summary>
        public Int64? HDeptID;
        /// <summary>
        /// 部门代码
        /// </summary>
        public string HDeptNumber;
        /// <summary>
        /// 创建人
        /// </summary>
        public string HEmp;
        /// <summary>
        /// 单位id
        /// </summary>
        public Int64 HUnitID;
        /// <summary>
        /// 计量单位代码
        /// </summary>
        public string HUnitNumber;
        /// <summary>
        /// 产品代码
        /// </summary>
        public string HMaterNumber;
        /// <summary>
        /// 工序代码
        /// </summary>
        public string HProcNumber;
       
    }
}
WebAPI/Models/Sc_ProcessSendWorkViewModel.cs
New file
@@ -0,0 +1,286 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebAPI.Models
{
    /// <summary>
    /// 工序派工单视图模型
    /// </summary>
    public class Sc_ProcessSendWorkViewModel
    {
        /// <summary>
        ///
        /// </summary>
        public Int64? hmainid { get; set; }
        /// <summary>
        ///
        /// </summary>
        public DateTime? 日期 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 单据号 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public Int64? HDeptID { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 部门代码 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 部门 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public Int64? HMaterID { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 物料代码 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 物料名称 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 规格型号 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public Int64? HUnitID { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 计量单位代码 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 计量单位 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public Int64? HprocID { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 工序代码 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 工序 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public Int64? HGroupID { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 班组代码 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 班组名称 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public Int64? HSourceID { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 资源代码 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 生产资源 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public Int64? HWorkerID { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 职员代码 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 职员 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public Int64? hsubid { get; set; }
        /// <summary>
        ///
        /// </summary>
        public decimal? 数量 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public DateTime? 计划开工日期 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public DateTime? 计划完工日期 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public decimal? 计划工时 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 表体备注 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public Int64? HICMOInterID { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 生产任务单号 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public Int64? HSeOrderInterID { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 销售订单号 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 表头备注 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 制单人 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public DateTime? 制单日期 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 审核人 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public DateTime? 审核日期 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 修改人 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public DateTime? 修改日期 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 关闭人 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public DateTime? 关闭日期 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 作废人 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public DateTime? 作废日期 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public Int64? 源单主内码 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public Int64? 源单子内码 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 源单单号 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 源单类型 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string 行关闭人 { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string HBillType { get; set; }
        /// <summary>
        ///
        /// </summary>
        public Int64? HQtyDecimal { get; set; }
        /// <summary>
        ///
        /// </summary>
        public Int64? HPriceDecimal { get; set; }
    }
}
WebAPI/Properties/PublishProfiles/API.pubxml.user
@@ -7,6 +7,7 @@
  <PropertyGroup>
    <TimeStampOfAssociatedLegacyPublishXmlFile />
    <_PublishTargetUrl>D:\网站发布\智云MESWMS\API</_PublishTargetUrl>
    <History>True|2021-04-16T00:50:41.5499248Z;True|2021-04-16T08:32:59.1701708+08:00;True|2021-04-16T08:27:36.9176335+08:00;True|2021-04-15T15:56:26.8485667+08:00;True|2021-04-15T15:21:23.2875671+08:00;True|2021-04-15T14:41:16.9980034+08:00;True|2021-04-15T14:36:34.8570017+08:00;True|2021-04-13T16:15:00.7668503+08:00;</History>
  </PropertyGroup>
  <ItemGroup>
    <File Include="apiapp.json">
@@ -34,10 +35,10 @@
      <publishTime>01/13/2021 21:47:30</publishTime>
    </File>
    <File Include="bin/Kingdee.BOS.WebApi.FormService.dll">
      <publishTime>09/20/2018 19:23:20</publishTime>
      <publishTime>04/26/2020 09:57:16</publishTime>
    </File>
    <File Include="bin/Kingdee.BOS.WebApi.ServicesStub.dll">
      <publishTime>09/20/2018 19:28:34</publishTime>
      <publishTime>04/26/2020 09:57:16</publishTime>
    </File>
    <File Include="bin/Microsoft.Azure.AppService.ApiApps.Service.dll">
      <publishTime>03/18/2015 17:02:50</publishTime>
@@ -163,10 +164,10 @@
      <publishTime>11/24/2014 11:18:48</publishTime>
    </File>
    <File Include="bin/WebAPI.dll">
      <publishTime>04/20/2021 21:24:01</publishTime>
      <publishTime>04/19/2021 15:30:26</publishTime>
    </File>
    <File Include="bin/WebAPI.pdb">
      <publishTime>04/20/2021 21:24:01</publishTime>
      <publishTime>04/19/2021 15:30:26</publishTime>
    </File>
    <File Include="bin/WebAPI.XmlSerializers.dll">
      <publishTime>02/04/2021 21:35:21</publishTime>
@@ -340,7 +341,7 @@
      <publishTime>02/22/2021 09:25:20</publishTime>
    </File>
    <File Include="Web.config">
      <publishTime>04/20/2021 21:24:08</publishTime>
      <publishTime>04/19/2021 15:30:33</publishTime>
    </File>
  </ItemGroup>
</Project>
WebAPI/WebAPI.csproj
@@ -325,6 +325,10 @@
    <Compile Include="Controllers\BaseSet\Gy_SourceController.cs" />
    <Compile Include="Controllers\BaseSet\Gy_SupplierController.cs" />
    <Compile Include="Controllers\BaseSet\Gy_WarehouseController.cs" />
    <Compile Include="Controllers\CGGL\Cg_POOrderBillController.cs" />
    <Compile Include="Controllers\CGGL\WW_EntrustOrderBillController.cs" />
    <Compile Include="Controllers\CGGL\Cg_POInStockBillController.cs" />
    <Compile Include="Controllers\CGGL\Cg_POInStockBackBillController.cs" />
    <Compile Include="Controllers\CJGL\Cj_NoPassProcController.cs" />
    <Compile Include="Controllers\CJGL\Cj_StationEntrustOutBillController.cs" />
    <Compile Include="Controllers\Sc_ProcessMangementController.cs" />
@@ -335,9 +339,14 @@
    <Compile Include="Controllers\SCGL\Sc_ICMOReportBillController.cs" />
    <Compile Include="Controllers\SCGL\Sc_PPBomBillController.cs" />
    <Compile Include="Controllers\Sc_CheckToolsRepairWorkBillController.cs" />
    <Compile Include="Controllers\XSGL\Xs_SeOutStockBackBillController.cs" />
    <Compile Include="Controllers\XSGL\Xs_SeOutStockBillController.cs" />
    <Compile Include="Controllers\XSGL\Xs_SeOrderBillController.cs" />
    <Compile Include="Dapper\SqlHelper.cs" />
    <Compile Include="Dapper\SqlPools.cs" />
    <Compile Include="DbUntil\DataFormatUntil.cs" />
    <Compile Include="DLL\ClsQC_NoPassProdCheckBill.cs" />
    <Compile Include="DLL\ClsSc_ProcessReport.cs" />
    <Compile Include="Models\ApiConfig.cs" />
    <Compile Include="Models\ApiResult.cs" />
    <Compile Include="Models\DocumentsView.cs" />
@@ -348,7 +357,8 @@
    <Compile Include="Models\M_Process.cs" />
    <Compile Include="Models\Sc_ProcessPlanViewModel.cs" />
    <Compile Include="Models\Sc_ProcessReportViewModel.cs" />
    <Compile Include="Models\StationBill.cs" />
    <Compile Include="Models\Sc_ProcessSendWorkViewModel.cs" />
    <Compile Include="Models\StationEntrustInBill.cs" />
    <Compile Include="Models\StationOutBillView.cs" />
    <Compile Include="Properties\Resources.Designer.cs">
      <AutoGen>True</AutoGen>