1
duhe
2024-01-29 2c94ac81135dea89de381ba6985fc48fa3e800b6
WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs
@@ -429,7 +429,7 @@
        //}
        //#endregion
        #region 工艺路线审核/反审核功能
        #region 工序返工申请单 审核/反审核功能
        [Route("Sc_ProcExchWorkBackBill/CheckSc_ProcExchWorkBackBill")]
        [HttpGet]
        public object CheckSc_ProcExchWorkBackBill(string HInterID, int Type, string user)
@@ -477,8 +477,32 @@
                            return objJsonResult;
                        }
                    }
                    //审核前控制
                    string HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
                    sql = "exec h_p_Sc_ProcExchWorkBackBill_BeforeCheckCtrl " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'";
                    ds = oCN.RunProcReturn(sql, "h_p_Sc_ProcExchWorkBackBill_BeforeCheckCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //审核单据
                    if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                    if (!BillOld.CheckBill(Int64.Parse(HInterID), HBillNo, "h_p_Sc_ProcExchWorkBackBill_AfterCheckCtrl", user, ref ClsPub.sExeReturnInfo))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
@@ -504,8 +528,31 @@
                            return objJsonResult;
                        }
                    }
                    //反审核前控制
                    string HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
                    sql = "exec h_p_Sc_ProcExchWorkBackBill_BeforeUnCheckCtrl " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'";
                    ds = oCN.RunProcReturn(sql, "h_p_Sc_ProcExchWorkBackBill_BeforeUnCheckCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "反审核失败!原因:反审核前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "反审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //反审核单据
                    if (BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                    if (BillOld.AbandonCheck(Int64.Parse(HInterID), HBillNo, "h_p_Sc_ProcExchWorkBackBill_AfterUnCheckCtrl", user, ref ClsPub.sExeReturnInfo))
                    {
                        //SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                        //DataSet DSet = oCn.RunProcReturn("exec h_p_Sc_ICMOBill_AbandonCheckCtrl " + int.Parse(HInterID), "h_p_Sc_ICMOBill_AbandonCheckCtrl");
@@ -678,7 +725,8 @@
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                if (ds.Tables.Count == 2) {
                if (ds.Tables.Count == 2)
                {
                    int[] num2 = new int[ds.Tables[0].Columns.Count];//记录每一列获取有值的行数
@@ -776,7 +824,57 @@
                    ds.Tables.Clear();
                    ds.Tables.Add(dt1);
                    ds.Tables.Add(dt2);
                }
                }
                else {
                    int[] num2 = new int[ds.Tables[0].Columns.Count];//记录每一列获取有值的行数
                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                    {
                        int num = 0;//记录没有数据行的列数
                        int[] num3 = new int[ds.Tables[0].Columns.Count];//记录每一列没有数据的行数
                        DataRow dtrow = dt1.NewRow();
                        for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
                        {
                            int num1 = 0;//记录有多少次满足不为空的条件
                            DataColumn col = ds.Tables[0].Columns[j];
                            for (int k = 0; k < ds.Tables[0].Rows.Count; k++)
                            {
                                DataRow item = ds.Tables[0].Rows[k];
                                if (item[col.ColumnName.ToString()].ToString() != "")
                                {
                                    num1 += 1;
                                    if (num1 > num2[j])
                                    {
                                        dtrow[col.ColumnName.ToString()] = item[col.ColumnName.ToString()].ToString();
                                        num2[j] += 1;
                                        break;
                                    }
                                    else
                                    {
                                        num3[j] += 1;
                                    }
                                }
                                else
                                {
                                    num3[j] += 1;
                                }
                                if (num3[j] == ds.Tables[0].Rows.Count)
                                {
                                    num += 1;
                                }
                            }
                        }
                        if (num == ds.Tables[0].Columns.Count)
                        {
                            break;
                        }
                        dt1.Rows.Add(dtrow);
                    }
                    ds.Tables.Clear();
                    ds.Tables.Add(dt1);
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;