|
|
@@ -10096,54 +10096,63 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
|
|
|
#region 查询工序信息
|
|
|
ProcedureEntity procedure = GetProcedurByID(oracleTrConn, procedureID);
|
|
|
#endregion
|
|
|
- #region 标准检验(半成品)
|
|
|
- if (procedure.ModelType == (int)Constant.ProcedureModelType.Normal)
|
|
|
- {
|
|
|
- errMsg = AddNormalCheck(oracleTrConn, procedure, productionDataEntitys, sUserInfo);
|
|
|
- }
|
|
|
- #endregion
|
|
|
- #region 成品检验
|
|
|
- else if (procedure.ModelType == (int)Constant.ProcedureModelType.QualityStatistics)
|
|
|
+ if (procedureID == 55)
|
|
|
{
|
|
|
- errMsg = AddFinishCheckPDA(oracleTrConn, procedure, productionDataEntitys, sUserInfo);
|
|
|
- }
|
|
|
- #endregion
|
|
|
- #region 半检 xuwei add 2019-12-13
|
|
|
- else if (procedure.ModelType == (int)Constant.ProcedureModelType.SemiQualityStatistics)
|
|
|
- {
|
|
|
- errMsg = AddFinishCheckPDA(oracleTrConn, procedure, productionDataEntitys, sUserInfo);
|
|
|
+ #region 二检250603
|
|
|
+ errMsg = CancelFinishedproductAddFinishCheck(oracleTrConn, procedure, productionDataEntitys, sUserInfo, procedureID);
|
|
|
+ #endregion
|
|
|
}
|
|
|
- #endregion
|
|
|
- #region 入窑前检验
|
|
|
- else if (procedure.ModelType == (int)Constant.ProcedureModelType.IntoKilnCheck)
|
|
|
+ else
|
|
|
{
|
|
|
- errMsg = AddIntoKilnCheck(oracleTrConn, procedure, productionDataEntitys, sUserInfo);
|
|
|
- }
|
|
|
- #endregion
|
|
|
+ #region 标准检验(半成品)
|
|
|
+ if (procedure.ModelType == (int)Constant.ProcedureModelType.Normal)
|
|
|
+ {
|
|
|
+ errMsg = AddNormalCheck(oracleTrConn, procedure, productionDataEntitys, sUserInfo);
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ #region 成品检验
|
|
|
+ else if (procedure.ModelType == (int)Constant.ProcedureModelType.QualityStatistics)
|
|
|
+ {
|
|
|
+ errMsg = AddFinishCheckPDA(oracleTrConn, procedure, productionDataEntitys, sUserInfo);
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ #region 半检 xuwei add 2019-12-13
|
|
|
+ else if (procedure.ModelType == (int)Constant.ProcedureModelType.SemiQualityStatistics)
|
|
|
+ {
|
|
|
+ errMsg = AddFinishCheckPDA(oracleTrConn, procedure, productionDataEntitys, sUserInfo);
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ #region 入窑前检验
|
|
|
+ else if (procedure.ModelType == (int)Constant.ProcedureModelType.IntoKilnCheck)
|
|
|
+ {
|
|
|
+ errMsg = AddIntoKilnCheck(oracleTrConn, procedure, productionDataEntitys, sUserInfo);
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ }
|
|
|
|
|
|
// 没有错误 提交事务
|
|
|
if (string.IsNullOrEmpty(errMsg))
|
|
|
{
|
|
|
oracleTrConn.Commit();
|
|
|
- }
|
|
|
- if (procedure.ModelType == (int)Constant.ProcedureModelType.QualityStatistics)
|
|
|
- {
|
|
|
- #region 2023/02/20 质量登记产品分级为正品或者副品时 直接走完结束工序
|
|
|
- DataTable dtProductionData = DataConvert.ObjectConvertToTable<ProductionDataEntity>(productionDataEntitys);
|
|
|
- if (!dtProductionData.Columns.Contains("IsPDA"))
|
|
|
+ if (procedureID == -99 || procedure.ModelType == (int)Constant.ProcedureModelType.QualityStatistics)
|
|
|
{
|
|
|
- dtProductionData.Columns.Add("IsPDA");
|
|
|
- }
|
|
|
- foreach (ProductionDataEntity productionData in productionDataEntitys)
|
|
|
- {
|
|
|
- if (productionData.GoodsLevelTypeID == 4 || productionData.GoodsLevelTypeID == 5)
|
|
|
+ #region 2023/02/20 质量登记产品分级为正品或者副品时 直接走完结束工序
|
|
|
+ DataTable dtProductionData = DataConvert.ObjectConvertToTable<ProductionDataEntity>(productionDataEntitys);
|
|
|
+ if (!dtProductionData.Columns.Contains("IsPDA"))
|
|
|
{
|
|
|
- ProcedureEntity procedureInfo = null;
|
|
|
- DataTable dt = AddWorkPiece(15, dtProductionData, sUserInfo, out procedureInfo);
|
|
|
+ dtProductionData.Columns.Add("IsPDA");
|
|
|
+ }
|
|
|
+ foreach (ProductionDataEntity productionData in productionDataEntitys)
|
|
|
+ {
|
|
|
+ if (productionData.GoodsLevelTypeID == 4 || productionData.GoodsLevelTypeID == 5)
|
|
|
+ {
|
|
|
+ ProcedureEntity procedureInfo = null;
|
|
|
+ DataTable dt = AddWorkPiece(15, dtProductionData, sUserInfo, out procedureInfo);
|
|
|
+ }
|
|
|
}
|
|
|
+ #endregion
|
|
|
}
|
|
|
- #endregion
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
@@ -21987,5 +21996,806 @@ updateuserid=:updateuserid where barcode=:barcode";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 撤销包装在重新质量登记 -- 二检的功能250519
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="oracleTrConn">数据连接</param>
|
|
|
+ /// <param name="procedure">工序对象</param>
|
|
|
+ /// <param name="productionDataEntitys">生产数据集</param>
|
|
|
+ /// <param name="sUserInfo">用户基本信息</param>
|
|
|
+ /// <returns>string</returns>
|
|
|
+ private static string CancelFinishedproductAddFinishCheck(IDBTransaction oracleTrConn, ProcedureEntity procedure,
|
|
|
+ ProductionDataEntity[] productionDataEntitys, SUserInfo sUserInfo, int procedureID)
|
|
|
+ {
|
|
|
+ string errMsg = "";
|
|
|
+ // 获得账务日期
|
|
|
+ DateTime accountDate = CommonModuleLogic.CommonModuleLogic.GetAccountDate(oracleTrConn, sUserInfo);
|
|
|
+ // 本批采集的批次号
|
|
|
+ string centralizedBatchNo = System.Guid.NewGuid().ToString();
|
|
|
+ string finishedloadbatchno = DateTime.Now.ToString("yyMMddHHmmss-") + centralizedBatchNo;
|
|
|
+ foreach (ProductionDataEntity productionData in productionDataEntitys)
|
|
|
+ {
|
|
|
+ bool RejectToReject = false;
|
|
|
+
|
|
|
+ if (string.IsNullOrEmpty(productionData.Barcode))
|
|
|
+ {
|
|
|
+ throw new Exception("传入的条码号为空");
|
|
|
+ }
|
|
|
+ int goodsID = Constant.INT_IS_ZERO;
|
|
|
+ string goodsCode = string.Empty;
|
|
|
+ string goodsName = string.Empty;
|
|
|
+ // 注浆者工号
|
|
|
+ string groutingUserCode = string.Empty;
|
|
|
+ // 次品标识
|
|
|
+ bool substandardFlag = false;
|
|
|
+ string test = productionData.MouldCode;
|
|
|
+
|
|
|
+ int goodsLevelID;
|
|
|
+ int goodsLevelTypeID;
|
|
|
+
|
|
|
+ int returnRows = 0;
|
|
|
+
|
|
|
+ // 转换注浆条码
|
|
|
+ productionData.Barcode = CommonModuleLogic.CommonModuleLogic.GetBarcode(oracleTrConn, productionData.Barcode, sUserInfo);
|
|
|
+
|
|
|
+ DateTime? createTime = null;
|
|
|
+ // 1 条码是否在产成品表中
|
|
|
+ string sql = "select createTime,FHUserCode,GoodsCode,GoodsLevelID,GoodsLevelTypeID from " +
|
|
|
+ "tp_pm_finishedproduct where barcode=:barcode and valueflag=1";
|
|
|
+ OracleParameter[] Paras = new OracleParameter[] {
|
|
|
+ new OracleParameter(":barcode",OracleDbType.Varchar2,
|
|
|
+ productionData.Barcode,ParameterDirection.Input)
|
|
|
+ };
|
|
|
+ DataSet ds = oracleTrConn.GetSqlResultToDs(sql, Paras);
|
|
|
+ if (ds.Tables[0].Rows.Count == 0)
|
|
|
+ {
|
|
|
+ //不存在产成品
|
|
|
+ errMsg = "此产品【" + productionData.Barcode + "】不存在产成品,不能进行该操作";
|
|
|
+ return errMsg;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ // 已经交接不允许撤销
|
|
|
+ if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["FHUserCode"].ToString()))
|
|
|
+ {
|
|
|
+ //已交接,不能再次进行交接
|
|
|
+ errMsg = "此产品【" + ds.Tables[0].Rows[0]["GoodsCode"].ToString() + "】已交接,不能进行该操作";
|
|
|
+ return errMsg;
|
|
|
+ }
|
|
|
+ createTime = Convert.ToDateTime(ds.Tables[0].Rows[0]["createTime"]); // 成品时间
|
|
|
+ // 修正 撤销包装时 副品变正品
|
|
|
+ goodsLevelID = Convert.ToInt32(ds.Tables[0].Rows[0]["GoodsLevelID"]);
|
|
|
+ goodsLevelTypeID = Convert.ToInt32(ds.Tables[0].Rows[0]["goodsLevelTypeID"]);
|
|
|
+
|
|
|
+ }
|
|
|
+ #region 是否功能权限表里
|
|
|
+ //sql = @" SELECT us.userid
|
|
|
+ // ,us.usercode
|
|
|
+ // ,us.username
|
|
|
+ // FROM tp_mst_userright ur
|
|
|
+ // INNER JOIN tp_mst_user us ON ur.userid = us.userid
|
|
|
+ // WHERE us.usercode = :USERCODE AND functioncode = '807042'
|
|
|
+ //";
|
|
|
+ //Paras = new OracleParameter[] {
|
|
|
+ // new OracleParameter(":USERCODE",OracleDbType.Varchar2, sUserInfo.UserCode,ParameterDirection.Input)
|
|
|
+ // };
|
|
|
+ // ds = oracleTrConn.GetSqlResultToDs(sql, Paras);
|
|
|
+ //if (ds.Tables[0].Rows.Count == 0)
|
|
|
+ //{
|
|
|
+ // //不存在产成品
|
|
|
+ // errMsg = "工号【" + sUserInfo.UserCode + "】没有复检操作权限,不能进行该操作";
|
|
|
+ // return errMsg;
|
|
|
+ //}
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 是否启用成品撤销限制天数
|
|
|
+ if (createTime != null)
|
|
|
+ {
|
|
|
+ sql = "select settingvalue from TP_MST_SystemSetting where settingcode=:settingcode and accountid=:accountid";
|
|
|
+ Paras = new OracleParameter[] {
|
|
|
+ new OracleParameter(":settingcode",OracleDbType.Varchar2,
|
|
|
+ Constant.SettingType.S_PM_005.ToString(),ParameterDirection.Input),
|
|
|
+ new OracleParameter(":accountid",OracleDbType.Int32,
|
|
|
+ sUserInfo.AccountID,ParameterDirection.Input)
|
|
|
+ };
|
|
|
+ ds = oracleTrConn.GetSqlResultToDs(sql, Paras);
|
|
|
+ if (ds != null && ds.Tables[0].Rows.Count > 0)
|
|
|
+ {
|
|
|
+ if (Convert.ToInt32(ds.Tables[0].Rows[0]["settingvalue"]) > 0)
|
|
|
+ {
|
|
|
+ // 开启了限制
|
|
|
+ ServiceResultEntity resultEntity = PMModuleLogic.BarcodeAllowCancel(Convert.ToDateTime(createTime),
|
|
|
+ Convert.ToInt32(ds.Tables[0].Rows[0]["settingvalue"]), Constant.SettingType.S_PM_005.ToString(), sUserInfo);
|
|
|
+ if (Convert.ToInt32(resultEntity.Result) < 0)
|
|
|
+ {
|
|
|
+ //超过成品撤销限制天数
|
|
|
+ errMsg = resultEntity.Message;
|
|
|
+ return errMsg;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ sql = "select 1 from tp_pm_productiondatain where barcode=:barcode and valueflag=1";
|
|
|
+ Paras = new OracleParameter[] {
|
|
|
+ new OracleParameter(":barcode",OracleDbType.Varchar2, productionData.Barcode,ParameterDirection.Input)
|
|
|
+ };
|
|
|
+ ds = oracleTrConn.GetSqlResultToDs(sql, Paras);
|
|
|
+ if (ds.Tables[0].Rows.Count == 0)
|
|
|
+ {
|
|
|
+ // 2 生产数据恢复到在产生产数据 xuwei 不用处理
|
|
|
+ sql = @"insert into tp_pm_productiondatain
|
|
|
+ (
|
|
|
+ ProductionDataID,
|
|
|
+ BarCode,
|
|
|
+ CentralizedBatchNo,
|
|
|
+ ProductionLineID,
|
|
|
+ ProductionLineCode,
|
|
|
+ ProductionLineName,
|
|
|
+ ProcedureID,
|
|
|
+ ProcedureCode,
|
|
|
+ ProcedureName,
|
|
|
+ ProcedureModel,
|
|
|
+ ModelType,
|
|
|
+ PieceType,
|
|
|
+ IsReworked,
|
|
|
+ NodeType,
|
|
|
+ IsPublicBody,
|
|
|
+ IsReFire,
|
|
|
+ GoodsLevelID,
|
|
|
+ GoodsLevelTypeID,
|
|
|
+ SpecialRepairFlag,
|
|
|
+ OrganizationID,
|
|
|
+ GoodsID,
|
|
|
+ GoodsCode,
|
|
|
+ GoodsName,
|
|
|
+ UserID,
|
|
|
+ UserCode,
|
|
|
+ UserName,
|
|
|
+ ClassesSettingID,
|
|
|
+ KilnID,
|
|
|
+ KilnCode,
|
|
|
+ KilnName,
|
|
|
+ KilnCarID,
|
|
|
+ KilnCarCode,
|
|
|
+ KilnCarName,
|
|
|
+ KilnCarBatchNo,
|
|
|
+ KilnCarPosition,
|
|
|
+ ReworkProcedureID,
|
|
|
+ ReworkProcedureCode,
|
|
|
+ ReworkProcedureName,
|
|
|
+ GroutingDailyID,
|
|
|
+ GroutingDailyDetailID,
|
|
|
+ GroutingLineID,
|
|
|
+ GroutingLineCode,
|
|
|
+ GroutingLineName,
|
|
|
+ GMouldTypeID,
|
|
|
+ CanManyTimes,
|
|
|
+ GroutingLineDetailID,
|
|
|
+ GroutingDate,
|
|
|
+ GroutingMouldCode,
|
|
|
+ MouldCode,
|
|
|
+ GroutingUserID,
|
|
|
+ GroutingUserCode,
|
|
|
+ GroutingNum,
|
|
|
+ Remarks,
|
|
|
+ AccountDate,
|
|
|
+ SettlementFlag,
|
|
|
+ AccountID,
|
|
|
+ ValueFlag,
|
|
|
+ CreateTime,
|
|
|
+ CreateUserID,
|
|
|
+ UpdateTime,
|
|
|
+ UpdateUserID,
|
|
|
+ OPTimeStamp,
|
|
|
+ TriggerFlag,
|
|
|
+ LogoID,
|
|
|
+ BackOutTime,BackOutUserID,BackOutUserCode,CheckTime
|
|
|
+ )
|
|
|
+ select
|
|
|
+ ProductionDataID,
|
|
|
+ BarCode,
|
|
|
+ CentralizedBatchNo,
|
|
|
+ ProductionLineID,
|
|
|
+ ProductionLineCode,
|
|
|
+ ProductionLineName,
|
|
|
+ ProcedureID,
|
|
|
+ ProcedureCode,
|
|
|
+ ProcedureName,
|
|
|
+ ProcedureModel,
|
|
|
+ ModelType,
|
|
|
+ PieceType,
|
|
|
+ IsReworked,
|
|
|
+ NodeType,
|
|
|
+ IsPublicBody,
|
|
|
+ IsReFire,
|
|
|
+ GoodsLevelID,
|
|
|
+ GoodsLevelTypeID,
|
|
|
+ SpecialRepairFlag,
|
|
|
+ OrganizationID,
|
|
|
+ GoodsID,
|
|
|
+ GoodsCode,
|
|
|
+ GoodsName,
|
|
|
+ UserID,
|
|
|
+ UserCode,
|
|
|
+ UserName,
|
|
|
+ ClassesSettingID,
|
|
|
+ KilnID,
|
|
|
+ KilnCode,
|
|
|
+ KilnName,
|
|
|
+ KilnCarID,
|
|
|
+ KilnCarCode,
|
|
|
+ KilnCarName,
|
|
|
+ KilnCarBatchNo,
|
|
|
+ KilnCarPosition,
|
|
|
+ ReworkProcedureID,
|
|
|
+ ReworkProcedureCode,
|
|
|
+ ReworkProcedureName,
|
|
|
+ GroutingDailyID,
|
|
|
+ GroutingDailyDetailID,
|
|
|
+ GroutingLineID,
|
|
|
+ GroutingLineCode,
|
|
|
+ GroutingLineName,
|
|
|
+ GMouldTypeID,
|
|
|
+ CanManyTimes,
|
|
|
+ GroutingLineDetailID,
|
|
|
+ GroutingDate,
|
|
|
+ GroutingMouldCode,
|
|
|
+ MouldCode,
|
|
|
+ GroutingUserID,
|
|
|
+ GroutingUserCode,
|
|
|
+ GroutingNum,
|
|
|
+ Remarks,
|
|
|
+ AccountDate,
|
|
|
+ SettlementFlag,
|
|
|
+ AccountID,
|
|
|
+ ValueFlag,
|
|
|
+ CreateTime,
|
|
|
+ CreateUserID,
|
|
|
+ UpdateTime,
|
|
|
+ UpdateUserID,
|
|
|
+ OPTimeStamp,
|
|
|
+ 1,
|
|
|
+ LogoID,
|
|
|
+ BackOutTime,BackOutUserID,BackOutUserCode,CheckTime
|
|
|
+ from TP_PM_ProductionData where valueflag=1 and barcode=:barcode
|
|
|
+ ";
|
|
|
+ returnRows += oracleTrConn.ExecuteNonQuery(sql, Paras);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 3 停用在产生产数据包装数据
|
|
|
+ sql = "update TP_PM_ProductionDataIn set valueflag=0,updateuserID=" + sUserInfo.UserID
|
|
|
+ + " where ProductionDataID=(select max(ProductionDataID) from TP_PM_ProductionDataIn where barcode=:barcode and valueflag=1)";
|
|
|
+ returnRows += oracleTrConn.ExecuteNonQuery(sql, Paras);
|
|
|
+
|
|
|
+ // 4 插入在产数据
|
|
|
+ // 修正 撤销包装时 副品变正品
|
|
|
+ sql = $@"insert into TP_PM_InProduction
|
|
|
+ (
|
|
|
+ BarCode,
|
|
|
+ ProductionLineID,
|
|
|
+ ProductionLineCode,
|
|
|
+ ProductionLineName,
|
|
|
+ FlowProcedureID,
|
|
|
+ FlowProcedureTime,
|
|
|
+ ProcedureID,
|
|
|
+ ProcedureTime,
|
|
|
+ ProductionDataID,
|
|
|
+ ProcedureModel,
|
|
|
+ ModelType,
|
|
|
+ DefectFlag,
|
|
|
+ ReworkProcedureID,
|
|
|
+ IsPublicBody,
|
|
|
+ IsReFire,
|
|
|
+ SpecialRepairFlag,
|
|
|
+ GoodsLevelID,
|
|
|
+ GoodsLevelTypeID,
|
|
|
+ GoodsID,
|
|
|
+ GoodsCode,
|
|
|
+ GoodsName,
|
|
|
+ UserID,
|
|
|
+ GroutingDailyID,
|
|
|
+ GroutingDailyDetailID,
|
|
|
+ GroutingDate,
|
|
|
+ GroutingLineID,
|
|
|
+ GroutingLineCode,
|
|
|
+ GroutingLineName,
|
|
|
+ GMouldTypeID,
|
|
|
+ CanManyTimes,
|
|
|
+ GroutingLineDetailID,
|
|
|
+ GroutingMouldCode,
|
|
|
+ MouldCode,
|
|
|
+ GroutingUserID,
|
|
|
+ GroutingUserCode,
|
|
|
+ GroutingNum,
|
|
|
+ Remarks,
|
|
|
+ KilnID,
|
|
|
+ KilnCode,
|
|
|
+ KilnName,
|
|
|
+ KilnCarID,
|
|
|
+ KilnCarCode,
|
|
|
+ KilnCarName,
|
|
|
+ KilnCarBatchNo,
|
|
|
+ KilnCarPosition,
|
|
|
+ AccountID,
|
|
|
+ ValueFlag,
|
|
|
+ CreateTime,
|
|
|
+ CreateUserID,
|
|
|
+ UpdateTime,
|
|
|
+ UpdateUserID,
|
|
|
+ OPTimeStamp,
|
|
|
+ LogoID
|
|
|
+ )
|
|
|
+ select
|
|
|
+ BarCode,
|
|
|
+ ProductionLineID,
|
|
|
+ ProductionLineCode,
|
|
|
+ ProductionLineName,
|
|
|
+ ProcedureID,
|
|
|
+ CreateTime,
|
|
|
+ ProcedureID,
|
|
|
+ CreateTime,
|
|
|
+ ProductionDataID,
|
|
|
+ ProcedureModel,
|
|
|
+ ModelType,
|
|
|
+ 0,
|
|
|
+ ReworkProcedureID,
|
|
|
+ IsPublicBody,
|
|
|
+ IsReFire,
|
|
|
+ SpecialRepairFlag,
|
|
|
+ {goodsLevelID} AS GoodsLevelID,
|
|
|
+ {goodsLevelTypeID} AS GoodsLevelTypeID,
|
|
|
+ GoodsID,
|
|
|
+ GoodsCode,
|
|
|
+ GoodsName,
|
|
|
+ UserID,
|
|
|
+ GroutingDailyID,
|
|
|
+ GroutingDailyDetailID,
|
|
|
+ GroutingDate,
|
|
|
+ GroutingLineID,
|
|
|
+ GroutingLineCode,
|
|
|
+ GroutingLineName,
|
|
|
+ GMouldTypeID,
|
|
|
+ CanManyTimes,
|
|
|
+ GroutingLineDetailID,
|
|
|
+ GroutingMouldCode,
|
|
|
+ MouldCode,
|
|
|
+ GroutingUserID,
|
|
|
+ GroutingUserCode,
|
|
|
+ GroutingNum,
|
|
|
+ Remarks,
|
|
|
+ KilnID,
|
|
|
+ KilnCode,
|
|
|
+ KilnName,
|
|
|
+ KilnCarID,
|
|
|
+ KilnCarCode,
|
|
|
+ KilnCarName,
|
|
|
+ KilnCarBatchNo,
|
|
|
+ KilnCarPosition,
|
|
|
+ AccountID,
|
|
|
+ ValueFlag,
|
|
|
+ CreateTime,
|
|
|
+ CreateUserID,
|
|
|
+ UpdateTime,
|
|
|
+ UpdateUserID,
|
|
|
+ OPTimeStamp,
|
|
|
+ LogoID
|
|
|
+ from TP_PM_ProductionData where TP_PM_ProductionData.ProductionDataID=(select max(ProductionDataID) from TP_PM_ProductionData where barcode=:barcode and valueflag=1)";
|
|
|
+
|
|
|
+ returnRows += oracleTrConn.ExecuteNonQuery(sql, Paras);
|
|
|
+ // 5 删除产成品表
|
|
|
+ sql = "delete from tp_pm_finishedproduct where barcode=:barcode and valueflag=1";
|
|
|
+ returnRows += oracleTrConn.ExecuteNonQuery(sql, Paras);
|
|
|
+
|
|
|
+ // 6保存质量登记的 逻辑
|
|
|
+ int isInProduction = 1;
|
|
|
+ #region 修改条码
|
|
|
+ if (productionData.ProductionDataID > 0) //表示编辑条码
|
|
|
+ {
|
|
|
+ #region 验证改判有效期
|
|
|
+ // 前台已有相关验证,但还是产生了超期改判,后台保存前增加验证。
|
|
|
+ string sqlString = "select pdin.createtime from tp_pm_productiondatain pdin where pdin.productiondataid = " + productionData.ProductionDataID;
|
|
|
+ DateTime createtime = Convert.ToDateTime(oracleTrConn.GetSqlResultToObj(sqlString)).Date;
|
|
|
+
|
|
|
+ // 参数验证用服务端当前设置
|
|
|
+ sqlString = "SELECT sst.settingvalue\n" +
|
|
|
+ " FROM tp_mst_systemsetting sst\n" +
|
|
|
+ " WHERE sst.accountid = " + sUserInfo.AccountID + "\n" +
|
|
|
+ " AND sst.settingcode = 'S_PM_009'";
|
|
|
+ string strValue = oracleTrConn.GetSqlResultToStr(sqlString);
|
|
|
+
|
|
|
+ int days = 0;
|
|
|
+ int pDays = 0;
|
|
|
+ if (int.TryParse(strValue, out pDays))
|
|
|
+ {
|
|
|
+ days = pDays;
|
|
|
+ }
|
|
|
+ if (days != 0 && createtime <= DateTime.Now.Date.AddDays(-days))
|
|
|
+ {
|
|
|
+ return string.Format(Messages.MSG_S_PM_009, createtime.ToString("yyyy-MM-dd"), days.ToString(), createtime.AddDays(days - 1).ToString("yyyy-MM-dd"));
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ //
|
|
|
+
|
|
|
+ //如果原来是 次品 / 废品 xuwei modify 2019-12-13 加入 废品识别
|
|
|
+ if (productionData.OrgGoodsLevelTypeID == Constant.GoodsLevelType.Reject.GetHashCode()
|
|
|
+ ||
|
|
|
+ productionData.OrgGoodsLevelTypeID == Constant.GoodsLevelType.Waste.GetHashCode()
|
|
|
+ ||
|
|
|
+ productionData.OrgGoodsLevelTypeID == 20 // 中陶特加 废品(废品就是报费,直接扔的那种) 2024-07-09
|
|
|
+ )
|
|
|
+ {
|
|
|
+ //改为 次品 废品 xuwei modify 2019-12-13 加入废品识别
|
|
|
+ if (productionData.GoodsLevelTypeID == Constant.GoodsLevelType.Reject.GetHashCode()
|
|
|
+ ||
|
|
|
+ productionData.GoodsLevelTypeID == Constant.GoodsLevelType.Waste.GetHashCode()
|
|
|
+ ||
|
|
|
+ productionData.GoodsLevelTypeID == 20 // 中陶特加 废品(废品就是报费,直接扔的那种) 2024-07-09
|
|
|
+ )
|
|
|
+ {
|
|
|
+ // 删除生产数据及相关表与报损表
|
|
|
+ errMsg = DeleteSubstandardToSubstandardByID(oracleTrConn, productionData.ProductionDataID, productionData.Barcode, sUserInfo);
|
|
|
+ if (!string.IsNullOrEmpty(errMsg))
|
|
|
+ {
|
|
|
+ return errMsg;
|
|
|
+ }
|
|
|
+ RejectToReject = true;
|
|
|
+ } //改为不是 次品 废品 xuwei modify 2019-12-13 加入废品识别
|
|
|
+ else if (productionData.GoodsLevelTypeID != Constant.GoodsLevelType.Reject.GetHashCode()
|
|
|
+ &&
|
|
|
+ productionData.GoodsLevelTypeID != Constant.GoodsLevelType.Waste.GetHashCode()
|
|
|
+ &&
|
|
|
+ productionData.GoodsLevelTypeID != 20 // 中陶特加 废品(废品就是报费,直接扔的那种) 2024-07-09
|
|
|
+ )
|
|
|
+ {
|
|
|
+ // 删除生产数据及相关表与报损表
|
|
|
+ errMsg = DeleteSubstandardToOtherByID(oracleTrConn, productionData.ProductionDataID, productionData.Barcode, sUserInfo);
|
|
|
+ if (!string.IsNullOrEmpty(errMsg))
|
|
|
+ {
|
|
|
+ return errMsg;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ // 原来产品分级不是次品
|
|
|
+ errMsg = DeleteNormalToOtherByID(oracleTrConn, productionData.ProductionDataID, productionData.Barcode, sUserInfo);
|
|
|
+ if (!string.IsNullOrEmpty(errMsg))
|
|
|
+ {
|
|
|
+ return errMsg;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ // 查询新插入的生产数据ID
|
|
|
+ sql = "select SEQ_PM_ProductionData_ID.nextval from dual";
|
|
|
+ string idStr = oracleTrConn.GetSqlResultToStr(sql);
|
|
|
+ int productionDataID = 0;
|
|
|
+ if (!string.IsNullOrEmpty(idStr))
|
|
|
+ {
|
|
|
+ productionDataID = int.Parse(idStr);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return string.Format(Messages.MSG_CMN_W001, "条码", "保存");
|
|
|
+ }
|
|
|
+ int? ClassesSettingID = null;//班次配置ID
|
|
|
+
|
|
|
+ #region 添加生产者数据
|
|
|
+ errMsg = AddProducer(oracleTrConn, accountDate, productionDataID, productionData.UserID, productionData.UserName, sUserInfo, ref ClassesSettingID);
|
|
|
+ if (!string.IsNullOrEmpty(errMsg))
|
|
|
+ {
|
|
|
+ return errMsg;
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 添加生产数据---将备注添加特殊的字符串
|
|
|
+ #region 属性赋值
|
|
|
+ // 将备注添加特殊的字符串250521
|
|
|
+ productionData.Remarks = string.IsNullOrWhiteSpace(productionData.Remarks)? "复检备注": productionData.Remarks;
|
|
|
+ productionData.ClassesSettingID = ClassesSettingID;
|
|
|
+ productionData.ProductionDataID = Convert.ToInt32(idStr);
|
|
|
+ productionData.CentralizedBatchNo = centralizedBatchNo;
|
|
|
+ // web页面传过来250603
|
|
|
+ //productionData.ProductionLineID = procedure.ProductionLineID;
|
|
|
+ //productionData.ProductionLineCode = procedure.ProductionlineCode;
|
|
|
+ //productionData.ProductionLineName = procedure.ProductionlineName;
|
|
|
+ productionData.CompleteProcedureID = productionData.ProcedureID;
|
|
|
+ //productionData.ProcedureCode = procedure.ProcedureCode;
|
|
|
+ //productionData.ProcedureName = procedure.ProcedureName;
|
|
|
+ //productionData.ProcedureModel = procedure.ProcedureModel;
|
|
|
+ //productionData.ModelType = procedure.ModelType;
|
|
|
+ productionData.NodeType = 2;// procedure.NodeType;
|
|
|
+ productionData.IsPublicBody = IsPubilcByBarCode(oracleTrConn, productionData.Barcode);
|
|
|
+ // 重烧
|
|
|
+ if (productionData.GoodsLevelTypeID == (int)Constant.GoodsLevelType.ReFire)
|
|
|
+ {
|
|
|
+ productionData.IsReFire = (int)Constant.ReFireFlag.No;//产品分级的时候,并不标记,走过重烧第一个结点之后,更新此字段
|
|
|
+
|
|
|
+ }
|
|
|
+ // 次品 废品 xuwei 2019-12-13 加入 废品识别
|
|
|
+ else if (productionData.GoodsLevelTypeID == (int)Constant.GoodsLevelType.Reject
|
|
|
+ ||
|
|
|
+ productionData.GoodsLevelTypeID == (int)Constant.GoodsLevelType.Waste
|
|
|
+ ||
|
|
|
+ productionData.GoodsLevelTypeID == 20 // 中陶特加 废品(废品就是报费,直接扔的那种) 2024-07-09
|
|
|
+ )
|
|
|
+ {
|
|
|
+ substandardFlag = true;
|
|
|
+ }
|
|
|
+ // productionData.OrganizationID = procedure.OrganizationID;
|
|
|
+ //productionData.GoodsID = goodsID;
|
|
|
+ //productionData.GoodsCode = goodsCode;
|
|
|
+ //productionData.GoodsName = goodsName;
|
|
|
+ productionData.GoodsLevelID = productionData.GoodsLevelID;
|
|
|
+ productionData.GoodsLevelTypeID = productionData.GoodsLevelTypeID;
|
|
|
+
|
|
|
+ #endregion
|
|
|
+ string OutSpecialRepairflag = "0";//干补标识
|
|
|
+ errMsg = AddFinishCheckProductionData(oracleTrConn, accountDate, productionData, sUserInfo, out OutSpecialRepairflag);
|
|
|
+ if (!string.IsNullOrEmpty(errMsg))
|
|
|
+ {
|
|
|
+ return errMsg;
|
|
|
+ }
|
|
|
+
|
|
|
+ #endregion
|
|
|
+ #region 条码有缺陷
|
|
|
+ #region 是次品 添加废弃产品
|
|
|
+ string ResponProcedureidStr = "";
|
|
|
+ if (substandardFlag)
|
|
|
+ {
|
|
|
+ #region 修改在产产品数据的当前工序,防止直接报损在产工序没有改过来,记录的是上一个工序
|
|
|
+ string updateInInProductionForScrap = @"Update tp_pm_inproduction
|
|
|
+ set FlowProcedureID=:flowProcedureID,ProcedureID=:flowProcedureID where barcode=:barcode";
|
|
|
+
|
|
|
+ oracleTrConn.ExecuteNonQuery(updateInInProductionForScrap,
|
|
|
+ new OracleParameter[] {
|
|
|
+ new OracleParameter(":barcode",productionData.Barcode),
|
|
|
+ new OracleParameter(":flowProcedureID",productionData.ProcedureID)}
|
|
|
+ );
|
|
|
+ #endregion
|
|
|
+
|
|
|
+
|
|
|
+ #region 添加废弃产品
|
|
|
+ ScrapProductEntity scrapProduct = new ScrapProductEntity();
|
|
|
+
|
|
|
+ #region 属性赋值
|
|
|
+ scrapProduct.BarCode = productionData.Barcode;
|
|
|
+ scrapProduct.ScrapType = Constant.ScrapType.Substandard.GetHashCode();
|
|
|
+ scrapProduct.ResponType = Constant.ScrapResponType.Procedure.GetHashCode();
|
|
|
+ scrapProduct.ScrapDate = accountDate;
|
|
|
+ scrapProduct.Rreason = Constant.SCRAPTYPE_SUBSTANDARD;
|
|
|
+ scrapProduct.AuditStatus = Constant.AuditStatus.Agree.GetHashCode();
|
|
|
+ scrapProduct.Auditor = sUserInfo.UserID;
|
|
|
+ scrapProduct.AuditlDate = accountDate;
|
|
|
+ scrapProduct.AccountDate = accountDate;
|
|
|
+ scrapProduct.GoodsLevelID = productionData.GoodsLevelID;
|
|
|
+ scrapProduct.GoodsLevelTypeID = productionData.GoodsLevelTypeID;
|
|
|
+ scrapProduct.IsPublicBody = productionData.IsPublicBody;
|
|
|
+ // 查询新插入的废弃ID
|
|
|
+ string ResponProceduresql = "select SEQ_PM_ScrapProduct_ID.nextval from dual";
|
|
|
+ ResponProcedureidStr = oracleTrConn.GetSqlResultToStr(ResponProceduresql);
|
|
|
+ scrapProduct.ScrapProductID = Convert.ToInt32(ResponProcedureidStr);
|
|
|
+ scrapProduct.ScrapType = 1;
|
|
|
+ scrapProduct.IsQualityStatistics = 1;//新加的,因为这个报损方法是共通的,用于区别是哪里传进去的
|
|
|
+ scrapProduct.ProductionDataID = productionData.ProductionDataID;
|
|
|
+ #endregion
|
|
|
+ if (!RejectToReject) //不是次品到次品 wangxin 20150417
|
|
|
+ {
|
|
|
+ // 保存报废
|
|
|
+ errMsg = AddScrapProduct(oracleTrConn, scrapProduct, sUserInfo);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (isInProduction == 1)
|
|
|
+ {
|
|
|
+ errMsg = AddScrapProduct(oracleTrConn, scrapProduct, sUserInfo);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ // 保存报废
|
|
|
+ errMsg = AddScrapProductRejectToReject(oracleTrConn, scrapProduct, sUserInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //不是次品到次品 wangxin 20150417
|
|
|
+ // 保存失败
|
|
|
+ if (!string.IsNullOrEmpty(errMsg))
|
|
|
+ {
|
|
|
+ return errMsg;
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ // 存在缺陷 插入缺陷表
|
|
|
+ if (productionData.ProductionDefects != null)
|
|
|
+ {
|
|
|
+ foreach (ProductionDefectEntity productionDefect in productionData.ProductionDefects)
|
|
|
+ {
|
|
|
+ #region 保存缺陷
|
|
|
+ productionDefect.ProductionDataID = productionDataID;
|
|
|
+ productionDefect.BarCode = productionData.Barcode;
|
|
|
+ productionDefect.ProductionLineID = productionData.ProductionLineID;
|
|
|
+ productionDefect.ProductionLineCode = productionData.ProductionLineCode;
|
|
|
+ productionDefect.ProductionLineName = productionData.ProductionLineName;
|
|
|
+ productionDefect.ProcedureID = productionData.ProcedureID;
|
|
|
+ productionDefect.ProcedureCode = productionData.ProcedureCode;
|
|
|
+ productionDefect.ProcedureName = productionData.ProcedureName;
|
|
|
+ productionDefect.UserID = productionData.UserID;
|
|
|
+ productionDefect.UserCode = productionData.UserCode;
|
|
|
+ productionDefect.UserName = productionData.UserName;
|
|
|
+ productionDefect.GoodsID = productionData.GoodsID;
|
|
|
+ productionDefect.GoodsCode = productionData.GoodsCode;
|
|
|
+ productionDefect.GoodsName = productionData.GoodsName;
|
|
|
+ productionData.Remarks = productionData.Remarks;
|
|
|
+ productionDefect.ScrapResponFlag
|
|
|
+ = string.IsNullOrEmpty(productionDefect.ScrapResponFlag) ? "0" : productionDefect.ScrapResponFlag;
|
|
|
+
|
|
|
+ // 保存缺陷
|
|
|
+ errMsg = AddDefect(oracleTrConn, productionDefect, sUserInfo);
|
|
|
+
|
|
|
+ if (!string.IsNullOrEmpty(errMsg))
|
|
|
+ {
|
|
|
+ return errMsg;
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ #region 是次品 添加废弃责任工序
|
|
|
+ if (substandardFlag)
|
|
|
+ {
|
|
|
+ //if (productionDefect.DefectProcedureID != null)
|
|
|
+ {
|
|
|
+ #region 添加责任工序
|
|
|
+ ResponProcedureEntity responProce = new ResponProcedureEntity();
|
|
|
+ //// 查询新插入的废弃ID
|
|
|
+ //string ResponProceduresql = "select SEQ_PM_ScrapProduct_ID.Currval from dual";
|
|
|
+ //string ResponProcedureidStr = oracleTrConn.GetSqlResultToStr(ResponProceduresql);
|
|
|
+ #region 属性赋值
|
|
|
+ responProce.BarCode = productionData.Barcode;
|
|
|
+ responProce.ProductionDataID = productionDataID;
|
|
|
+ responProce.ProductionLineID = productionDefect.ProductionLineID;
|
|
|
+ responProce.ProductionLineCode = productionDefect.ProductionLineCode;
|
|
|
+ responProce.ProductionLineName = productionDefect.ProductionLineName;
|
|
|
+ responProce.ProcedureID = productionDefect.DefectProcedureID;
|
|
|
+ responProce.ProcedureCode = productionDefect.DefectProcedureCode;
|
|
|
+ responProce.ProcedureName = productionDefect.DefectProcedureName;
|
|
|
+ responProce.UserID = productionDefect.DefectUserID;
|
|
|
+ responProce.UserCode = productionDefect.DefectUserCode;
|
|
|
+ responProce.UserName = productionDefect.DefectUserName;
|
|
|
+ responProce.Remarks = productionDefect.Remarks;
|
|
|
+ responProce.ScrapProductID = Convert.ToInt32(ResponProcedureidStr);
|
|
|
+ #endregion
|
|
|
+ // 保存责任工序
|
|
|
+ errMsg = AddResponProcedure(oracleTrConn, responProce, productionDefect, sUserInfo);
|
|
|
+ // 保存失败
|
|
|
+ if (!string.IsNullOrEmpty(errMsg))
|
|
|
+ {
|
|
|
+ return errMsg;
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ }
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ }
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ #region 条码是次品 删除在产产品数据
|
|
|
+ if (substandardFlag)
|
|
|
+ {
|
|
|
+ #region 删除在产产品数据
|
|
|
+ InProductionEntity delInProductionEntity = new InProductionEntity();
|
|
|
+ delInProductionEntity.BarCode = productionData.Barcode;
|
|
|
+ delInProductionEntity.CompleteProcedureID = productionData.ProcedureID;
|
|
|
+ delInProductionEntity.ProductionDataID = productionDataID;
|
|
|
+ delInProductionEntity.GoodsLevelID = productionData.GoodsLevelID;
|
|
|
+ delInProductionEntity.GoodsLevelTypeID = productionData.GoodsLevelTypeID;
|
|
|
+ // 执行删除 在产数据
|
|
|
+ errMsg = DeletePDAInProduction(oracleTrConn, delInProductionEntity, false, sUserInfo);
|
|
|
+ // 执行失败
|
|
|
+ if (!string.IsNullOrEmpty(errMsg))
|
|
|
+ {
|
|
|
+ return errMsg;
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ #region 条码不是次品
|
|
|
+ if (!substandardFlag)
|
|
|
+ {
|
|
|
+ #region 中间工序/重烧 修改在产产品数据
|
|
|
+
|
|
|
+ #region 修改在产产品数据的当前工序
|
|
|
+
|
|
|
+ InProductionEntity inProductionEntity = new InProductionEntity();
|
|
|
+ inProductionEntity.BarCode = productionData.Barcode;
|
|
|
+ //流程工序
|
|
|
+ inProductionEntity.FlowProcedureID = productionData.ProcedureID;
|
|
|
+ // 当前工序
|
|
|
+ //inProductionEntity.CompleteProcedureID = procedure.ProcedureID;
|
|
|
+ inProductionEntity.ProcedureID = productionData.ProcedureID;
|
|
|
+ //生产数据ID
|
|
|
+ inProductionEntity.ProductionDataID = productionDataID;
|
|
|
+ // 工序模型
|
|
|
+ inProductionEntity.ProcedureModel = productionData.ProcedureModel;
|
|
|
+ // 工序类别
|
|
|
+ inProductionEntity.ModelType = productionData.ModelType;
|
|
|
+ // 生产工号
|
|
|
+ inProductionEntity.UserID = productionData.UserID;
|
|
|
+ // 重烧
|
|
|
+ inProductionEntity.IsReFire = productionData.IsReFire;
|
|
|
+ // 缺陷
|
|
|
+ inProductionEntity.DefectFlag = productionData.DefectFlag;
|
|
|
+ // 产品分级
|
|
|
+ inProductionEntity.GoodsGrade = productionData.GoodsGrade;
|
|
|
+ // 返工工序ID
|
|
|
+ inProductionEntity.ReworkProcedureID = productionData.ReworkProcedureID;
|
|
|
+ inProductionEntity.GoodsLevelID = productionData.GoodsLevelID;
|
|
|
+ inProductionEntity.GoodsLevelTypeID = productionData.GoodsLevelTypeID;
|
|
|
+ inProductionEntity.IsPublicBody = productionData.IsPublicBody;
|
|
|
+ // 执行修改
|
|
|
+ errMsg = UpdateInProduction(oracleTrConn, inProductionEntity, sUserInfo);
|
|
|
+
|
|
|
+ // 执行失败
|
|
|
+ if (!string.IsNullOrEmpty(errMsg))
|
|
|
+ {
|
|
|
+ return errMsg;
|
|
|
+ }
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ #region 写入检验标识 CheckFlag 用于计件 xuwei 2020-04-21
|
|
|
+ oracleTrConn.ExecuteNonQuery(@"
|
|
|
+ UPDATE
|
|
|
+ TP_PM_PRODUCTIONDATA SET CHECKFLAG = :CHECKFLAG
|
|
|
+ WHERE
|
|
|
+ PRODUCTIONDATAID = :PRODUCTIONDATAID
|
|
|
+ ",
|
|
|
+ new OracleParameter[] {
|
|
|
+ new OracleParameter(":CHECKFLAG",productionData.CheckFlag),
|
|
|
+ new OracleParameter(":PRODUCTIONDATAID",productionDataID)
|
|
|
+ }
|
|
|
+ );
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 添加二检的数据-上面插入的最新的质量登记或重烧数据
|
|
|
+
|
|
|
+ //添加二检的数据
|
|
|
+ sql = "insert into tp_pm_productiondata_semicheck"
|
|
|
+ + " (productiondataid,"
|
|
|
+ + " semicheckprocedureid,"
|
|
|
+ + " accountid,"
|
|
|
+ + " createuserid,"
|
|
|
+ + " updateuserid,"
|
|
|
+ + " createtime,"
|
|
|
+ + " updatetime )"
|
|
|
+ + " values"
|
|
|
+ + " (:productiondataid,"
|
|
|
+ + " :semicheckprocedureid,"
|
|
|
+ + " :accountid,"
|
|
|
+ + " :createuserid,"
|
|
|
+ + " :updateuserid,"
|
|
|
+ + " sysdate,"
|
|
|
+ + " sysdate )";
|
|
|
+
|
|
|
+ OracleParameter[] paras = new OracleParameter[] {
|
|
|
+ new OracleParameter(":productiondataid",OracleDbType.Int32, productionData.ProductionDataID,ParameterDirection.Input),
|
|
|
+ new OracleParameter(":semicheckprocedureid",OracleDbType.Int32,procedureID,ParameterDirection.Input),
|
|
|
+ new OracleParameter(":accountid",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
|
|
|
+ new OracleParameter(":createuserid",OracleDbType.Int32,sUserInfo.UserID,ParameterDirection.Input),
|
|
|
+ new OracleParameter(":updateuserid",OracleDbType.Int32,sUserInfo.UserID,ParameterDirection.Input)
|
|
|
+ };
|
|
|
+ int result = oracleTrConn.ExecuteNonQuery(sql, paras);
|
|
|
+ #endregion
|
|
|
+ }
|
|
|
+ return errMsg;
|
|
|
+ }
|
|
|
}
|
|
|
}
|