|
|
@@ -12,6 +12,7 @@
|
|
|
using System;
|
|
|
using System.Collections;
|
|
|
using System.Data;
|
|
|
+using System.Linq;
|
|
|
using System.ServiceModel;
|
|
|
using System.ServiceModel.Activation;
|
|
|
|
|
|
@@ -22,10 +23,10 @@ using Dongke.IBOSS.PRD.Basics.DataAccess;
|
|
|
using Dongke.IBOSS.PRD.Basics.Library;
|
|
|
using Dongke.IBOSS.PRD.Service.DataModels;
|
|
|
using Dongke.IBOSS.PRD.Service.PDAModuleLogic;
|
|
|
-using Dongke.IBOSS.PRD.Service.PMModuleLogic;
|
|
|
+using Dongke.IBOSS.PRD.Service.PMModuleLogic;
|
|
|
using Dongke.IBOSS.PRD.Service.SmartDeviceService;
|
|
|
using Dongke.IBOSS.PRD.WCF.DataModels;
|
|
|
-
|
|
|
+using Newtonsoft.Json.Linq;
|
|
|
using Oracle.ManagedDataAccess.Client;
|
|
|
|
|
|
namespace Dongke.IBOSS.PRD.WCF.ExHGS3QRS
|
|
|
@@ -595,6 +596,806 @@ namespace Dongke.IBOSS.PRD.WCF.ExHGS3QRS
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
+ #region 三水自动注浆绑码对接贺祥
|
|
|
+ /// <summary>
|
|
|
+ /// 自动注浆绑码对接贺祥
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="groutingLineCode"></param>
|
|
|
+ /// <param name="mouldCode"></param>
|
|
|
+ /// <param name="userCode"></param>
|
|
|
+ /// <param name="groutingDateStr"></param>
|
|
|
+ /// <param name="createTimeStr"></param>
|
|
|
+ /// <param name="barcode"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public string AddGroutingData_HX(
|
|
|
+ string groutingLineCode,
|
|
|
+ string mouldCode,
|
|
|
+ string userCode,
|
|
|
+ string groutingDateStr,
|
|
|
+ string barcode)
|
|
|
+ {
|
|
|
+ //修正参数,去掉多余的特殊字符
|
|
|
+ barcode = barCodeFix(barcode);
|
|
|
+
|
|
|
+ //返回JSON数据格式
|
|
|
+ JObject returnMessage = new JObject(
|
|
|
+ new JProperty("success", true),
|
|
|
+ new JProperty("message", "自动注浆绑码成功!"),
|
|
|
+ new JProperty("groutingLineCode", groutingLineCode)
|
|
|
+ );
|
|
|
+
|
|
|
+ string inputCode = $" groutingLineCode:{groutingLineCode} mouldCode:{mouldCode} userCode:{userCode} groutingDateStr:{groutingDateStr} barcode:{barcode}";
|
|
|
+
|
|
|
+ try
|
|
|
+ {
|
|
|
+ //验证用户
|
|
|
+ #region 验证用户 并配置参数 sUserInfo
|
|
|
+ DataTable userInfo = CheckUserCode(userCode);
|
|
|
+ if (userInfo == null)
|
|
|
+ {
|
|
|
+ OutputLog.TraceLog(LogPriority.Warning,
|
|
|
+ this.ToString(),
|
|
|
+ System.Reflection.MethodBase.GetCurrentMethod().Name,
|
|
|
+ " userInfo is null " + inputCode,
|
|
|
+ LocalPath.LogExePath + "SmartDevice\\");
|
|
|
+ returnMessage["success"] = false;
|
|
|
+ returnMessage["message"] = "用户信息不存在";
|
|
|
+ return returnMessage.ToString();
|
|
|
+ }
|
|
|
+ SUserInfo sUserInfo = new SUserInfo();
|
|
|
+ sUserInfo.AccountID = Convert.ToInt32(userInfo.Rows[0]["AccountID"]);
|
|
|
+ sUserInfo.AccountCode = userInfo.Rows[0]["AccountCode"] + "";
|
|
|
+ sUserInfo.UserID = Convert.ToInt32(userInfo.Rows[0]["userid"]);
|
|
|
+ sUserInfo.UserCode = userCode;
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ //验证成型线等信息-注浆
|
|
|
+ ServiceResultEntity sre = AddGroutingLineDetail(groutingLineCode, mouldCode, groutingDateStr, barcode, sUserInfo);
|
|
|
+
|
|
|
+ if (sre.Status == Constant.ServiceResultStatus.NoSearchResults)
|
|
|
+ {
|
|
|
+ OutputLog.TraceLog(LogPriority.Warning,
|
|
|
+ this.ToString(),
|
|
|
+ System.Reflection.MethodBase.GetCurrentMethod().Name,
|
|
|
+ " groutdata is error " + inputCode,
|
|
|
+ LocalPath.LogExePath + "SmartDevice\\");
|
|
|
+ returnMessage["success"] = false;
|
|
|
+ returnMessage["message"] = sre.Message;
|
|
|
+ return returnMessage.ToString();
|
|
|
+ }
|
|
|
+
|
|
|
+ //返回正常结果
|
|
|
+ return returnMessage.ToString();
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ OutputLog.TraceLog(LogPriority.Error,
|
|
|
+ this.ToString(),
|
|
|
+ System.Reflection.MethodBase.GetCurrentMethod().Name,
|
|
|
+ inputCode + ex.ToString(),
|
|
|
+ LocalPath.LogExePath);
|
|
|
+ returnMessage["success"] = false;
|
|
|
+ returnMessage["message"] = "MES系统异常";
|
|
|
+ return returnMessage.ToString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 验证连接信息
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="barcode"></param>
|
|
|
+ /// <param name="sUserInfo"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public static DataTable CheckUserCode(string usercode)
|
|
|
+ {
|
|
|
+ IDBConnection con = ClsDbFactory.CreateDBConnection(Dongke.IBOSS.PRD.Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
|
|
|
+ try
|
|
|
+ {
|
|
|
+ con.Open();
|
|
|
+
|
|
|
+ string sqlString = "SELECT a.accountid, a.accountcode, u.userid, u.usercode, u.username\n" +
|
|
|
+ " FROM tp_mst_user u\n" +
|
|
|
+ " INNER JOIN tp_mst_account a\n" +
|
|
|
+ " ON a.accountid = u.accountid\n" +
|
|
|
+ " WHERE u.valueflag = '1'\n" +
|
|
|
+ " AND u.usercode = :usercode";
|
|
|
+
|
|
|
+ OracleParameter[] paras = new OracleParameter[]
|
|
|
+ {
|
|
|
+ new OracleParameter(":usercode",OracleDbType.Varchar2, usercode,ParameterDirection.Input),
|
|
|
+ };
|
|
|
+ DataTable userInfo = con.GetSqlResultToDt(sqlString, paras);
|
|
|
+
|
|
|
+ if (userInfo == null || userInfo.Rows.Count == 0)
|
|
|
+ {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ return userInfo;
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ throw ex;
|
|
|
+ }
|
|
|
+ finally
|
|
|
+ {
|
|
|
+ if (con.ConnState == ConnectionState.Open)
|
|
|
+ {
|
|
|
+ con.Close();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 注浆
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="lineCode"></param>
|
|
|
+ /// <param name="mouldCode"></param>
|
|
|
+ /// <param name=""></param>
|
|
|
+ /// <param name="groutingData"></param>
|
|
|
+ /// <param name="createTimeStr"></param>
|
|
|
+ /// <param name="barcode"></param>
|
|
|
+ /// <param name="highNum"></param>
|
|
|
+ /// <param name="tbInfo"></param>
|
|
|
+ /// <param name="sUserInfo"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public static ServiceResultEntity AddGroutingLineDetail(string lineCode, string mouldCode, string groutingData, string barcode, SUserInfo sUserInfo)
|
|
|
+ {
|
|
|
+ ServiceResultEntity sre = new ServiceResultEntity();
|
|
|
+ sre.Data = new DataSet();
|
|
|
+ sre.Status = Constant.ServiceResultStatus.Success;
|
|
|
+ IDBTransaction conn = ClsDbFactory.CreateDBTransaction(Dongke.IBOSS.PRD.Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
|
|
|
+ string sqlStr = "";
|
|
|
+ int result = -1;
|
|
|
+ int classesSettingId = -1;
|
|
|
+ string groutingBatchNoBegin = "";
|
|
|
+ int seqGroutingDailyDetailID = 0;
|
|
|
+ int mainseqGroutingDailyDetailID = 0;
|
|
|
+ try
|
|
|
+ {
|
|
|
+ conn.Connect();
|
|
|
+ //主成型线编码
|
|
|
+ string mainLineCode = lineCode;
|
|
|
+ string mainMouldCode = mouldCode;
|
|
|
+ DataTable slaveLines = null;
|
|
|
+ //多条成型线绑定注浆(成型线组) 20260313
|
|
|
+ int spm33value = Service.PMModuleService.PMModuleLogic.getSystemSet(conn, "S_PM_033", sUserInfo);
|
|
|
+ if (spm33value == 1)
|
|
|
+ {
|
|
|
+ // 根据主线编码 → 查询数据库 → 拿到辅成型线编码
|
|
|
+ slaveLines = conn.GetSqlResultToDt($@"
|
|
|
+ SELECT GL.GROUTINGLINECODE ,GL.GROUTINGLINEID,GLD.GROUTINGMOULDCODE,
|
|
|
+ CASE WHEN GL.H_LINEINDEX >1 THEN '1' END AS HLINEFLAG,0 AS GROUTINGDAILYDETAILID
|
|
|
+ FROM TP_PC_GROUTINGLINE GL
|
|
|
+ LEFT JOIN TP_PC_GROUTINGLINEDETAIL GLD ON GL.GROUTINGLINEID = GLD.GROUTINGLINEID
|
|
|
+ WHERE (GL.H_LINECODE = '{mainLineCode}' OR GL.GroutingLineCode = '{mainLineCode}' )
|
|
|
+ AND GL.VALUEFLAG = 1
|
|
|
+ AND GLD.VALUEFLAG = 1
|
|
|
+ AND (GLD.GROUTINGMOULDCODE = '{mouldCode}' OR GLD.GROUTINGMOULDCODE = GL.GROUTINGLINECODE || '-'||'{mouldCode.Split('-').Last()}')
|
|
|
+ ORDER BY GROUTINGLINECODE ASC
|
|
|
+ ");
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ slaveLines = conn.GetSqlResultToDt($@"
|
|
|
+ SELECT GL.GROUTINGLINECODE ,GL.GROUTINGLINEID,GLD.GROUTINGMOULDCODE,
|
|
|
+ '' AS HLINEFLAG,0 AS GROUTINGDAILYDETAILID
|
|
|
+ FROM TP_PC_GROUTINGLINE GL
|
|
|
+ LEFT JOIN TP_PC_GROUTINGLINEDETAIL GLD ON GL.GROUTINGLINEID = GLD.GROUTINGLINEID
|
|
|
+ WHERE GL.GroutingLineCode = '{mainLineCode}'
|
|
|
+ AND GL.VALUEFLAG = 1
|
|
|
+ AND GLD.VALUEFLAG = 1
|
|
|
+ AND GLD.GROUTINGMOULDCODE = '{mouldCode}'
|
|
|
+ ");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (slaveLines == null || slaveLines.Rows.Count == 0)
|
|
|
+ {
|
|
|
+ sre.Status = Constant.ServiceResultStatus.NoSearchResults;
|
|
|
+ sre.Message = "无法注浆:未匹配到该成型线及模具号配置";
|
|
|
+ }
|
|
|
+ //-----------------------------------------------------------------------
|
|
|
+ // 校验是否需要半成品卡控及卡控数量是否允许注浆操作
|
|
|
+ #region 校验是否需要半成品卡控及卡控数量是否允许注浆操作
|
|
|
+ int systemSetvalue = Service.PMModuleService.PMModuleLogic.getSystemSet(conn, "S_PC_003", sUserInfo);
|
|
|
+
|
|
|
+ #region 无论是否需要校验,都需要此表,注浆成功后需要反写计划表中的实际注浆量
|
|
|
+ string groutingdailyDetailsql = $@"SELECT G.GOODSCODE, O.LOGOID , 1 COUNT ,'' MAT20,0 PRODPLANID
|
|
|
+ FROM TP_PC_GROUTINGLINEDETAIL D
|
|
|
+ LEFT JOIN TP_PC_GROUTINGLINE L ON L.GROUTINGLINEID = D.GROUTINGLINEID
|
|
|
+ LEFT JOIN TP_MST_GOODS G ON G.GOODSID = D.GOODSID
|
|
|
+ LEFT JOIN TP_MST_LOGO O ON O.LOGOID = G.LOGOID
|
|
|
+ WHERE
|
|
|
+ D.ACCOUNTID = { sUserInfo.AccountID}
|
|
|
+ AND D.VALUEFLAG = '1'
|
|
|
+ AND D.GMOULDSTATUS = 1
|
|
|
+ AND L.GROUTINGLINECODE = '{mainLineCode}'
|
|
|
+ AND D.GROUTINGMOULDCODE = '{mainMouldCode}'
|
|
|
+ AND G.SCRAPSUMFLAG = 1
|
|
|
+ GROUP BY G.GOODSCODE,O.LOGOID ";
|
|
|
+
|
|
|
+ DataTable resultTable = conn.GetSqlResultToDt(groutingdailyDetailsql);
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ //S_PC_003为1时,需要校验当月该半成品物料的计划数量
|
|
|
+ if (systemSetvalue == 1)
|
|
|
+ {
|
|
|
+ //查询对应半成品物料(根据注浆的产品及商标)
|
|
|
+ string mat20 = Service.PMModuleService.PMModuleLogic.getmaterialcodeMat20(conn, resultTable.Rows[0]["GOODSCODE"].ToString(), Convert.ToInt32(resultTable.Rows[0]["LOGOID"]));
|
|
|
+
|
|
|
+ if (!string.IsNullOrWhiteSpace(mat20))
|
|
|
+ {
|
|
|
+ resultTable.Rows[0]["MAT20"] = mat20;
|
|
|
+ //查询半成品物料当月对应的计划数量
|
|
|
+ DataTable planTabel = Service.PMModuleService.PMModuleLogic.getPlanDetail(conn, 1, mat20, Convert.ToDateTime(groutingData));
|
|
|
+
|
|
|
+ if (planTabel != null && planTabel.Rows.Count > 0)
|
|
|
+ {
|
|
|
+ resultTable.Rows[0]["PRODPLANID"] = Convert.ToInt32(planTabel.Rows[0]["PRODPLANID"]);
|
|
|
+ //有计划,计划数量
|
|
|
+ decimal planCount = Convert.ToDecimal(planTabel.Rows[0]["PLANCOUNT"]);
|
|
|
+ //已完成数量
|
|
|
+ decimal completedCount = 0;
|
|
|
+ if (!string.IsNullOrWhiteSpace(planTabel.Rows[0]["COMPLETEDCOUNT"].ToString()))
|
|
|
+ {
|
|
|
+ completedCount = Convert.ToDecimal(planTabel.Rows[0]["COMPLETEDCOUNT"]);
|
|
|
+ }
|
|
|
+ if (Convert.ToDecimal(resultTable.Rows[0]["Count"]) > planCount - completedCount)
|
|
|
+ {
|
|
|
+ sre.Status = Constant.ServiceResultStatus.NoSearchResults;
|
|
|
+ sre.Message = "无法注浆:此次注浆超过产销卡控计划注浆数量,请核实。";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ //无计划,无法注浆
|
|
|
+ sre.Status = Constant.ServiceResultStatus.NoSearchResults;
|
|
|
+ sre.Message = "无法注浆:该物料无产销计划,请核实。";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ #region 创建表存储每个新建的注浆明细ID
|
|
|
+ DataTable gddIDTable = new DataTable();
|
|
|
+ gddIDTable.Columns.Add("GOODSCODE", typeof(string));
|
|
|
+ gddIDTable.Columns.Add("LOGOID", typeof(int));
|
|
|
+ gddIDTable.Columns.Add("GROUTINGDAILYDETAILID", typeof(int));
|
|
|
+ gddIDTable.Columns.Add("GROUTINGFLAG", typeof(int));
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #endregion
|
|
|
+ //-----------------------------------------------------------------------
|
|
|
+
|
|
|
+
|
|
|
+ foreach (DataRow slaveLinesRow in slaveLines.Rows)
|
|
|
+ {
|
|
|
+ lineCode = slaveLinesRow["GROUTINGLINECODE"].ToString();
|
|
|
+ mouldCode = slaveLinesRow["GROUTINGMOULDCODE"].ToString();
|
|
|
+ //注浆批次处理 当注浆日期 等于 当前日期 时 注浆批次 为最后注浆批次 加1 处理
|
|
|
+ sqlStr = $@" SELECT
|
|
|
+ LASTGROUTINGBATCHNO
|
|
|
+ FROM
|
|
|
+ TP_PC_GROUTINGLINE l
|
|
|
+ WHERE
|
|
|
+ l.VALUEFLAG = '1'
|
|
|
+ AND l.ACCOUNTID = {sUserInfo.AccountID}
|
|
|
+ AND l.LASTGROUTINGDATE = TO_DATE('{groutingData}', 'YYYY-MM-DD HH24:MI:SS')
|
|
|
+ AND l.GROUTINGLINECODE = '{lineCode}'
|
|
|
+ ";
|
|
|
+ object obj = conn.GetSqlResultToObj(sqlStr);
|
|
|
+ if (obj == null || obj == DBNull.Value || Convert.ToInt32(obj) == 0)
|
|
|
+ {
|
|
|
+ groutingBatchNoBegin = "0";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ groutingBatchNoBegin = "l.LASTGROUTINGBATCHNO";
|
|
|
+ }
|
|
|
+ //校验成型线是否存在
|
|
|
+ string sqlString = "select t.userid, u.usercode, u.username, t.groutinglineid\n" +
|
|
|
+ " from tp_pc_groutingline t\n" +
|
|
|
+ " inner join tp_mst_user u\n" +
|
|
|
+ " on u.userid = t.userid\n" +
|
|
|
+ " where t.groutinglinecode = :lineCode\n" +
|
|
|
+ " and t.valueflag='1'\n" +
|
|
|
+ " and t.gmouldstatus = 1";
|
|
|
+ OracleParameter[] paras = new OracleParameter[]
|
|
|
+ {
|
|
|
+ new OracleParameter(":lineCode", lineCode),
|
|
|
+ };
|
|
|
+ DataTable dt = conn.GetSqlResultToDt(sqlString, paras);
|
|
|
+ if (dt == null || dt.Rows.Count == 0)
|
|
|
+ {
|
|
|
+ sre.Status = Constant.ServiceResultStatus.NoSearchResults;
|
|
|
+ sre.Message = $"成型线{lineCode}不存在或当前状态不能注浆";
|
|
|
+ }
|
|
|
+
|
|
|
+ //校验工号 成型线工号配置的工号 必须包含当前用户
|
|
|
+ sqlStr = $@" SELECT
|
|
|
+ COUNT(c.USERID)
|
|
|
+ FROM
|
|
|
+ TP_PC_GROUTINGLINE l
|
|
|
+ INNER JOIN TP_PC_GROUTINGUSER u ON l.GROUTINGLINEID = u.GROUTINGLINEID
|
|
|
+ LEFT JOIN TP_MST_USER c ON u.USERID = c.USERID
|
|
|
+ WHERE
|
|
|
+ l.VALUEFLAG = '1'
|
|
|
+ AND l.ACCOUNTID = {sUserInfo.AccountID}
|
|
|
+ AND l.GROUTINGLINECODE = '{lineCode}'
|
|
|
+ AND c.USERCODE = '{sUserInfo.UserCode}'
|
|
|
+ ";
|
|
|
|
|
|
+ obj = conn.GetSqlResultToObj(sqlStr);
|
|
|
+ if (obj == null || obj == DBNull.Value || Convert.ToInt32(obj) == 0)
|
|
|
+ {
|
|
|
+ sre.Status = Constant.ServiceResultStatus.NoSearchResults;
|
|
|
+ sre.Message = "当前成型线没有配置当前员工!";
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取是否有班次 设置 classesSettingId
|
|
|
+ if (sre.Status == Constant.ServiceResultStatus.Success)
|
|
|
+ {
|
|
|
+ sqlStr = $@" SELECT
|
|
|
+ NVL(MAX(CLASSESSETTINGID),0) AS CLASSESSETTINGID
|
|
|
+ FROM
|
|
|
+ TP_PC_CLASSESSETTING
|
|
|
+ WHERE
|
|
|
+ ACCOUNTID = {sUserInfo.AccountID}
|
|
|
+ AND VALUEFLAG = '1'
|
|
|
+ AND ACCOUNTDATE = TO_DATE('{groutingData}', 'YYYY-MM-DD HH24:MI:SS')
|
|
|
+ AND USERCODE = '{sUserInfo.UserCode}'
|
|
|
+ ";
|
|
|
+ obj = conn.GetSqlResultToObj(sqlStr);
|
|
|
+ if (obj == null || obj == DBNull.Value || Convert.ToInt32(obj) == 0)
|
|
|
+ {
|
|
|
+ classesSettingId = 0;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ classesSettingId = Convert.ToInt32(obj);
|
|
|
+ }
|
|
|
+ if (classesSettingId == 0)
|
|
|
+ {
|
|
|
+ sre.Status = Constant.ServiceResultStatus.NoSearchResults;
|
|
|
+ sre.Message = "没有班次配置!";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //没有班次的 自动配置班次
|
|
|
+ if (classesSettingId == 0)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ //从序列中生成新的班次ID
|
|
|
+ classesSettingId = Convert.ToInt32(
|
|
|
+ conn.GetSqlResultToStr("SELECT SEQ_PC_ClASSESSETTING_ID.NEXTVAL FROM DUAL"));
|
|
|
+
|
|
|
+ sqlStr = "BEGIN";
|
|
|
+ //插入班次SQL
|
|
|
+ sqlStr += $@"
|
|
|
+ INSERT INTO TP_PC_CLASSESSETTING
|
|
|
+ (
|
|
|
+ CLASSESSETTINGID, ACCOUNTDATE, USERID, USERCODE,
|
|
|
+ ACCOUNTID, CREATEUSERID, UPDATEUSERID
|
|
|
+ )
|
|
|
+ VALUES
|
|
|
+ (
|
|
|
+ {classesSettingId},-- CLASSESSETTINGID select SEQ_PC_ClASSESSETTING_ID.Nextval FROM DUAL;
|
|
|
+ to_date('{groutingData}', 'YYYY-MM-DD HH24:MI:SS'),-- ACCOUNTDATE
|
|
|
+ {sUserInfo.UserID},--USERID
|
|
|
+ '{sUserInfo.UserCode}',-- USERCODE
|
|
|
+ {sUserInfo.AccountID},--ACCOUNTID
|
|
|
+ {sUserInfo.UserID},--CREATEUSERID
|
|
|
+ {sUserInfo.UserID} --UPDATEUSERID
|
|
|
+ );
|
|
|
+ ";
|
|
|
+
|
|
|
+ //插入班次详细SQL
|
|
|
+ sqlStr += $@"
|
|
|
+ INSERT INTO TP_PC_CLASSESDETAIL (
|
|
|
+ CLASSESSETTINGID,ACCOUNTDATE,
|
|
|
+ USERID,USERCODE,STAFFID,STAFFSTATUS,ACCOUNTID,
|
|
|
+ VALUEFLAG,CREATEUSERID,UPDATEUSERID,
|
|
|
+ UJOBSID,SJOBSID,UJOBSNUM
|
|
|
+ )
|
|
|
+ SELECT
|
|
|
+ {classesSettingId},--CLASSESSETTINGID 班次ID
|
|
|
+ to_date('{groutingData}', 'YYYY-MM-DD HH24:MI:SS'),-- ACCOUNTDATE
|
|
|
+ {sUserInfo.UserID},--USERID
|
|
|
+ '{sUserInfo.UserCode}',--USERCODE
|
|
|
+ s.STAFFID,--STAFFID
|
|
|
+ h.STAFFSTATUS,--STAFFSTATUS 员工状态
|
|
|
+ {sUserInfo.AccountID},--ACCOUNTID
|
|
|
+ '1',--VALUEFLAG
|
|
|
+ {sUserInfo.UserID},--CREATEUSERID
|
|
|
+ {sUserInfo.UserID},--UPDATEUSERID
|
|
|
+ s.UJOBSID,--UJOBSID 工号工种ID
|
|
|
+ h.JOBS,--SJOBSID 员工工种ID
|
|
|
+ ( SELECT COUNT( DISTINCT UJOBSID ) FROM TP_MST_USERSTAFF WHERE USERID = '{sUserInfo.UserID}' ) -- UJOBSNUM 工号工种个数
|
|
|
+ FROM
|
|
|
+ TP_MST_USERSTAFF s
|
|
|
+ LEFT JOIN TP_HR_STAFF h ON h.STAFFID = s.STAFFID
|
|
|
+ WHERE
|
|
|
+ s.USERID = {sUserInfo.UserID}
|
|
|
+ ;
|
|
|
+ ";
|
|
|
+ sqlStr += "END;";
|
|
|
+
|
|
|
+ conn.ExecuteNonQuery(sqlStr);
|
|
|
+ //多条语句执行,只返回-1,不报异常就是执行成功
|
|
|
+ sre.Status = Constant.ServiceResultStatus.Success;
|
|
|
+ sre.Message = "操作成功!";
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ sre.Status = Constant.ServiceResultStatus.NoSearchResults;
|
|
|
+ sre.Message = "自动配置班次失败!";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //插入 注浆记录
|
|
|
+ if (sre.Status == Constant.ServiceResultStatus.Success)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ sqlStr = "BEGIN";
|
|
|
+ string proSql = "";
|
|
|
+ //获取注浆ID
|
|
|
+ int groutingDailyId = Convert.ToInt32(
|
|
|
+ conn.GetSqlResultToStr(@"SELECT SEQ_PM_GROUTINGDAILY_ID.NEXTVAL FROM DUAL"));
|
|
|
+
|
|
|
+ //插入注浆记录 TP_PM_GROUTINGDAILY
|
|
|
+ sqlStr += $@"
|
|
|
+ INSERT INTO TP_PM_GROUTINGDAILY (
|
|
|
+ GROUTINGDAILYID,
|
|
|
+ GROUTINGLINEID,GROUTINGLINECODE,GROUTINGLINENAME,GROUTINGDATE,
|
|
|
+ USERID,MOULDQUANTITY,GMOULDTYPEID,CANMANYTIMES,ACCOUNTID,VALUEFLAG,
|
|
|
+ CREATEUSERID,UPDATEUSERID,USERCODE,GMOULDSTATUS,
|
|
|
+ CLASSESSETTINGID,GROUTINGBATCHNO,MONITORID,MONITORCODE,HIGHPRESSUREFLAG
|
|
|
+ )
|
|
|
+ SELECT
|
|
|
+ {groutingDailyId},
|
|
|
+ l.GROUTINGLINEID,
|
|
|
+ l.GROUTINGLINECODE,
|
|
|
+ l.GROUTINGLINENAME,
|
|
|
+ to_date( '{groutingData}', 'YYYY-MM-DD HH24:MI:SS' ),-- GROUTINGDATE 注浆日期
|
|
|
+ {sUserInfo.UserID},-- USERID 用户ID
|
|
|
+ l.MOULDQUANTITY,
|
|
|
+ l.GMOULDTYPEID,
|
|
|
+ t.CANMANYTIMES, -- CANMANYTIMES 关联 TP_MST_GMOULDTYPE 查询
|
|
|
+ {sUserInfo.AccountID},-- ACCOUNTID
|
|
|
+ '1',--VALUEFLAG
|
|
|
+ {sUserInfo.UserID},--CREATEUSERID
|
|
|
+ {sUserInfo.UserID},--UPDATEUSERID
|
|
|
+ '{sUserInfo.UserCode}',-- USERCODE
|
|
|
+ l.GMOULDSTATUS,
|
|
|
+ {classesSettingId}, -- 从 CLASSESSETTINGID 查询
|
|
|
+ {groutingBatchNoBegin} + 1, --LASTGROUTINGBATCHNO 批次号 每注一次加1
|
|
|
+ l.MONITORID,
|
|
|
+ m.USERCODE AS MONITORCODE, --MONITORCODE 关联 TP_MST_USER 查询
|
|
|
+ l.HIGHPRESSUREFLAG
|
|
|
+ FROM
|
|
|
+ TP_PC_GROUTINGLINE l
|
|
|
+ LEFT JOIN TP_MST_GMOULDTYPE t ON l.GMOULDTYPEID = t.GMOULDTYPEID
|
|
|
+ LEFT JOIN TP_MST_USER m ON l.MONITORID = m.USERID
|
|
|
+ WHERE
|
|
|
+ GROUTINGLINECODE = '{lineCode}' --成型线号
|
|
|
+ AND l.VALUEFLAG = '1'
|
|
|
+ AND l.GMOULDSTATUS = 1
|
|
|
+ ;";
|
|
|
+
|
|
|
+ //按成型线模具循环插入注浆记录明细 TP_PM_GROUTINGDAILYDETAIL
|
|
|
+
|
|
|
+ //注浆明细ID
|
|
|
+ seqGroutingDailyDetailID = Convert.ToInt32(
|
|
|
+ conn.GetSqlResultToStr(@"SELECT SEQ_PM_GroutingDailyD_ID.Nextval FROM DUAL"));
|
|
|
+ if (string.IsNullOrWhiteSpace(slaveLinesRow["HLINEFLAG"].ToString()))
|
|
|
+ {
|
|
|
+ //主成型线注浆ID
|
|
|
+ mainseqGroutingDailyDetailID = seqGroutingDailyDetailID;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ proSql += $@"UPDATE TP_PM_GroutingDailyDetail SET MAINGROUTINGDAILYDETAILID = {mainseqGroutingDailyDetailID} WHERE GROUTINGDAILYDETAILID = {seqGroutingDailyDetailID};";
|
|
|
+ }
|
|
|
+ //插入注浆记录明细
|
|
|
+ sqlStr += $@"
|
|
|
+ INSERT INTO TP_PM_GROUTINGDAILYDETAIL (
|
|
|
+ GROUTINGDAILYID,GROUTINGDAILYDETAILID,GROUTINGLINEID,GROUTINGLINECODE,GROUTINGLINENAME,GROUTINGLINEDETAILID,
|
|
|
+ GROUTINGDATE,GROUTINGMOULDCODE,MOULDCODE,GOODSID,GOODSCODE,GOODSNAME,GMOULDSTATUS,
|
|
|
+ GROUTINGCOUNT,GROUTINGFLAG,NOGROUTINGRREASON,ACCOUNTID,VALUEFLAG,CREATEUSERID,
|
|
|
+ UPDATEUSERID,USERID,USERCODE,SCRAPFLAG,SPECIALREPAIRFLAG,BARCODE,CLASSESSETTINGID,
|
|
|
+ ISPUBLICBODY,DELIVERFLAG,GMOULDTYPEID,CANMANYTIMES,GROUTINGBATCHNO,LOGOID,glazetypeid,
|
|
|
+ SCRAPTIME,SCRAPUSER,SCRAPREASONID,SCRAPREASON,MOULDID,SREASONID,SCRAPTYPE,BEGINNINGFLAG
|
|
|
+ -- 20220308 add 记录光瓷重量
|
|
|
+ ,LUSTERWAREWEIGHT
|
|
|
+ -- 20220308 add 记录光瓷重量 end
|
|
|
+ -- 20220325 by feiy add 试验线
|
|
|
+ ,TESTFLAG
|
|
|
+ -- 20220325 by feiy add 试验线 end
|
|
|
+ -- 20220812 by LSQ add 模具试验标识
|
|
|
+ ,TESTMOULDFLAG
|
|
|
+ -- 20220812 by LSQ add 模具试验标识 end
|
|
|
+ ) SELECT
|
|
|
+ {groutingDailyId},--GROUTINGDAILYID
|
|
|
+ {seqGroutingDailyDetailID},--GROUTINGDAILYDETAILID
|
|
|
+ d.GROUTINGLINEID,--GROUTINGLINEID
|
|
|
+ l.GROUTINGLINECODE,--GROUTINGLINECODE
|
|
|
+ l.GROUTINGLINENAME,--GROUTINGLINENAME
|
|
|
+ d.GROUTINGLINEDETAILID,--GROUTINGLINEDETAILID
|
|
|
+ to_date( '{groutingData}', 'YYYY-MM-DD HH24:MI:SS' ),--GROUTINGDATE
|
|
|
+ d.GROUTINGMOULDCODE,--GROUTINGMOULDCODE
|
|
|
+ d.MOULDCODE,--MOULDCODE
|
|
|
+ d.GOODSID,--GOODSID
|
|
|
+ g.GOODSCODE,--GOODSCODE
|
|
|
+ g.GOODSNAME,--GOODSNAME
|
|
|
+ d.GMOULDSTATUS,--GMOULDSTATUS
|
|
|
+ d.GROUTINGCOUNT + 1,--GROUTINGCOUNT
|
|
|
+ '1',--GROUTINGFLAG
|
|
|
+ '', --NOGROUTINGRREASON 未注浆原因
|
|
|
+ {sUserInfo.AccountID},--ACCOUNTID
|
|
|
+ '1',--VALUEFLAG
|
|
|
+ {sUserInfo.UserID},--CREATEUSERID
|
|
|
+ {sUserInfo.UserID},--UPDATEUSERID
|
|
|
+ {sUserInfo.UserID},--USERID
|
|
|
+ '{sUserInfo.UserCode}',--USERCODE
|
|
|
+ '0',--SCRAPFLAG
|
|
|
+ '0',--SPECIALREPAIRFLAG
|
|
|
+ null,--BARCODE
|
|
|
+ {classesSettingId},--CLASSESSETTINGID
|
|
|
+ '0',--ISPUBLICBODY
|
|
|
+ '0',--DELIVERFLAG
|
|
|
+ l.GMOULDTYPEID,--GMOULDTYPEID
|
|
|
+ t.CANMANYTIMES,--CANMANYTIMES
|
|
|
+ {groutingBatchNoBegin} + 1, --LASTGROUTINGBATCHNO 批次号 每注一次加1
|
|
|
+ o.LOGOID,--LOGOID
|
|
|
+ g.glazetypeid,
|
|
|
+ NULL,--SCRAPTIME
|
|
|
+ NULL,--SCRAPUSER
|
|
|
+ NULL,--SCRAPREASONID
|
|
|
+ NULL,--SCRAPREASON
|
|
|
+ d.MOULDID,--MOULDID
|
|
|
+ NULL,--SREASONID
|
|
|
+ NULL,--SCRAPTYPE
|
|
|
+ '0', --BEGINNINGFLAG
|
|
|
+ -- 20220308 add 记录光瓷重量
|
|
|
+ NVL(g.LUSTERWAREWEIGHT,0)
|
|
|
+ -- 20220308 add 记录光瓷重量 end
|
|
|
+ -- 20220325 by feiy add 试验线
|
|
|
+ ,l.TESTFLAG
|
|
|
+ -- 20220325 by feiy add 试验线 end
|
|
|
+ -- 20220812 by LSQ add 模具试验标识
|
|
|
+ ,M.TESTMOULDFLAG
|
|
|
+ -- 20220812 by LSQ add 模具试验标识 end
|
|
|
+ FROM
|
|
|
+ TP_PC_GROUTINGLINEDETAIL d
|
|
|
+ LEFT JOIN TP_PC_GROUTINGLINE l ON l.GROUTINGLINEID = d.GROUTINGLINEID
|
|
|
+ LEFT JOIN TP_PC_MOULD M ON d.MOULDID = M.MOULDID
|
|
|
+ LEFT JOIN TP_MST_GOODS g ON g.GOODSID = d.GOODSID
|
|
|
+ LEFT JOIN TP_MST_LOGO o ON o.LOGOID = g.LOGOID
|
|
|
+ LEFT JOIN TP_MST_GMOULDTYPE t ON t.GMOULDTYPEID = l.GMOULDTYPEID
|
|
|
+ WHERE
|
|
|
+ d.ACCOUNTID = {sUserInfo.AccountID}
|
|
|
+ AND d.VALUEFLAG = '1'
|
|
|
+ AND d.GMOULDSTATUS = 1
|
|
|
+ AND l.GROUTINGLINECODE = '{lineCode}' --成型线号
|
|
|
+ AND d.GROUTINGMOULDCODE = '{mouldCode}'
|
|
|
+ ;";
|
|
|
+ sre.Result = groutingDailyId;
|
|
|
+
|
|
|
+ sqlStr += "END;";
|
|
|
+ result = conn.ExecuteNonQuery(sqlStr);
|
|
|
+ if (!string.IsNullOrWhiteSpace(proSql))
|
|
|
+ {
|
|
|
+ result += conn.ExecuteNonQuery("BEGIN " + proSql + " END;");
|
|
|
+ }
|
|
|
+ sre.Status = Constant.ServiceResultStatus.Success;
|
|
|
+ sre.Message = "操作成功!";
|
|
|
+
|
|
|
+ //2022年8月24日09:32:29 注浆次数
|
|
|
+ sqlStr = "BEGIN";
|
|
|
+
|
|
|
+ //更新注浆次数
|
|
|
+ sqlStr += $@"
|
|
|
+ UPDATE
|
|
|
+ TP_PC_GROUTINGLINEDETAIL
|
|
|
+ SET
|
|
|
+ GROUTINGCOUNT = GROUTINGCOUNT + 1
|
|
|
+ WHERE
|
|
|
+ ACCOUNTID = {sUserInfo.AccountID}
|
|
|
+ AND VALUEFLAG = '1'
|
|
|
+ AND GMOULDSTATUS = 1
|
|
|
+ AND GROUTINGMOULDCODE = '{mouldCode}'
|
|
|
+ ;";
|
|
|
+ sqlStr += "END;";
|
|
|
+
|
|
|
+ result = conn.ExecuteNonQuery(sqlStr);
|
|
|
+ sre.Status = Constant.ServiceResultStatus.Success;
|
|
|
+ sre.Message = "操作成功!";
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ sre.Status = Constant.ServiceResultStatus.NoSearchResults;
|
|
|
+ sre.Message = "注浆记录写入失败!";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //更新 成型线 最后注浆日期 注浆批次
|
|
|
+ if (sre.Status == Constant.ServiceResultStatus.Success)
|
|
|
+ {
|
|
|
+ sqlStr = $@"
|
|
|
+ UPDATE
|
|
|
+ TP_PC_GROUTINGLINE l
|
|
|
+ SET
|
|
|
+ l.LASTGROUTINGDATE = to_date( '{groutingData}','YYYY-MM-DD HH24:MI:SS' ),
|
|
|
+ l.LASTGROUTINGBATCHNO = {groutingBatchNoBegin} + 1
|
|
|
+ WHERE
|
|
|
+ l.GROUTINGLINECODE = '{lineCode}'
|
|
|
+ ";
|
|
|
+ result = conn.ExecuteNonQuery(sqlStr);
|
|
|
+ if (result > 0)
|
|
|
+ {
|
|
|
+ sre.Status = Constant.ServiceResultStatus.Success;
|
|
|
+ sre.Message = "操作成功!";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ sre.Status = Constant.ServiceResultStatus.NoSearchResults;
|
|
|
+ sre.Message = "成型线最后注浆日期和注浆批次更新失败!";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //半成品卡控计划
|
|
|
+ if (sre.Status == Constant.ServiceResultStatus.Success)
|
|
|
+ {
|
|
|
+ //插入注浆ID表 半成品卡控计划用
|
|
|
+ DataRow newRow = gddIDTable.NewRow();
|
|
|
+ newRow["GOODSCODE"] = resultTable.Rows[0]["GOODSCODE"].ToString();
|
|
|
+ newRow["LOGOID"] = Convert.ToInt32(resultTable.Rows[0]["LOGOID"]);
|
|
|
+ newRow["GROUTINGDAILYDETAILID"] = Convert.ToInt32(mainseqGroutingDailyDetailID);
|
|
|
+ newRow["GROUTINGFLAG"] = 1;
|
|
|
+ gddIDTable.Rows.Add(newRow);
|
|
|
+
|
|
|
+ int proPlanID = 0;
|
|
|
+ //S_PC_003为0时,需要查找每个产品对应的当月该半成品物料的计划ID
|
|
|
+ //为1时,校验时已经查询过,无须再查
|
|
|
+ if (systemSetvalue == 0)
|
|
|
+ {
|
|
|
+ //查询对应半成品物料(根据注浆的产品及商标)
|
|
|
+ string mat20 = Service.PMModuleService.PMModuleLogic.getmaterialcodeMat20(conn, resultTable.Rows[0]["GOODSCODE"].ToString(), Convert.ToInt32(resultTable.Rows[0]["LOGOID"]));
|
|
|
+
|
|
|
+ if (!string.IsNullOrWhiteSpace(mat20))
|
|
|
+ {
|
|
|
+ resultTable.Rows[0]["MAT20"] = mat20;
|
|
|
+ //查询半成品物料当月对应的计划数量
|
|
|
+ DataTable planTabel = Service.PMModuleService.PMModuleLogic.getPlanDetail(conn, 1, mat20, Convert.ToDateTime(groutingData));
|
|
|
+
|
|
|
+ if (planTabel != null && planTabel.Rows.Count > 0)
|
|
|
+ {
|
|
|
+ //有计划,计划ID
|
|
|
+ proPlanID = Convert.ToInt32(planTabel.Rows[0]["PRODPLANID"]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (!string.IsNullOrWhiteSpace(resultTable.Rows[0]["PRODPLANID"].ToString()))
|
|
|
+ {
|
|
|
+ proPlanID = Convert.ToInt32(resultTable.Rows[0]["PRODPLANID"]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (proPlanID > 0)
|
|
|
+ {
|
|
|
+ string proSql = "UPDATE TP_SEMIFINISHED_PRODPLAN SET COMPLETEDCOUNT = COMPLETEDCOUNT + :PLANCOUNT WHERE PRODPLANID = :PRODPLANID AND MATERIALCODE = :MAT20";
|
|
|
+ OracleParameter[] proParas = new OracleParameter[]
|
|
|
+ {
|
|
|
+ new OracleParameter(":PLANCOUNT", OracleDbType.Int32, 1, ParameterDirection.Input),
|
|
|
+ new OracleParameter(":PRODPLANID", OracleDbType.Int32, proPlanID, ParameterDirection.Input),
|
|
|
+ new OracleParameter(":MAT20", OracleDbType.Varchar2, resultTable.Rows[0]["MAT20"].ToString(), ParameterDirection.Input),
|
|
|
+ };
|
|
|
+ int executeResult = conn.ExecuteNonQuery(proSql, proParas);
|
|
|
+
|
|
|
+ //查找注浆明细中该产品商标都有哪些,插入关联表
|
|
|
+ proSql = "INSERT INTO TP_SEMIFINISHED_PRODPLANBAR (PRODPLANID,GROUTINGDAILYDETAILID,ACCOUNTID,CREATEUSERID) VALUES(:PRODPLANID,:GROUTINGDAILYDETAILID,:ACCOUNTID,:CREATEUSERID)";
|
|
|
+ proParas = new OracleParameter[]
|
|
|
+ {
|
|
|
+ new OracleParameter(":PRODPLANID", OracleDbType.Int32, proPlanID, ParameterDirection.Input),
|
|
|
+ new OracleParameter(":GROUTINGDAILYDETAILID", OracleDbType.Int32, Convert.ToInt32(mainseqGroutingDailyDetailID), ParameterDirection.Input),
|
|
|
+ new OracleParameter(":ACCOUNTID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input),
|
|
|
+ new OracleParameter(":CREATEUSERID", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input),
|
|
|
+ };
|
|
|
+ executeResult = conn.ExecuteNonQuery(proSql, proParas);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //绑定条码
|
|
|
+ if (sre.Status == Constant.ServiceResultStatus.Success)
|
|
|
+ {
|
|
|
+ #region 校验条码
|
|
|
+ if (barcode.Length > 0)
|
|
|
+ {
|
|
|
+ // 条码状态表
|
|
|
+ DataTable barCodeDataTable = conn.GetSqlResultToDt($"SELECT UBC.BarCode FROM TP_PM_UsedBarCode UBC WHERE BarCode ='{barcode}'");
|
|
|
+ if (barCodeDataTable != null && barCodeDataTable.Rows.Count > 0)
|
|
|
+ {
|
|
|
+ sre.Status = Constant.ServiceResultStatus.NoSearchResults;
|
|
|
+ sre.Message = "以下条码已被使用" + barcode.ToString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ #endregion 校验条码
|
|
|
+ }
|
|
|
+
|
|
|
+ if (sre.Status == Constant.ServiceResultStatus.Success)
|
|
|
+ {
|
|
|
+ #region 更新注浆日报明细表
|
|
|
+ if (seqGroutingDailyDetailID > 0)
|
|
|
+ {
|
|
|
+ #region SQL
|
|
|
+ string updateGroutingDailyDetailSql =
|
|
|
+ "UPDATE TP_PM_GroutingDailyDetail" +
|
|
|
+ " SET BarCode = :BarCode " +
|
|
|
+ " WHERE GroutingDailyDetailID = :GroutingDailyDetailID";
|
|
|
+ #endregion SQL
|
|
|
+
|
|
|
+ // 验证条码
|
|
|
+ string insertBarcodeSql =
|
|
|
+ "INSERT INTO TP_PM_UsedBarCode " +
|
|
|
+ " (BarCode, AccountID, CreateTime, CreateUserID,GroutingDailyDetailID,BarCodeStatus)" +
|
|
|
+ "VALUES " +
|
|
|
+ " (:BarCode, :AccountID, sysdate, :CreateUserID,:GroutingDailyDetailID,:BarCodeStatus)";
|
|
|
+ OracleParameter[] insertBarcodeParas = new OracleParameter[]
|
|
|
+ {
|
|
|
+ new OracleParameter(":BarCode", OracleDbType.NVarchar2, barcode, ParameterDirection.Input),
|
|
|
+ new OracleParameter(":AccountID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input),
|
|
|
+ new OracleParameter(":CreateUserID", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input),
|
|
|
+ new OracleParameter(":GroutingDailyDetailID", OracleDbType.Int32,mainseqGroutingDailyDetailID, ParameterDirection.Input),
|
|
|
+ new OracleParameter(":BarCodeStatus", OracleDbType.Char, "1", ParameterDirection.Input),
|
|
|
+
|
|
|
+ };
|
|
|
+ int res = conn.ExecuteNonQuery(insertBarcodeSql, insertBarcodeParas);
|
|
|
+ if (res <= 0)
|
|
|
+ {
|
|
|
+ sre.Status = Constant.ServiceResultStatus.NoSearchResults;
|
|
|
+ sre.Message = "新增条码异常" + barcode.ToString();
|
|
|
+ }
|
|
|
+
|
|
|
+ // 绑定条码
|
|
|
+ OracleParameter[] updateGroutingDailyDetailParas = new OracleParameter[]
|
|
|
+ {
|
|
|
+ new OracleParameter(":GroutingDailyDetailID", OracleDbType.Int32, mainseqGroutingDailyDetailID, ParameterDirection.Input),
|
|
|
+ new OracleParameter(":BarCode", OracleDbType.NVarchar2, barcode, ParameterDirection.Input),
|
|
|
+ };
|
|
|
+ res = conn.ExecuteNonQuery(updateGroutingDailyDetailSql, updateGroutingDailyDetailParas);
|
|
|
+ if (res <= 0)
|
|
|
+ {
|
|
|
+ sre.Status = Constant.ServiceResultStatus.NoSearchResults;
|
|
|
+ sre.Message = "绑定条码异常" + barcode.ToString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ #endregion 更新注浆日报明细表
|
|
|
+
|
|
|
+ //提交
|
|
|
+ if (sre.Status == Constant.ServiceResultStatus.Success)
|
|
|
+ {
|
|
|
+ sre.Message = "操作成功!";
|
|
|
+ conn.Commit();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ conn.Rollback();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ throw ex;
|
|
|
+ }
|
|
|
+ finally
|
|
|
+ {
|
|
|
+ conn.Disconnect();
|
|
|
+ }
|
|
|
+ //返回数据
|
|
|
+ return sre;
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
}
|
|
|
}
|