public void Delete(AscmWmsMtlReturnMain ascmWmsMtlReturnMain) { try { YnDaoHelper.GetInstance().nHibernateHelper.Delete<AscmWmsMtlReturnMain>(ascmWmsMtlReturnMain); } catch (Exception ex) { YnBaseClass2.Helper.LogHelper.GetLog().Error("删除失败(Delete AscmWmsMtlReturnMain)", ex); throw ex; } }
public OracleParameter[] GetMaterialReturnParams(AscmWmsMtlReturnMain ascmWmsMtlReturnMain, List<AscmWmsMtlReturnDetail> listWmsMtlReturnDetail, string userId) { //注意MES存储过程中要求字符串数组长度一致,并且一一对应 string[] itemCodeLst = listWmsMtlReturnDetail.Select(P => P.materialId.ToString()).ToArray(); string[] locIdLst = new string[itemCodeLst.Length]; string[] backQtyLst = listWmsMtlReturnDetail.Select(P => P.quantity.ToString()).ToArray(); string[] moBatchNoLst = new string[itemCodeLst.Length]; string[] labelIds = new string[itemCodeLst.Length]; //为数组元素指定默认值 for (int i = 0; i < itemCodeLst.Length; i++) { locIdLst[i] = ""; moBatchNoLst[i] = ""; labelIds[i] = ""; } return new OracleParameter[] { //库存组织 new OracleParameter{ ParameterName = "i_org_id", OracleDbType = OracleDbType.Int32, Value = orgId, Direction = ParameterDirection.Input }, //MES闭环单号 new OracleParameter{ ParameterName = "i_bill_no", OracleDbType = OracleDbType.Varchar2, Size = 80, Value = ascmWmsMtlReturnMain.docNumber, Direction = ParameterDirection.Input }, //作业号 new OracleParameter{ ParameterName = "i_mo_code", OracleDbType = OracleDbType.Varchar2, Size = 80, Value = ascmWmsMtlReturnMain.wipEntityId, Direction = ParameterDirection.Input }, //仓库 new OracleParameter{ ParameterName = "i_inv_code", OracleDbType = OracleDbType.Varchar2, Size = 80, Value = ascmWmsMtlReturnMain.warehouseId, Direction = ParameterDirection.Input }, //退货区域 new OracleParameter{ ParameterName = "i_return_area", OracleDbType = OracleDbType.Varchar2, Size = 80, Value = ascmWmsMtlReturnMain.returnArea, Direction = ParameterDirection.Input }, //交接人 new OracleParameter{ ParameterName = "i_conn_user", OracleDbType = OracleDbType.Varchar2, Size = 80, Value = "", Direction = ParameterDirection.Input }, //备注 new OracleParameter{ ParameterName = "i_remark", OracleDbType = OracleDbType.Varchar2, Size = 80, Value = ascmWmsMtlReturnMain.memo, Direction = ParameterDirection.Input }, //领料交易取消上传 new OracleParameter{ ParameterName = "i_chk_all_flag", OracleDbType = OracleDbType.Varchar2, Size = 80, Value = "N", Direction = ParameterDirection.Input }, //用户名称 new OracleParameter{ ParameterName = "i_user_code", OracleDbType = OracleDbType.Varchar2, Size = 80, Value = userId, Direction = ParameterDirection.Input }, //物料编码(字符串数组) new OracleParameter{ ParameterName = "i_item_code_lst", OracleDbType = OracleDbType.Varchar2, Value = itemCodeLst, Direction = ParameterDirection.Input, CollectionType = OracleCollectionType.PLSQLAssociativeArray }, //位置(字符串数组) new OracleParameter{ ParameterName = "i_loc_id_lst", OracleDbType = OracleDbType.Varchar2, Value = locIdLst, Direction = ParameterDirection.Input, CollectionType = OracleCollectionType.PLSQLAssociativeArray }, //退料数量(字符串数组) new OracleParameter{ ParameterName = "i_back_qty_lst", OracleDbType = OracleDbType.Varchar2, Value = backQtyLst, Direction = ParameterDirection.Input, CollectionType = OracleCollectionType.PLSQLAssociativeArray }, //生产批次(字符串数组) new OracleParameter{ ParameterName = "i_mo_batch_no_lst", OracleDbType = OracleDbType.Varchar2, Value = moBatchNoLst, Direction = ParameterDirection.Input, CollectionType = OracleCollectionType.PLSQLAssociativeArray }, //标签号(字符串数组) new OracleParameter{ ParameterName = "i_label_id", OracleDbType = OracleDbType.Varchar2, Value = labelIds, Direction = ParameterDirection.Input, CollectionType = OracleCollectionType.PLSQLAssociativeArray }, //退料原因 new OracleParameter{ ParameterName = "i_reason_id", OracleDbType = OracleDbType.Varchar2, Size = 80, Value = ascmWmsMtlReturnMain.reasonId, Direction = ParameterDirection.Input }, //返回参(值为0时表示成功) new OracleParameter{ ParameterName = "o_ret_code", OracleDbType = OracleDbType.Varchar2, Size = 4000, Direction = ParameterDirection.Output }, //返回参(错误信息) new OracleParameter{ ParameterName = "o_ret_msg", OracleDbType = OracleDbType.Varchar2, Size = 4000, Direction = ParameterDirection.Output } }; }
public void Update(AscmWmsMtlReturnMain ascmWmsMtlReturnMain) { try { using (ITransaction tx = YnDaoHelper.GetInstance().nHibernateHelper.GetCurrentSession().BeginTransaction()) { try { YnDaoHelper.GetInstance().nHibernateHelper.Update<AscmWmsMtlReturnMain>(ascmWmsMtlReturnMain); tx.Commit();//正确执行提交 } catch (Exception ex) { tx.Rollback();//回滚 YnBaseClass2.Helper.LogHelper.GetLog().Error("修改失败(Update AscmWmsMtlReturnMain)", ex); throw ex; } } } catch (Exception ex) { YnBaseClass2.Helper.LogHelper.GetLog().Error("修改失败(Save AscmWmsMtlReturnMain)", ex); throw ex; } }
public void DoSysReturn(AscmWmsMtlReturnMain ascmWmsMtlReturnMain, List<AscmWmsMtlReturnDetail> listWmsMtlReturnDetail, string userId, AscmMesInteractiveLog ascmMesInteractiveLog) { try { OracleParameter[] stockTransParams = GetSysReturnParams(ascmWmsMtlReturnMain, listWmsMtlReturnDetail, userId); ISession session = YnDaoHelper.GetInstance().nHibernateHelper.GetCurrentSession(); OracleCommand command = (OracleCommand)session.Connection.CreateCommand(); command.CommandType = CommandType.StoredProcedure; command.CommandText = "cux_mes_ascm_interface_pkg.ascm_do_sys_return"; Array.ForEach<OracleParameter>(stockTransParams, P => command.Parameters.Add(P)); command.ExecuteNonQuery(); ascmMesInteractiveLog.returnCode = stockTransParams[stockTransParams.Length - 2].Value.ToString(); ascmMesInteractiveLog.returnMessage = stockTransParams[stockTransParams.Length - 1].Value.ToString(); if (ascmWmsMtlReturnMain != null) { ascmWmsMtlReturnMain.returnCode = ascmMesInteractiveLog.returnCode; ascmWmsMtlReturnMain.returnMessage = ascmMesInteractiveLog.returnMessage; ascmWmsMtlReturnMain.uploadTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } } catch (Exception ex) { throw ex; } }