chenhaozhe
2025-10-22 549df1cac1529f4fc9b5d9b64e27de5d5d8b8951
WebAPI/Controllers/»ªÔ¶datamapping/QC_CheckNote_PNL_TempController.cs
@@ -142,7 +142,7 @@
                int HPosition_x = list[0].HPosition_x;
                int HPosition_y = list[0].HPosition_y;
                string HCheckProc = list[0].HCheckProc;
                short HPageIndex = list[0].HPageIndex;
                string HPageIndex = list[0].HPageIndex;
                string HBadReason = list[0].HBadReason;
                string HMaker = list[0].HMaker;
                DateTime HMakeDate = list[0].HMakeDate;
@@ -181,16 +181,16 @@
                }
                //=========================================================
                DataSet ds_exits = oCN.RunProcReturn("select HBarCode from QC_CheckNote_PNL_Temp where HSetNo = N'" + HSetNo + "'" +
                    "AND HPCSNo = N'" + HPCSNo + "'", "QC_CheckNote_PNL_Temp");
                if (ds_exits.Tables[0].Rows.Count > 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "SET编号或PCS编号已存在!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //DataSet ds_exits = oCN.RunProcReturn("select HBarCode from QC_CheckNote_PNL_Temp where HSetNo = N'" + HSetNo + "'" +
                //    "AND HPCSNo = N'" + HPCSNo + "'", "QC_CheckNote_PNL_Temp");
                //if (ds_exits.Tables[0].Rows.Count > 0)
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "SET编号或PCS编号已存在!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                StringBuilder sb = new StringBuilder();
                sb.Append("Insert Into QC_CheckNote_PNL_Temp(HBarCode, HSetNo, HPCSNo, HPosition_x,HPosition_y,HCheckProc,HPageIndex ,HBadReason, HMaker, HMakeDate) Values(");
@@ -203,7 +203,7 @@
                sb.Append("N'" + HPageIndex + "',");
                sb.Append("N'" + HBadReason + "',");
                sb.Append("N'" + HMaker + "',");
                sb.Append("N'" + HMakeDate + "')");
                sb.Append("N'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "')");
                string sql = sb.ToString();
                sb.Clear();
@@ -232,6 +232,130 @@
                    return objJsonResult;
                }
                //=========================================================
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "新增成功!";
                //objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.Message;
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region æ‰¹é‡æ·»åŠ QC_CheckNote_PNL_Temp
        [Route("QC_CheckNote_PNL_TempController/BatchAddBill")]
        [HttpPost]
        public object BatchAddBill([FromBody] JObject oMain)
        {
            try
            {
                var _value = oMain["oMain"].ToString();
                string msg1 = _value.ToString();
                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg2 = sArray[0].ToString();
                string msg3 = sArray[1].ToString();//当前人
                //判断权限
                if (!ClsPub.Security_Log("QC_CheckNote_PNL_Temp_Edit", 1, false, msg3))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有修改权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //反序列化
                //msg2 = "[" + msg2.ToString() + "]";
                List<Models.ClsQC_CheckNote_PNL_Temp> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.ClsQC_CheckNote_PNL_Temp>>(msg2);
                oCN.BeginTran();
                for (int i = 0; i < list.Count; i++)
                {
                    int HItemID = list[i].HItemID;
                    string HBarCode = list[i].HBarCode;
                    string HSetNo = list[i].HSetNo;
                    string HPCSNo = list[i].HPCSNo;
                    int HPosition_x = list[i].HPosition_x;
                    int HPosition_y = list[i].HPosition_y;
                    string HCheckProc = list[i].HCheckProc;
                    string HPageIndex = list[i].HPageIndex;
                    string HBadReason = list[i].HBadReason;
                    string HMaker = list[i].HMaker;
                    DateTime HMakeDate = list[i].HMakeDate;
                    DataSet ds_editCheck;
                    //保存前控制=========================================
                    ds_editCheck = oCN.RunProcReturn("Exec h_p_QC_CheckNote_PNL_Temp_BeforeSaveCtrl " + msg3 + ",'1'", "h_p_QC_CheckNote_PNL_Temp_BeforeSaveCtrl");
                    if (ds_editCheck == null)
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存前判断失败!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (DBUtility.ClsPub.isStrNull(ds_editCheck.Tables[0].Rows[0]["HBack"]) != "0")
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //=========================================================
                    StringBuilder sb = new StringBuilder();
                    sb.Append("Insert Into QC_CheckNote_PNL_Temp(HBarCode, HSetNo, HPCSNo, HPosition_x,HPosition_y,HCheckProc,HPageIndex ,HBadReason, HMaker, HMakeDate) Values(");
                    sb.Append("N'" + HBarCode + "',");
                    sb.Append("N'" + HSetNo + "',");
                    sb.Append("N'" + HPCSNo + "',");
                    sb.Append("N'" + HPosition_x + "',");
                    sb.Append("N'" + HPosition_y + "',");
                    sb.Append("N'" + HCheckProc + "',");
                    sb.Append("N'" + HPageIndex + "',");
                    sb.Append("N'" + HBadReason + "',");
                    sb.Append("N'" + HMaker + "',");
                    sb.Append("N'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "')");
                    string sql = sb.ToString();
                    sb.Clear();
                    ds = oCN.RunProcReturn(sql, "QC_CheckNote_PNL_Temp");
                    //保存后控制=========================================
                    ds_editCheck = oCN.RunProcReturn("Exec h_p_QC_CheckNote_PNL_Temp_AfterSaveCtrl " + msg3 + ",'1'", "h_p_QC_CheckNote_PNL_Temp_AfterSaveCtrl");
                    if (ds_editCheck == null)
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存后判断失败!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (DBUtility.ClsPub.isStrNull(ds_editCheck.Tables[0].Rows[0]["HBack"]) != "0")
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "" + DBUtility.ClsPub.isStrNull(ds_editCheck.Tables[0].Rows[0]["HBackRemark"]);
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //=========================================================
                }
                oCN.Commit();
                objJsonResult.code = "1";
@@ -362,7 +486,7 @@
                int HPosition_x = list[0].HPosition_x;
                int HPosition_y = list[0].HPosition_y;
                string HCheckProc = list[0].HCheckProc;
                short HPageIndex = list[0].HPageIndex;
                string HPageIndex = list[0].HPageIndex;
                string HBadReason = list[0].HBadReason;
                string HMaker = list[0].HMaker;
                DateTime HMakeDate = list[0].HMakeDate;
@@ -400,16 +524,16 @@
                }
                //=========================================================
                DataSet ds_exits = oCN.RunProcReturn("select HBarCode from QC_CheckNote_PNL_Temp where HSetNo = N'" + HSetNo + "'" +
                    "AND HPCSNo = N'" + HPCSNo + "' AND HItemID != " + HItemID, "QC_CheckNote_PNL_Temp");
                if (ds_exits.Tables[0].Rows.Count > 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "SET编号或PCS编号已存在!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //DataSet ds_exits = oCN.RunProcReturn("select HBarCode from QC_CheckNote_PNL_Temp where HSetNo = N'" + HSetNo + "'" +
                //    "AND HPCSNo = N'" + HPCSNo + "' AND HItemID != " + HItemID, "QC_CheckNote_PNL_Temp");
                //if (ds_exits.Tables[0].Rows.Count > 0)
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "SET编号或PCS编号已存在!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                StringBuilder sb = new StringBuilder();
                sb.Append("Update QC_CheckNote_PNL_Temp set ");
@@ -422,7 +546,9 @@
                sb.Append("HCheckProc=N'" + HCheckProc + "',");
                sb.Append("HBadReason=N'" + HBadReason + "',");
                sb.Append("HMaker=N'" + HMaker + "',");
                sb.Append("HMakeDate=N'" + HMakeDate + "'");
                sb.Append("HMakeDate=N'" + HMakeDate + "',");
                sb.Append("HModifyMan=N'" + msg3 + "',");
                sb.Append("HModifyDate=getdate()");
                sb.Append(" Where HItemID = " + HItemID);
                string sql = sb.ToString();
@@ -471,6 +597,190 @@
                return objJsonResult;
            }
        }
    #endregion
        #endregion
        #region å®¡æ ¸PNL检验信息
        [Route("QC_CheckNote_PNL_TempController/CheckBill")]
        [HttpGet]
        public object CheckBill(int HInterID, string user, int IsAudit)
        {
            try
            {
                //审核权限
                if (!DBUtility.ClsPub.Security_Log_second("QC_CheckNote_PNL_Temp_Check", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "审核失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                var ds = oCN.RunProcReturn("select top 1 HCheckMan from QC_CheckNote_PNL_Temp  where HItemID=" + HInterID, "QC_CheckNote_PNL_Temp");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    if (IsAudit == 0)  //审核判断
                    {
                        if (string.IsNullOrEmpty(ds.Tables[0].Rows[0]["HCheckMan"].ToString()) != true)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已审核!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    if (IsAudit == 1) //反审核判断
                    {
                        if (string.IsNullOrEmpty(ds.Tables[0].Rows[0]["HCheckMan"].ToString()) == true)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据未审核!不需要反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据不存在!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();
                if (IsAudit == 0)  //审核判断
                {
                    //审核前控制=========================================
                    ds = oCN.RunProcReturn("Exec h_p_QC_CheckNote_PNL_BeforeCheckCtrl " + HInterID + ",'" + user + "'", "h_p_QC_CheckNote_PNL_BeforeCheckCtrl");
                    if (ds == null)
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "审核前判断失败!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //=========================================================
                    oCN.RunProc("update QC_CheckNote_PNL_Temp set HCheckMan='" + user + "',HCheckDate=getdate() where HItemID=" + HInterID);
                    //审核后控制=========================================
                    DataSet ds2 = oCN.RunProcReturn("Exec h_p_QC_CheckNote_PNL_AfterCheckCtrl " + HInterID + ",'" + user + "'", "h_p_QC_CheckNote_PNL_AfterCheckCtrl");
                    if (ds2 == null)
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "审核后判断失败!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //=========================================================
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "审核成功";
                    objJsonResult.data = null;
                }
                if (IsAudit == 1) //反审核判断
                {
                    //反审核前控制=========================================
                    ds = oCN.RunProcReturn("Exec h_p_QC_CheckNote_PNL_BeforeUnCheckCtrl " + HInterID + ",'" + user + "'", "h_p_QC_CheckNote_PNL_BeforeUnCheckCtrl");
                    if (ds == null)
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "审核前判断失败!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //=========================================================
                    oCN.RunProc("update QC_CheckNote_PNL_Temp set HCheckMan='',HCheckDate=null where HItemID=" + HInterID);
                    //反审核后控制=========================================
                    DataSet ds2 = oCN.RunProcReturn("Exec h_p_QC_CheckNote_PNL_AfterUnCheckCtrl " + HInterID + ",'" + user + "'", "h_p_QC_CheckNote_PNL_AfterUnCheckCtrl");
                    if (ds2 == null)
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "审核后判断失败!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //=========================================================
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "反审核成功";
                    objJsonResult.data = null;
                }
                oCN.Commit();
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}