using Gs.Toolbox; using Gs.Toolbox.ApiCore.Abstract.Mvc; using Gs.Toolbox.ApiCore.Common.Mvc; using Gs.Toolbox.ApiCore.Group; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System.Data; using System.Data.SqlClient; using System.Dynamic; using static Gs.Toolbox.UtilityHelper; namespace Gs.Wom.BaoGong { /// /// 报工 /// [ApiGroup(ApiGroupNames.WOM)] public class BaoGongController : IRomteService { private readonly IHttpContextAccessor _http; private readonly string _userCode, _userGuid, _orgFids; public BaoGongController(IHttpContextAccessor httpContextAccessor) { _http = httpContextAccessor; (_userCode, _userGuid, _orgFids) = GetUserGuidAndOrgGuid(_http); } /// /// 读取产线列表 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto> GetLineList([FromBody] dynamic model) { string inCjId = model.inCjId; var lst = new List(); var dset = new DataSet(); SqlParameter[] parameters = { new("@inCjId", inCjId), }; try { dset = DbHelperSQL.RunProcedure("bg_line_list", parameters, "0"); } catch (Exception ex) { LogHelper.Debug(ToString(), ex.Message); } string strMsg = ""; if (dset != null && dset.Tables.Count > 0 && dset.Tables[0].Rows.Count > 0) { lst = dset.Tables[0].TableToDynamicList(); strMsg = dset.Tables[1].Rows[0]["dptName"].ToString(); } return ReturnDto>.QuickReturn(lst, ReturnCode.Success, strMsg); } /// /// 读取工单列表 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto> GetDaaList([FromBody] dynamic model) { string inLineId = model.inLineId; var lst = new List(); var dset = new DataSet(); SqlParameter[] parameters = { new("@inLineId", inLineId), }; try { dset = DbHelperSQL.RunProcedure("bg_daa_list", parameters, "0"); } catch (Exception ex) { LogHelper.Debug(ToString(), ex.Message); } if (dset != null && dset.Tables.Count > 0 && dset.Tables[0].Rows.Count > 0) lst = dset.Tables[0].TableToDynamicList(); return ReturnDto>.QuickReturn(lst, ReturnCode.Success, "读取成功!"); } /// /// 读取员工列表 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto> GetYgList([FromBody] dynamic model) { string inCjId = model.inCjId; var lst = new List(); var dset = new DataSet(); SqlParameter[] parameters = { new("@inCjId", inCjId), }; try { dset = DbHelperSQL.RunProcedure("bg_yg_list", parameters, "0"); } catch (Exception ex) { LogHelper.Debug(ToString(), ex.Message); } if (dset != null && dset.Tables.Count > 0 && dset.Tables[0].Rows.Count > 0) lst = dset.Tables[0].TableToDynamicList(); return ReturnDto>.QuickReturn(lst, ReturnCode.Success, "读取成功!"); } /// /// 读取工单信息 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto GetModel([FromBody] dynamic model) { string inDaaGuid = model.inDaaGuid.ToString(); dynamic m = new ExpandoObject(); m.list = new List(); SqlParameter[] parameters = { new("@inDaaGuid", inDaaGuid), new("@inUserGuid", _userGuid) }; var dset = new DataSet(); try { dset = DbHelperSQL.RunProcedure("bg_daa_info", parameters, "0"); if (dset != null && dset.Tables.Count > 0 && dset.Tables[0].Rows.Count > 0) { var dr = dset.Tables[0].Rows[0]; m = dr.RowToDynamic(); var _tb = dset.Tables[1].TableToDynamicList(); m.list = _tb; } } catch (Exception ex) { LogHelper.Debug(ToString(), ex.Message); } if (m != null) return ReturnDto.QuickReturn(m, ReturnCode.Success, "读取成功!"); return ReturnDto.QuickReturn(m, ReturnCode.Default, "读取失败!"); } /// /// 打码报工,先调用 rpt_daa,再调用 prc_pda_scbg /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto DaaDmbg([FromBody] dynamic model) { string _inEdtUserGuid = _userGuid; string _inOrderGuid = model.inDaaGuid.ToString(); string _isDesign = "0";//100重打,1是设计 string _in4 = "1";//扩展用,张数(打印张数) string _in5 = model.bzsl.ToString();//扩展用,数量(内包装数量) dynamic m = new ExpandoObject(); m.outSum = -1; m.outMsg = ""; SqlParameter[] parameters = { new("@inOrderGuid", _inOrderGuid), new("@isDesign", _isDesign), new("@in1", ""), new("@in2", ""), new("@in3", 0), new("@in4", _in4), new("@in5", _in5), new("@in6", "") }; var dset = new DataSet(); try { //1先调用 rpt_daa dset = DbHelperSQL.RunProcedure("rpt_daa", parameters, "0"); if (dset != null && dset.Tables.Count > 0 && dset.Tables[0].Rows.Count > 0) { if (dset.Tables.Count != 3) { m.outSum = -1; m.outMsg = dset.Tables[0].Rows[0]["msgTxt"].ToString(); return ReturnDto.QuickReturn(m, ReturnCode.Default, m.outMsg); } #region 再调用 prc_pda_scbg string pi_barcode = dset.Tables[1].Rows[0]["ITEM_BARCODE"].ToString(); using (var conn = new SqlConnection(DbHelperSQL.strConn)) { using (var cmd = new SqlCommand("prc_pda_scbg", conn)) { try { conn.Open(); cmd.CommandType = CommandType.StoredProcedure; SqlParameter[] parameters2 = { new("@pi_user", _userCode), new("@pi_barcode", pi_barcode), new("@pi_inp1", ""), new("@pi_inp2", ""), new("@po_outMsg", SqlDbType.NVarChar, 300), new("@po_outSum", SqlDbType.NVarChar, 300), new("@po_womInBarSum",SqlDbType.NVarChar, 300), }; parameters2[4].Direction = ParameterDirection.Output; parameters2[5].Direction = ParameterDirection.Output; parameters2[6].Direction = ParameterDirection.Output; foreach (var parameter in parameters2) cmd.Parameters.Add(parameter); cmd.ExecuteNonQuery(); m.outMsg = parameters2[4].Value.ToString(); m.outSum = int.Parse(parameters2[5].Value.ToString()); } catch (Exception ex) { LogHelper.Debug(ToString(), "prc_pda_scbg error:" + ex.Message); m.outMsg = ex.Message; return ReturnDto.QuickReturn(m, ReturnCode.Default, ex.Message); } finally { conn.Close(); } } } #endregion } return ReturnDto.QuickReturn(m, ReturnCode.Default, "打码失败!"); } catch (Exception ex) { m.outSum = -1; m.outMsg = ex.Message.ToString(); LogHelper.Debug(ToString(), ex.Message); } return ReturnDto.QuickReturn(m, ReturnCode.Default, m.outMsg); } } }