chenhaozhe
2026-04-16 82b57de13d9449c48944db91d7f17b477169c324
WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
@@ -10,6 +10,7 @@
using System.Web.Http;
using System.Windows.Forms;
using WebAPI.Models;
using System.Linq;
namespace WebAPI.Controllers
{
@@ -51,6 +52,7 @@
            string msg4 = sArray[2].ToString();
            string msg5 = sArray[3].ToString();
            string HBillSubType = sArray[4].ToString();
            string msg6 = sArray.Length > 5 ? sArray[5] : ""; // 这里安全了
            string HComputerName = SystemInformation.ComputerName; //设备名称    
            string UserName = "";
@@ -64,7 +66,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "指引卡无保存权限!";
                        objJsonResult.Message = "[3772-2-029]指引卡无保存权限!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -74,7 +76,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "流转卡无保存权限!";
                        objJsonResult.Message = "[3772-2-029]流转卡无保存权限!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -90,7 +92,7 @@
                {
                    UserName = oItem.HMaker;  //制单人
                    oItem.HBillType = "3772";
                    oItem.HBillSubType = HBillSubType == "SUB" ? HBillSubType : "3772";
                    oItem.HBillSubType = HBillSubType == "SUB" ? HBillSubType : oItem.HBillSubType;
                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                    oItem.HDate = HBillSubType == "SUB" ? DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")) : oItem.HDate;
@@ -98,7 +100,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!没有单据日期,无法保存!";
                        objJsonResult.Message = "[3772-2-030]保存失败!没有单据日期,无法保存!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
@@ -123,30 +125,96 @@
                    oBill.DetailColl.Add(oItemSub);
                }
                //返工表体数据
                //按 },{来拆分数组 //去掉【和】
                List<Model.Sc_ProcessExchangeBillSub_HRelationBack> ls2 = new List<Model.Sc_ProcessExchangeBillSub_HRelationBack>();
                if (!string.IsNullOrEmpty(msg6))
                {
                    // 只有 msg6 不为空才走这里
                    msg6 = msg6.Substring(1, msg6.Length - 2);
                    msg6 = msg6.Replace("\\", "");
                    msg6 = msg6.Replace("\n", "");
                    // 这里必须传 msg6,不是 msg3!!!
                    ls2 = oListModels.getObjectByJson_Sc_ProcessExchangeBillSub_HRelationBack(msg6);
                }
                int i2 = 0;
                foreach (Model.Sc_ProcessExchangeBillSub_HRelationBack oItemSub2 in ls2)
                {
                    i2++;
                    oItemSub2.HEntryID = i2;
                    oItemSub2.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                    // 在这里直接给默认值!
                    // ======================
                    oItemSub2.HProcExchInterID = oItemSub2.HProcExchInterID > 0 ? oItemSub2.HProcExchInterID : 0;
                    oItemSub2.HProcExchEntryID = oItemSub2.HProcExchEntryID > 0 ? oItemSub2.HProcExchEntryID : 0;
                    oItemSub2.HProcExchBillNo = string.IsNullOrEmpty(oItemSub2.HProcExchBillNo) ? "" : oItemSub2.HProcExchBillNo;
                    oItemSub2.HICMOInterID = oItemSub2.HICMOInterID > 0 ? oItemSub2.HICMOInterID : 0;
                    oItemSub2.HICMOEntryID = oItemSub2.HICMOEntryID > 0 ? oItemSub2.HICMOEntryID : 0;
                    oItemSub2.HICMOBillNo = string.IsNullOrEmpty(oItemSub2.HICMOBillNo) ? "" : oItemSub2.HICMOBillNo;
                    oItemSub2.HStationOutInterID = oItemSub2.HStationOutInterID > 0 ? oItemSub2.HStationOutInterID : 0;
                    oItemSub2.HStationOutBillNo = string.IsNullOrEmpty(oItemSub2.HStationOutBillNo) ? "" : oItemSub2.HStationOutBillNo;
                    oBill.DetailColl2.Add(oItemSub2);
                }
                //保存
                //保存完毕后处理
                bool bResult;
                if (msg5 == "xz")
                {
                    LogService.Write("用户:" + msg4 + ",日期:" + DateTime.Now + ",新增工序流转卡单据:" + oBill.omodel.HBillNo);
                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + msg4 + "','" + HComputerName + "','" + "新增工序流转卡单据:" + oBill.omodel.HBillNo + "','LMES-工序流转卡模块','" + DBUtility.ClsPub.IPAddress + "','新增单据'", ref DBUtility.ClsPub.sExeReturnInfo);
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + msg4 + "','" + HComputerName + "','" + "新增工序流转卡单据:" + oBill.omodel.HBillNo  + "','LMES-工序流转卡模块','" + DBUtility.ClsPub.IPAddress + "','新增单据'", ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else
                {
                    LogService.Write("用户:" + msg4 + ",日期:" + DateTime.Now + ",修改工序流转卡单据:" + oBill.omodel.HBillNo);
                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + msg4 + "','" + HComputerName + "','" + "修改工序流转卡单据:" + oBill.omodel.HBillNo + "','LMES-工序流转卡模块','" + DBUtility.ClsPub.IPAddress + "','修改单据'", ref DBUtility.ClsPub.sExeReturnInfo);
                }
                if (bResult)
                {
                    //自动审核设置
                    if (msg5 == "xz")
                    {
                        objJsonResult.HInterID = oBill.omodel.HInterID.ToString(); //返回主ID
                        //系统参数  自动审核
                        string sReturn = "";
                        if (oSystemParameter.ShowBill(ref sReturn) == true)
                        {
                            if (oSystemParameter.omodel.Sc_ProcessExchangeBill_AutoCheck == "Y") //系统参数  自动审核
                            {
                                objJsonResult.Verify = "Y";
                            }
                            else
                            {
                                objJsonResult.Verify = "N";
                            }
                        }
                    }
                    else
                    {
                        objJsonResult.HInterID = oBill.omodel.HInterID.ToString(); //返回主ID
                        objJsonResult.Verify = "N";
                    }
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "保存成功!";
                    //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单");
                    objJsonResult.Message = "[0000-1-050]保存成功!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
@@ -154,7 +222,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.Message = "[0000-1-051]保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
@@ -163,7 +231,7 @@
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
                objJsonResult.Message = "[0000-1-051]保存失败!" + e.ToString();
                objJsonResult.data = 1;
                return objJsonResult;
            }
@@ -682,7 +750,7 @@
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.Message = "[0000-1-037]Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = listCol;
                return objJsonResult;
@@ -691,7 +759,7 @@
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.Message = "[0000-1-038]Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -834,14 +902,45 @@
                ds = oCN.RunProcReturn(sql+ " where hmainid="+ HInterID + "  order by cast(流水号 as int) ", "h_v_Sc_ProcessExchangeBillQuerySub");
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "获取信息成功!";
                objJsonResult.Message = "[0000-1-037]获取信息成功!";
                objJsonResult.data = ds.Tables[0];
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.Message = "[0000-1-045]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
            }
            return objJsonResult;
        }
        // 工序流转卡返工信息
        [Route("Sc_ProcessExchangeBill/GetProcessExchangeBillSub_Back")]
        [HttpGet]
        public object GetProcessExchangeBillSub_Back(string HInterID)
        {
            DataSet ds;
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                string sql = string.Format(@"SELECT ISNULL(HSourceInterID, 0) AS HSourceInterID,ISNULL(HSourceEntryID, 0) AS HSourceEntryID,ISNULL(HSourceBillNo, '') AS HSourceBillNo,
                ISNULL(HSourceBillType, '') AS HSourceBillType,ISNULL(HProcExchInterID, 0) AS HProcExchInterID,ISNULL(HProcExchEntryID, 0) AS HProcExchEntryID,
                ISNULL(HProcExchBillNo, '') AS HProcExchBillNo,ISNULL(HICMOInterID, 0) AS HICMOInterID,ISNULL(HICMOEntryID, 0) AS HICMOEntryID,
                ISNULL(HICMOBillNo, '') AS HICMOBillNo,ISNULL(HStationOutInterID, 0) AS HStationOutInterID,ISNULL(HStationOutBillNo, '') AS HStationOutBillNo
                FROM Sc_ProcessExchangeBillSub_HRelationBack where HInterID=" + HInterID + "  order by HEntryID ");
                ds = oCN.RunProcReturn(sql, "Sc_ProcessExchangeBillSub_HRelationBack");
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "[0000-1-037]获取信息成功!";
                objJsonResult.data = ds.Tables[0];
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "[0000-1-045]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
            }
            return objJsonResult;
@@ -865,7 +964,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "指引卡无删除权限!";
                    objJsonResult.Message = "[0000-1-004]指引卡无删除权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -876,7 +975,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "流转卡无删除权限!";
                    objJsonResult.Message = "[0000-1-004]流转卡无删除权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -904,7 +1003,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据号:" + oBill.omodel.HBillNo + "单据ID为空!";
                        objJsonResult.Message = "[0000-1-009]单据号:" + oBill.omodel.HBillNo + "单据ID为空!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -920,7 +1019,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据号:" + oBill.omodel.HBillNo + "流转卡已经有下游进出站单后,不允许删除!";
                        objJsonResult.Message = "[3772-1-010]单据号:" + oBill.omodel.HBillNo + "流转卡已经有下游进出站单后,不允许删除!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -934,7 +1033,7 @@
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "单据号:" + oBill.omodel.HBillNo + "只能删除本人的单据!";
                                objJsonResult.Message = "[0000-1-011]单据号:" + oBill.omodel.HBillNo + "只能删除本人的单据!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
@@ -946,7 +1045,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据号:" + oBill.omodel.HBillNo + "单据当前处于不能删除状态,不能删除!";
                        objJsonResult.Message = "[0000-1-012]单据号:" + oBill.omodel.HBillNo + "单据当前处于不能删除状态,不能删除!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -955,7 +1054,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据号:" + oBill.omodel.HBillNo + "单据已经审核,不能删除!";
                        objJsonResult.Message = "[0000-1-013]单据号:" + oBill.omodel.HBillNo + "单据已经审核,不能删除!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -966,7 +1065,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据未找到";
                    objJsonResult.Message = "[0000-1-005]单据未找到";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -988,7 +1087,7 @@
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "无流转卡数据!";
                        objJsonResult.Message = "[0000-1-005]无流转卡数据!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -1003,7 +1102,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "删除失败!原因:删除前判断失败,请与网络管理人员联系";
                    objJsonResult.Message = "[0000-1-006]删除失败!原因:删除前判断失败,请与网络管理人员联系";
                    objJsonResult.data = null;
                    oCN.RollBack();
                    return objJsonResult;
@@ -1013,7 +1112,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "删除失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                    objJsonResult.Message = "[3772-1-007]删除失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString();
                    objJsonResult.data = null;
                    oCN.RollBack();
                    return objJsonResult;
@@ -1027,7 +1126,7 @@
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.Message = "[3772-1-007]" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1048,7 +1147,7 @@
            objJsonResult.code = "0";
            objJsonResult.count = 1;
            objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
            objJsonResult.Message = "[0000-1-008]" + DBUtility.ClsPub.sExeReturnInfo;
            objJsonResult.data = null;
            return objJsonResult;
        }
@@ -1079,7 +1178,7 @@
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.list = columnNameList;
                objJsonResult.Message = "获取信息成功!";
                objJsonResult.Message = "[0000-1-037]获取信息成功!";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
@@ -1087,7 +1186,7 @@
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.Message = "[0000-1-038]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1139,14 +1238,14 @@
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "获取信息成功!";
                objJsonResult.Message = "[0000-1-037]获取信息成功!";
                objJsonResult.data = ds.Tables[0];
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.Message = "[0000-1-045]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
            }
            return objJsonResult;
@@ -1376,7 +1475,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "指引卡无权限审核!";
                        objJsonResult.Message = "[3772-1-022]指引卡无权限审核!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -1387,7 +1486,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "流转卡无权限审核!";
                        objJsonResult.Message = "[3772-1-022]流转卡无权限审核!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -1398,7 +1497,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID为空!";
                    objJsonResult.Message = "[0000-1-009]HInterID为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1420,7 +1519,7 @@
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已审核!不需要再审核!";
                            objJsonResult.Message = "[0000-1-023]单据已审核!不需要再审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
@@ -1434,7 +1533,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系";
                        objJsonResult.Message = "[0000-1-024]审核失败!原因:审核前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        return objJsonResult;
@@ -1443,7 +1542,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.Message = "[0000-1-025]审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -1454,7 +1553,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.Message = "[0000-1-025]审核失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -1471,7 +1570,7 @@
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已反审核!不需要再反审核!";
                            objJsonResult.Message = "[0000-1-026]单据已反审核!不需要再反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
@@ -1485,7 +1584,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "反审核失败!原因:反审核前判断失败,请与网络管理人员联系";
                        objJsonResult.Message = "[0000-1-027]反审核失败!原因:反审核前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        return objJsonResult;
@@ -1494,7 +1593,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "反审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.Message = "[0000-1-028]反审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -1517,7 +1616,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.Message = "[0000-1-028]审核失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -1527,7 +1626,7 @@
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "执行成功!";
                objJsonResult.Message = "[0000-1-029]执行成功!";
                objJsonResult.data = null;
                return objJsonResult; ;
@@ -1536,7 +1635,7 @@
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "执行失败!" + e.ToString();
                objJsonResult.Message = "[0000-1-025]执行失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1557,7 +1656,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "指引卡无权限关闭!";
                        objJsonResult.Message = "[3772-1-032]指引卡无权限关闭!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -1569,7 +1668,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "流转卡无权限关闭!";
                        objJsonResult.Message = "[3772-1-032]流转卡无权限关闭!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -1580,7 +1679,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID为空!";
                    objJsonResult.Message = "[0000-1-009]HInterID为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1602,7 +1701,7 @@
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已关闭!不需要再关闭!";
                            objJsonResult.Message = "[0000-1-033]单据已关闭!不需要再关闭!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
@@ -1612,7 +1711,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "关闭失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.Message = "[0000-1-034]关闭失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -1629,7 +1728,7 @@
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已反关闭!不需要再反关闭!";
                            objJsonResult.Message = "[0000-1-035]单据已反关闭!不需要再反关闭!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
@@ -1639,7 +1738,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "反关闭失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.Message = "[0000-1-036]反关闭失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -1649,7 +1748,7 @@
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "执行成功!";
                objJsonResult.Message = "[0000-1-037]执行成功!";
                objJsonResult.data = null;
                return objJsonResult; ;
@@ -1658,7 +1757,7 @@
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "执行失败!" + e.ToString();
                objJsonResult.Message = "[0000-1-038]执行失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1685,7 +1784,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "作废失败!无权限!";
                    objJsonResult.Message = "[0000-1-039]作废失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1694,7 +1793,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID小于0!";
                    objJsonResult.Message = "[0000-1-009]HInterID小于0!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1756,7 +1855,7 @@
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "作废成功";
                        objJsonResult.Message = "[0000-1-040]作废成功";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -1764,7 +1863,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "作废失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                        objJsonResult.Message = "[0000-1-041]作废失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -1782,7 +1881,7 @@
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "反作废失败!原因:" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]).ToString();
                            objJsonResult.Message = "[0000-1-042]反作废失败!原因:" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]).ToString();
                            objJsonResult.data = null;
                            oBill.oCn.RollBack();
@@ -1792,7 +1891,7 @@
                        oBill.oCn.Commit();
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "反作废成功";
                        objJsonResult.Message = "[0000-1-043]反作废成功";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -1800,7 +1899,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "反作废失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                        objJsonResult.Message = "[0000-1-042]反作废失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -1811,7 +1910,7 @@
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "作废失败或者反作废失败!" + e.ToString();
                objJsonResult.Message = "[0000-1-044]作废失败或者反作废失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -2094,12 +2193,7 @@
        }
        #endregion
        #region[批量拆分下推-保存按钮]
        /// <summary>
        /// 新增单据-保存按钮
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        #region[批量拆分下推-保存按钮]
        [Route("Sc_ProcessExchangeBill/AddBill_BatchSplit")]
        [HttpPost]
        public object AddBill_BatchSplit([FromBody] JObject sMainSub)
@@ -2174,6 +2268,9 @@
                        oBill.omodel.HPeriod = DBUtility.ClsPub.isLong(oItemSub.HDate.Month);
                        oBill.omodel.HRemark = "";
                        oBill.omodel.HBatchNo = oItemSub.HBatchNo;
                        oBill.omodel.HProjectNum = oItemSub.HProjectNum;
                        oBill.omodel.HMateOutBatchNo = oItemSub.HMateOutBatchNo;
                        oBill.omodel.HMouldNum = oItemSub.HMouldNum;
                        oBill.omodel.HMainMaterID = 0;
                        oBill.omodel.HKeyMaterID = 0;
                        oBill.omodel.HNo = 0;
@@ -2186,10 +2283,8 @@
                        oBill.omodel.HMaterID = oItemSub.HMaterID;
                        oBill.omodel.HMaterNumber = ds.Tables[0].Rows[0]["HMaterNumber"].ToString();
                        oBill.omodel.HUnitID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[0]["HUnitID"]);
                        oBill.omodel.HMateOutBatchNo = "";
                        oBill.omodel.HUnitNumber = ds.Tables[0].Rows[0]["HUnitNumber"].ToString();
                        oBill.omodel.HMaterID2 = oItemSub.HMaterID;
                        oBill.omodel.HProjectNum = "";
                        oBill.omodel.HPlanQty = oItemSub.HQty;
                        oBill.omodel.HQty = oItemSub.HProQty;
                        oBill.omodel.HPlanBeginDate = Convert.ToDateTime(dt.ToShortDateString().ToString());
@@ -2265,8 +2360,7 @@
                        oBill.omodel.HWidth_New = 0;
                        oBill.omodel.HRemark_New = "";
                        oBill.omodel.HWeight_New = 0;
                        oBill.omodel.HPlanOrderProcNo = ds.Tables[0].Rows[0]["HPlanOrderProcNo"].ToString();
                        oBill.omodel.HMouldNum = "0";
                        oBill.omodel.HPlanOrderProcNo = ds.Tables[0].Rows[0]["HPlanOrderProcNo"].ToString();
                    }   
                    //子表赋值
                    for(int i = 0; i < ds.Tables[0].Rows.Count; i++)
@@ -2382,5 +2476,462 @@
            }
        }
        #endregion
        #region 可打印备料单报表(添康)
        [Route("Sc_ProcessExchangeBill/AllowedPrint")]
        [HttpGet]
        public object AllowedPrint(string sWhere, string user, string Organization, int page, int size)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                sWhere = sWhere.Replace("'", "''");
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBillList_AllowedPrint " + page + "," + size + ",'" + Organization + "'," + "''", "h_p_Sc_ProcessExchangeBillList_AllowedPrint");
                }
                else
                {
                    ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBillList_AllowedPrint " + page + "," + size + ",'" + Organization + "','" + sWhere + "'", "h_p_Sc_ProcessExchangeBillList_AllowedPrint");
                }
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = "1";
                objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region[生产订单多行下推生成流转卡]
        /// <summary>
        /// 返回拆分后的生产订单信息
        /// </summary>
        /// <param name="hmainid">生产任务单主子ID</param>
        /// <returns>object</returns>
        [Route("Sc_ProcessExchangeBill/Sc_ICMO_DH")]
        [HttpGet]
        public object Sc_ICMO_DH(string HInterID, string user)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(HInterID))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "源单主子id为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                string[] HInterEntryIDArr = HInterID.Split(',');
                DataTable dt = new DataTable();
                for (int i = 0; i < HInterEntryIDArr.Length; i++)
                {
                    string[] HIDs = HInterEntryIDArr[i].Split('@');
                    string sql = "exec h_p_Sc_ProcessExchange_DH '" + HIDs[0] + "','" + HIDs[1] + "'";
                    ds = oCN.RunProcReturn(sql, "h_p_Sc_ProcessExchange_DH");
                    if (i == 0)
                    {
                        dt = ds.Tables[0];
                    }
                    else
                    {
                        foreach (DataRow item in ds.Tables[0].Rows)
                        {
                            DataRow dataRow = dt.NewRow();
                            dataRow.ItemArray = item.ItemArray;
                            dt.Rows.Add(dataRow);
                        }
                    }
                }
                if (dt == null || dt.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 = dt;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region[生产订单多行下推-保存按钮]
        [Route("Sc_ProcessExchangeBill/Add_Sc_ICMO_DH")]
        [HttpPost]
        public object Add_Sc_ICMO_DH([FromBody] JObject sMainSub)
        {
            var _value = sMainSub["sMainSub"].ToString();
            string msg1 = _value.ToString();
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg2 = sArray[0].ToString();//明细行信息
            string HUser = sArray[1].ToString();//用户
            string HComputerName = SystemInformation.ComputerName; //设备名称
            string UserName = "";
            ListModels oListModels = new ListModels();
            bool bResult = true;
            try
            {
                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Edit", 1, false, HUser))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "流转卡无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill();
                //表体数据
                //按 },{来拆分数组 //去掉【和】
                msg2 = msg2.Substring(1, msg2.Length - 2);
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                //msg2 = msg2.Replace("'", "’");
                List<Model.ClsSc_ProcessExchangeBillSub_BatchSplit> ls = new List<Model.ClsSc_ProcessExchangeBillSub_BatchSplit>();
                ls = oListModels.getObjectByJson_Sc_ProcessExchangeBillSub_BatchSplit(msg2);
                DateTime dt = DateTime.Now;
                string sql = "";
                Int64 HInterID = 0;
                string HBillNo = "";
                Int64 HICMOInterID = 0;
                Int64 HICMOEntryID = 0;
                string HICMOBillNo = "";
                double HQty = 0;
                double HProQty = 0;
                foreach (Model.ClsSc_ProcessExchangeBillSub_BatchSplit oItemSub in ls)
                {
                    //HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("3772", ref DBUtility.ClsPub.sExeReturnInfo, true);
                    HInterID = oItemSub.HInterID;
                    HBillNo = oItemSub.HBillNo;
                    HICMOInterID = oItemSub.HICMOInterID;
                    HICMOEntryID = oItemSub.HICMOEntryID;
                    HICMOBillNo = oItemSub.HICMOBillNo;
                    HQty = oItemSub.HQty;
                    HProQty = oItemSub.HProQty;
                    sql = "select * from h_v_Sc_ProcessExchangeBill_BatchSplit where hmainid = " + oItemSub.HICMOInterID + " and hentryid = "
                         + oItemSub.HICMOEntryID + " and HRoutingID = " + oItemSub.HRoutingInterID.ToString();
                    ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessExchangeBill_BatchSplit");
                    //主表赋值
                    if (ds.Tables[0].Rows.Count > 0 && ds != null)
                    {
                        oBill.omodel.HInterID = HInterID;
                        oBill.omodel.HBillNo = HBillNo;
                        oBill.omodel.HBillSubType = "3772";
                        oBill.omodel.HMainSourceBillSubType = "3710";
                        oBill.omodel.HDate = oItemSub.HDate;
                        oBill.omodel.HMaker = HUser;
                        oBill.omodel.HMakeDate = System.DateTime.Now.ToString("G");
                        oBill.omodel.HPrevMainSourceInterID = 0;
                        oBill.omodel.HYear = DBUtility.ClsPub.isLong(oItemSub.HDate.Year);
                        oBill.omodel.HPeriod = DBUtility.ClsPub.isLong(oItemSub.HDate.Month);
                        oBill.omodel.HRemark = "";
                        oBill.omodel.HBatchNo = oItemSub.HBatchNo;
                        oBill.omodel.HProjectNum = oItemSub.HProjectNum;
                        oBill.omodel.HMateOutBatchNo = oItemSub.HMateOutBatchNo;
                        oBill.omodel.HMouldNum = oItemSub.HMouldNum;
                        oBill.omodel.HMainMaterID = 0;
                        oBill.omodel.HKeyMaterID = 0;
                        oBill.omodel.HNo = 0;
                        oBill.omodel.HOrderProcNO = ds.Tables[0].Rows[0]["HPlanOrderProcNo"].ToString();
                        oBill.omodel.HWWOrderInterID = 0;
                        oBill.omodel.HWWOrderEntryID = 0;
                        oBill.omodel.HWWOrderBillNo = "";
                        oBill.omodel.HEquipMentID = 0; //!
                        oBill.omodel.HICMOBillNo = oItemSub.HICMOBillNo;
                        oBill.omodel.HMaterID = oItemSub.HMaterID;
                        oBill.omodel.HMaterNumber = ds.Tables[0].Rows[0]["HMaterNumber"].ToString();
                        oBill.omodel.HUnitID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[0]["HUnitID"]);
                        oBill.omodel.HUnitNumber = ds.Tables[0].Rows[0]["HUnitNumber"].ToString();
                        oBill.omodel.HMaterID2 = oItemSub.HMaterID;
                        oBill.omodel.HPlanQty = oItemSub.HQty;
                        oBill.omodel.HQty = oItemSub.HProQty;
                        oBill.omodel.HPlanBeginDate = Convert.ToDateTime(dt.ToShortDateString().ToString());
                        oBill.omodel.HPlanEndDate = Convert.ToDateTime(dt.ToShortDateString().ToString());
                        oBill.omodel.HExplanation = "";
                        oBill.omodel.HInnerBillNo = "";
                        oBill.omodel.HSupID = 0;
                        oBill.omodel.HWorkShopID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[0]["HDeptID"]);
                        oBill.omodel.HWorkTypeNum = "";
                        oBill.omodel.HProdMaterCode = "";
                        oBill.omodel.HSeOrderBillNo = ds.Tables[0].Rows[0]["HSeOrderBillNo"].ToString();
                        oBill.omodel.HCusShortName = "";
                        oBill.omodel.HCusNeedMaterial = "";
                        oBill.omodel.HPlanSendGoodsDate = dt.ToShortDateString().ToString();
                        oBill.omodel.HProdMaterName = "";
                        oBill.omodel.HCusName = "";
                        oBill.omodel.HWorkRemark = "";
                        oBill.omodel.HImportNote = "";
                        oBill.omodel.HMaterNumber_A = "";
                        oBill.omodel.HMaterNumber_B = "";
                        oBill.omodel.HMaterNumber_C = "";
                        oBill.omodel.HMaterNumber_D = "";
                        oBill.omodel.HProdType = "";
                        oBill.omodel.HMaterShortName = "";
                        oBill.omodel.HMaterIDA = "";
                        oBill.omodel.HMaterIDB = "";
                        oBill.omodel.HMaterIDC = "";
                        oBill.omodel.HMaterIDD = "";
                        oBill.omodel.HICMOInterID = oItemSub.HICMOInterID;
                        oBill.omodel.HICMOEntryID = oItemSub.HICMOEntryID;
                        oBill.omodel.HPicNumVer = "";
                        oBill.omodel.HPicNumAssemble = "";
                        oBill.omodel.HMaterTexture = "";
                        oBill.omodel.HProductNum = "";
                        oBill.omodel.HVerNum = "";
                        oBill.omodel.HPRDORGID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[0]["HPRDORGID"]);
                        oBill.omodel.HBLFlag = false;
                        oBill.omodel.HCusNumber = "";
                        oBill.omodel.HPickLabel = "";
                        oBill.omodel.HPickLabelNumber = "";
                        oBill.omodel.HXTNumber = "";
                        oBill.omodel.HXTModel = "";
                        oBill.omodel.HWorkBillSortNo = "";//!
                        oBill.omodel.HRoutingBillID = oItemSub.HRoutingInterID.ToString();
                        oBill.omodel.HMaterModel = ds.Tables[0].Rows[0]["HMaterModel"].ToString();
                        oBill.omodel.HWidth = 0;
                        oBill.omodel.HWeight = 0;
                        oBill.omodel.HAuxQty = 0;
                        oBill.omodel.HAuxUnit = 0;
                        oBill.omodel.HAuxQty2 = 0;
                        oBill.omodel.HAuxUnit2 = 0;
                        oBill.omodel.HSplitNo = 0;
                        oBill.omodel.HHeight = "";
                        oBill.omodel.HInches = "";
                        oBill.omodel.HAl1Long = "";
                        oBill.omodel.HDensity = "";
                        oBill.omodel.HTela = "";
                        oBill.omodel.HUnderTela = "";
                        oBill.omodel.HSizing = "";
                        oBill.omodel.HSellDate = dt.ToShortDateString().ToString();
                        oBill.omodel.HRemark2 = "批量拆分下推";
                        oBill.omodel.HRemark3 = "";
                        oBill.omodel.HEmpID = 0;
                        oBill.omodel.HCusID = 0;
                        oBill.omodel.HColorRemark = "";
                        oBill.omodel.HSplitSumQty = 0;
                        oBill.omodel.HSplitColorQty = 0;
                        oBill.omodel.HMachineLine = "";
                        oBill.omodel.HMainSourceInterID = 0;
                        oBill.omodel.HMainSourceEntryID = 0;
                        oBill.omodel.HMainSourceBillNo = "";
                        oBill.omodel.HOrderLevID = 0;
                        oBill.omodel.HWidth_New = 0;
                        oBill.omodel.HRemark_New = "";
                        oBill.omodel.HWeight_New = 0;
                        oBill.omodel.HPlanOrderProcNo = ds.Tables[0].Rows[0]["HPlanOrderProcNo"].ToString();
                    }
                    //子表赋值
                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                    {
                        Model.ClsSc_ProcessExchangeBillSub oItemSubs = new Model.ClsSc_ProcessExchangeBillSub();
                        oItemSubs.HEntryID = i + 1;
                        oItemSubs.HBillNo_bak = HBillNo;
                        oItemSubs.HCloseMan = "";
                        oItemSubs.HEntryCloseDate = Convert.ToDateTime(dt.ToShortDateString().ToString());
                        oItemSubs.HCloseType = false;
                        oItemSubs.HRemark = "";
                        oItemSubs.HSourceInterID = HICMOInterID;
                        oItemSubs.HSourceEntryID = HICMOEntryID;
                        oItemSubs.HSourceBillNo = HICMOBillNo;
                        oItemSubs.HSourceBillType = "3710";
                        oItemSubs.HRelationQty = 0;
                        oItemSubs.HRelationMoney = 0;
                        oItemSubs.HRelationQty_In = 0;
                        oItemSubs.HRelationQty_Out = 0;
                        oItemSubs.HRelationQty_WWOrder = 0;
                        oItemSubs.HRelationQty_Bad = 0;
                        oItemSubs.HProcNo = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[i]["HProcNo"]);
                        oItemSubs.HProcID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[i]["HProcID"]);
                        oItemSubs.HProcNumber = ds.Tables[0].Rows[i]["HProcNumber"].ToString();
                        oItemSubs.HWorkRemark = "";
                        oItemSubs.HCenterID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[i]["HCenterID"]);
                        oItemSubs.HDeptID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[i]["HDeptID"]);
                        oItemSubs.HDeptNumber = ds.Tables[0].Rows[i]["HDeptNumber"].ToString();
                        oItemSubs.HGroupID = 0;
                        oItemSubs.HGroupNumber = oItemSub.HGroupNumber;
                        oItemSubs.HWorkerID = 0;
                        oItemSubs.HWorkerNumber = "";
                        oItemSubs.HSourceID = 0;
                        oItemSubs.HQty = HProQty;
                        oItemSubs.HTimeUnit = "";
                        oItemSubs.HPlanWorkTimes = 0;
                        oItemSubs.HPlanBeginDate = Convert.ToDateTime(dt.ToShortDateString().ToString());
                        oItemSubs.HPlanEndDate = Convert.ToDateTime(dt.ToShortDateString().ToString());
                        oItemSubs.HRelBeginDate = Convert.ToDateTime(dt.ToShortDateString().ToString());
                        oItemSubs.HRelEndDate = Convert.ToDateTime(dt.ToShortDateString().ToString());
                        oItemSubs.HReadyTime = 0;
                        oItemSubs.HQueueTime = 0;
                        oItemSubs.HMoveTime = 0;
                        oItemSubs.HBeginDayQty = 0;
                        oItemSubs.HBeginFixQty = 0;
                        oItemSubs.HFixWorkDays = 0;
                        oItemSubs.HTrunWorkDays = 0;
                        oItemSubs.HReadyTimes = 0;
                        oItemSubs.HMyWorkDays = 0;
                        oItemSubs.HOutPrice = 0;
                        oItemSubs.HOutMoney = 0;
                        oItemSubs.HPassRate = 0;
                        oItemSubs.HLastProc = "";
                        oItemSubs.HKeyProc = "";
                        oItemSubs.HFstProc = "";
                        oItemSubs.HICMOInterID = HICMOInterID;
                        oItemSubs.HICMOBillNo = HICMOBillNo;
                        oItemSubs.HWWOrderInterID = 0;
                        oItemSubs.HWWOrderEntryID = 0;
                        oItemSubs.HWWOrderBillNo = "";
                        oItemSubs.HReportQty = 0;
                        oItemSubs.HBackProc = false;
                        oItemSubs.HSupID = 0;
                        oItemSubs.HSupFlag = false;
                        oItemSubs.HOverRate = 0;
                        oItemSubs.HMaxQty = 0;
                        oItemSubs.HTechnologyParameter = "";
                        oItemSubs.HProcCheckNote = "";
                        oItemSubs.HPicNum = "";
                        oItemSubs.HMouldNo = "";
                        oItemSubs.HProcWorkNum = "";
                        oItemSubs.HSeOrderInterID = 0;
                        oItemSubs.HSeOrderEntryID = 0;
                        oItemSubs.HSNCtrl = false;
                        oItemSubs.HRoutingBillMainID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[i]["HRoutingID"]);
                        oItemSubs.HRoutingBillEntryID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[i]["HRoutingEntryID"]);
                        oBill.DetailColl.Add(oItemSubs);//添加明细行值
                    }
                    //调用保存方法
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    oBill.DetailColl.Clear();//清空明细行值
                    if (!bResult)
                    {
                        break;
                    }
                }
                if (bResult)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "保存成功!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
                objJsonResult.data = 1;
                return objJsonResult;
            }
        }
        #endregion
        #region[新增时获取表体数据(返工申请单)]
        [Route("Sc_ProcessExchangeBill/GetProcExchangeWorkBackList")]
        [HttpGet]
        public object GetProcExchangeWorkBackList(string HInterID)
        {
            DataSet ds;
            try
            {
                //拆分并过滤出有效数字ID
                var idList = HInterID.Split(',')  // 1. 按逗号分割字符串
                      .Select(s => s.Trim())  // 2. 去除每个元素的空格
                      .Where(s => int.TryParse(s, out _))  // 3. 只保留能转成数字的字符串
                      .ToList();  // 4. 转成List集合
                // 构建安全的 IN 子句
                string inClause = string.Join(",", idList);
                List<object> columnNameList = new List<object>();
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                ds = oCN.RunProcReturn("select * from h_v_Sc_ProcExchWorkBackBillList_Query where 1=1 and hmainid in (" + inClause + ")", "h_v_Sc_ProcExchWorkBackBillList_Query");
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.list = columnNameList;
                objJsonResult.Message = "[0000-1-037]获取信息成功!";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "[0000-1-038]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}