zgq
2021-04-22 d9e96c992590f0453e85cd551941741271cfa6f5
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>
@@ -860,6 +896,179 @@
        }
        /// <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;
            }
        }
     
    }
}