1
yangle
2025-02-28 b047a149650c16a6b0c0e412c0dfa08a064ff0f5
WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
@@ -83,7 +83,7 @@
                return new ApiResult<DataSet> { code = -1, msg = "ID不能为空" };
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
            var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Sc_MESBeginWorkBillList_NEW  where hmainid= " + HID + " ", "h_v_Sc_MESBeginWorkBillList_NEW");
            var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Sc_MESBeginWorkBillList_Edit  where hmainid= " + HID + " ", "h_v_Sc_MESBeginWorkBillList_Edit");
            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
                return new ApiResult<DataSet> { code = -1, msg = "不存在开工单号" };
@@ -634,6 +634,92 @@
        }
        #endregion
        #region 报工平台开工单保存前系统验证
        [Route("Sc_MESBeginWorkBill/Xt_AllowLoadData")]
        [HttpGet]
        public object Xt_AllowLoadData(string HKey)
        {
            try
            {
                ClsXt_SystemParameter oClsXt_SystemParameter = new ClsXt_SystemParameter();
                string Key = "N";
                string sCapName = oClsXt_SystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);
                if (sCapName.Contains("杭州斯莫尔"))
                {
                    Key = oClsXt_SystemParameter.GetSingleSystemParameter(HKey, ref DBUtility.ClsPub.sExeReturnInfo);
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                objJsonResult.data = null;
                objJsonResult.Verify = Key;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = e.Message;
                objJsonResult.data = 1;
                return objJsonResult;
            }
        }
        #endregion
        #region 报工平台开工单流水号回车获取条码信息
        [Route("Sc_MESBeginWorkBill/txtHBarCode_KeyDown")]
        [HttpGet]
        public object txtHBarCode_KeyDown(string HBarCode, string HSourceInterID)
        {
            try
            {
                if (HBarCode == null || HBarCode.Equals(""))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "空白码,条形码不能为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn("exec h_p_Sc_MESBeginWorkBill_AllowLoadData '"+ HBarCode + "',"+ HSourceInterID, "h_p_Sc_MESBeginWorkBill_AllowLoadData");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "未查询到条码信息!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
                else if (ds.Tables.Count ==1)
                {
                    objJsonResult.code = ds.Tables[0].Rows[0][0].ToString();
                    objJsonResult.count = 0;
                    objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString();
                    objJsonResult.data = ds;
                    return objJsonResult;
                }
                objJsonResult.code = ds.Tables[0].Rows[0][0].ToString();
                objJsonResult.count = 1;
                objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString();
                objJsonResult.data = ds;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 报工平台开工单保存/编辑
        /// <summary>
        /// 开工单
@@ -649,8 +735,9 @@
            string msg1 = _value.ToString();
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg2 = sArray[0].ToString();
            string UserName = sArray[1].ToString();
            string refSav = sArray[2].ToString();
            string msg3 = sArray[1].ToString();
            string UserName = sArray[2].ToString();
            string refSav = sArray[3].ToString();
            DBUtility.ClsPub.CurUserName = UserName;
            //保存权限
            if (!DBUtility.ClsPub.Security_Log_second("MES_MESBeginWorkBill_Edit", 1, false, DBUtility.ClsPub.CurUserName))
@@ -673,6 +760,8 @@
                objJsonResult.data = null;
                return objJsonResult;
            }
            LogService.Write("开工:1"+ msg1);
            ListModels oListModels = new ListModels();
            try
@@ -762,12 +851,34 @@
                    oBill.omodel = oItem;
                }
                // 表体数据
                //按 },{来拆分数组 //去掉【和】
                msg3 = msg3.Substring(1, msg3.Length - 2);
                msg3 = msg3.Replace("\\", "");
                msg3 = msg3.Replace("\n", "");  //\n
                List<Models.ClsSc_MESBeginWorkBillSub_RelationBill> ls = new List<Models.ClsSc_MESBeginWorkBillSub_RelationBill>();
                ls = oListModels.getObjectByJson_Sc_MESBeginWorkBillSub_RelationBill(msg3);
                int i = 0;
                foreach (Models.ClsSc_MESBeginWorkBillSub_RelationBill oItemSub in ls)
                {
                    i++;
                    oItemSub.HEntryID = i;
                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                    oItemSub.HCloseType = false;   //关闭类型
                    oBill.DetailCol2.Add(oItemSub);
                }
                LogService.Write("开工:2" + msg1);
                //保存
                //保存完毕后处理
                bool bResult;
                if (oBill.omodel.HInterID == 0)
                {
                    LogService.Write("开工:2.1" + msg1);
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    if (bResult)
                    {
@@ -776,14 +887,16 @@
                        string sReturn = "";
                        if (oSystemParameter.ShowBill(ref sReturn) == true)
                        {
                            if (oSystemParameter.omodel.Sc_ICMOBillWorkQtyStatus_AutoCheck == "Y") //系统参数  自动审核
                            {
                                objJsonResult.Verify = "Y";
                            }
                            else
                            {
                                objJsonResult.Verify = "N";
                            }
                            LogService.Write("开工:2.8");
                            objJsonResult.Verify = "Y";
                            //if (oSystemParameter.omodel.Sc_ICMOBillWorkQtyStatus_AutoCheck == "Y") //系统参数  自动审核
                            //{
                            //    objJsonResult.Verify = "Y";
                            //}
                            //else
                            //{
                            //    objJsonResult.Verify = "N";
                            //}
                        }
                    }
@@ -793,6 +906,9 @@
                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                    objJsonResult.Verify = "N";
                }
                LogService.Write("开工:3" + msg1);
                if (bResult)
                {
@@ -822,6 +938,79 @@
        }
        #endregion
        #region 报工平台开工单 刷卡保存刷卡人
        /// <summary>
        /// 开工单
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        [Route("Sc_MESBeginWorkBill/AddHCardswiper")]
        [HttpPost]
        public object AddHCardswiper([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();
            ListModels oListModels = new ListModels();
            try
            {
                oCN.BeginTran();
                DLL.ClsSc_MESBeginWorkBill oBill = new DLL.ClsSc_MESBeginWorkBill();
                List<Models.ClsSc_MESBeginWorkBillSub> lsmain = new List<Models.ClsSc_MESBeginWorkBillSub>();
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_Sc_MESBeginWorkBillSub(msg2);
                foreach (Models.ClsSc_MESBeginWorkBillSub oItemSub in lsmain)
                {
                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                    oItemSub.HCloseType = false;   //关闭类型
                    oBill.DetailColl.Add(oItemSub);
                }
                ds = oCN.RunProcReturn("select * from Sc_MESBeginWorkBillSub where HInterID<0 order by HInterID", "Sc_MESBeginWorkBillSub");
                string HInterID = "-1";
                if (ds.Tables[0].Rows.Count>0) {
                    HInterID = (int.Parse(ds.Tables[0].Rows[0]["HInterID"].ToString()) - 1).ToString();
                }
                //msg3 = msg3.Substring(1, msg3.Length - 2);
                //msg3 = msg3.Replace("\\", "");
                //msg3 = msg3.Replace("\n", "");  //\n
                //保存
                foreach (Models.ClsSc_MESBeginWorkBillSub oSub in oBill.DetailColl)
                {
                    ds = oCN.RunProcReturn("select * from Sc_MESBeginWorkBillSub where HBillNo_bak='" + oSub.HBillNo_bak + "'", "Sc_MESBeginWorkBillSub");
                    string subSql = "insert into Sc_MESBeginWorkBillSub " +
                        "(HInterID, HEntryID,HBillNo_bak,HCloseMan,HEntryCloseDate,HCloseType, HSourceInterID, HSourceEntryID" +
                        ",HRelationQty,HRelationMoney, HSourceBillNo, HSourceBillType, HRemark,HCardswiperMan,HCardswiperDate,HEmpID) " +
                        "values(" +
                        "'" + HInterID + "','" + (ds.Tables[0].Rows.Count + 1) + "','" + oSub.HBillNo_bak + "','','" + oSub.HEntryCloseDate + "','" + oSub.HCloseType + "','',''," +
                        "0,0,'','','','" + oSub.HCardswiperMan + "',getdate(),'" + oSub.HEmpID + "')";
                    oCN.RunProc(subSql);
                }
                oCN.Commit();
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "保存成功!";
                objJsonResult.data = 1;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = e.Message;
                objJsonResult.data = 1;
                return objJsonResult;
            }
        }
        #endregion
        public DataTable getInfodatanow(string hsoucreID)
        {
            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
@@ -837,7 +1026,14 @@
        {
            try
            {
                ds = new SQLHelper.ClsCN().RunProcReturn("select * from Sc_ICMOBillStatus_Tmp" + sWhere, "Sc_ICMOBillStatus_Tmp");
                Dictionary<object, object> dic = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<object, object>>(sWhere);
                string HSourceID = dic["HSourceID"].ToString();
                string HICMOBillNo = dic["HICMOBillNo"].ToString();
                string HInterID = dic["HInterID"].ToString();
                string Type = dic["type"].ToString();
                ds = new SQLHelper.ClsCN().RunProcReturn("exec h_p_IpadIndexButton  '"+ HSourceID + "','" + HICMOBillNo + "','" + HInterID + "','" + Type + "'", "h_p_IpadIndexButton");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    objJsonResult.code = "1";
@@ -1077,7 +1273,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!";
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
@@ -1379,6 +1575,46 @@
        #endregion
        #region  报工平台检验取样单弹窗查找数据
        [Route("Sc_MESBeginWorkBill/GetQC_TakeSampleCheckBill")]
        [HttpGet]
        public object GetQC_TakeSampleCheckBill(string HSourceInterID, string HSourceEntryID, string HSourceBillNo, string HSourceBillType)
        {
            try
            {
                //根据选择资源ID获取当前生产工单、责任人
                ds = oCN.RunProcReturn("exec h_p_GetQC_TakeSampleCheckBill @HSourceInterID=" + HSourceInterID + ",@HSourceEntryID=" + HSourceEntryID + ",@HSourceBillNo='" + HSourceBillNo + "',@HSourceBillType='" + HSourceBillType + "'", "h_p_GetQC_TakeSampleCheckBill");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "获取资源绑定数据成功!";
                    objJsonResult.data = ds;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "暂无资源绑定!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = e.Message.ToString();
                objJsonResult.data = null;
            }
            return objJsonResult;
        }
        #endregion
    }