public void Delete(AscmWmsIncManAccMain ascmWmsIncManAccMain) { try { YnDaoHelper.GetInstance().nHibernateHelper.Delete<AscmWmsIncManAccMain>(ascmWmsIncManAccMain); } catch (Exception ex) { YnBaseClass2.Helper.LogHelper.GetLog().Error("删除失败(Delete AscmWmsIncManAccMain)", ex); throw ex; } }
public void DoManualReceive(AscmWmsIncManAccMain ascmWmsIncManAccMain, List<AscmWmsIncManAccDetail> listAscmWmsIncManAccDetail, string userId, AscmMesInteractiveLog ascmMesInteractiveLog) { try { string pKey = ""; OracleParameter[] manualReceiveParams = GetManualReceiveParams(ascmWmsIncManAccMain, listAscmWmsIncManAccDetail, userId, out pKey); lock (objLockKey) { if (AscmKeys.ContainsKey(pKey)) { return; } AscmKeys[pKey] = ""; } 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_manual_receive"; Array.ForEach<OracleParameter>(manualReceiveParams, P => command.Parameters.Add(P)); command.ExecuteNonQuery(); ascmMesInteractiveLog.returnCode = manualReceiveParams[manualReceiveParams.Length - 2].Value.ToString(); ascmMesInteractiveLog.returnMessage = manualReceiveParams[manualReceiveParams.Length - 1].Value.ToString(); if (ascmWmsIncManAccMain != null) { ascmWmsIncManAccMain.returnCode = ascmMesInteractiveLog.returnCode; ascmWmsIncManAccMain.returnMessage = ascmMesInteractiveLog.returnMessage; ascmWmsIncManAccMain.uploadTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } if (AscmKeys.ContainsKey(pKey)) { AscmKeys.Remove(pKey); } } catch (Exception ex) { throw ex; } }
public void Update(AscmWmsIncManAccMain ascmWmsIncManAccMain) { try { using (ITransaction tx = YnDaoHelper.GetInstance().nHibernateHelper.GetCurrentSession().BeginTransaction()) { try { YnDaoHelper.GetInstance().nHibernateHelper.Update<AscmWmsIncManAccMain>(ascmWmsIncManAccMain); tx.Commit();//正确执行提交 } catch (Exception ex) { tx.Rollback();//回滚 YnBaseClass2.Helper.LogHelper.GetLog().Error("修改失败(Update AscmWmsIncManAccMain)", ex); throw ex; } } } catch (Exception ex) { YnBaseClass2.Helper.LogHelper.GetLog().Error("修改失败(Save AscmWmsIncManAccMain)", ex); throw ex; } }
public OracleParameter[] GetManualReceiveParams(AscmWmsIncManAccMain ascmWmsIncManAccMain, List<AscmWmsIncManAccDetail> listAscmWmsIncManAccDetail, string userId, out string paramsKey) { string[] items = listAscmWmsIncManAccDetail.Select(P => P.materialId.ToString()).ToArray(); string[] itemlocs = new string[items.Length]; string[] recqtys = listAscmWmsIncManAccDetail.Select(P => P.receivedQuantity.ToString()).ToArray(); string[] mobatchnos = new string[items.Length]; string[] priorities = new string[items.Length]; string[] istries = new string[items.Length]; string[] tryitemdesc = new string[items.Length]; //为数组元素指定默认值 for (int i = 0; i < items.Length; i++) { itemlocs[i] = ""; mobatchnos[i] = ""; priorities[i] = "IQC_Normal"; istries[i] = "N"; tryitemdesc[i] = ""; } StringBuilder strKey = new StringBuilder(); foreach (var item in items) { strKey.Append(item + ","); } paramsKey = strKey.ToString(); return new OracleParameter[] { //库存组织 new OracleParameter{ ParameterName = "i_org_id", OracleDbType = OracleDbType.Int32, Value = orgId, Direction = ParameterDirection.Input }, //闭环单号 new OracleParameter{ ParameterName = "i_bar_code", OracleDbType = OracleDbType.Varchar2, Size = 80, Value = ascmWmsIncManAccMain.docNumber, Direction = ParameterDirection.Input }, //是否外租仓,默认值N new OracleParameter{ ParameterName = "i_isrentedinv", OracleDbType = OracleDbType.Varchar2, Size = 80, Value = "N", Direction = ParameterDirection.Input }, //收货仓库编码 new OracleParameter{ ParameterName = "i_inv_code", OracleDbType = OracleDbType.Varchar2, Size = 80, Value = ascmWmsIncManAccMain.warehouseId, Direction = ParameterDirection.Input }, //作业号 new OracleParameter{ ParameterName = "i_mo_name", OracleDbType = OracleDbType.Varchar2, Size = 80, Value = "", Direction = ParameterDirection.Input }, //供应商ID new OracleParameter{ ParameterName = "i_supplierid", OracleDbType = OracleDbType.Varchar2, Size = 80, Value = ascmWmsIncManAccMain.supplierId, Direction = ParameterDirection.Input }, //供应商地址ID new OracleParameter{ ParameterName = "i_suppliersetid", OracleDbType = OracleDbType.Varchar2, Size = 80, Value = ascmWmsIncManAccMain.supplierAddressId, Direction = ParameterDirection.Input }, //车牌号码 new OracleParameter{ ParameterName = "i_trucknum", OracleDbType = OracleDbType.Varchar2, Size = 80, Value = ascmWmsIncManAccMain.supperPlateNumber, Direction = ParameterDirection.Input }, //出货子库 new OracleParameter{ ParameterName = "i_from_inv_code", OracleDbType = OracleDbType.Varchar2, Size = 80, Value = ascmWmsIncManAccMain.supperWarehouse, Direction = ParameterDirection.Input }, //联系号码 new OracleParameter{ ParameterName = "i_tel_phone", OracleDbType = OracleDbType.Varchar2, Size = 80, Value = ascmWmsIncManAccMain.supperTelephone, Direction = ParameterDirection.Input }, //备注 new OracleParameter{ ParameterName = "i_memo", OracleDbType = OracleDbType.Varchar2, Size = 240, Value = ascmWmsIncManAccMain.memo, Direction = ParameterDirection.Input }, //物料编码(字符串数组) new OracleParameter{ ParameterName = "i_item", OracleDbType = OracleDbType.Varchar2, Value = items, Direction = ParameterDirection.Input, CollectionType = OracleCollectionType.PLSQLAssociativeArray }, //位置,支持多位置存储,多位置存储时用英文逗号隔开(字符串数组) new OracleParameter{ ParameterName = "i_itemloc", OracleDbType = OracleDbType.Varchar2, Value = itemlocs, Direction = ParameterDirection.Input, CollectionType = OracleCollectionType.PLSQLAssociativeArray }, //实收数量(字符串数组),不可为空 new OracleParameter{ ParameterName = "i_recqty", OracleDbType = OracleDbType.Varchar2, Value = recqtys, Direction = ParameterDirection.Input, CollectionType = OracleCollectionType.PLSQLAssociativeArray }, //生产批次(字符串数组) new OracleParameter{ ParameterName = "i_mobatchno", OracleDbType = OracleDbType.Varchar2, Value = mobatchnos, Direction = ParameterDirection.Input, CollectionType = OracleCollectionType.PLSQLAssociativeArray }, //紧急程度,默认值为:IQC_Normal(字符串数组) new OracleParameter{ ParameterName = "i_priority", OracleDbType = OracleDbType.Varchar2, Value = priorities, Direction = ParameterDirection.Input, CollectionType = OracleCollectionType.PLSQLAssociativeArray }, //试流,默认值为:N(字符串数组) new OracleParameter{ ParameterName = "i_istry", OracleDbType = OracleDbType.Varchar2, Value = istries, Direction = ParameterDirection.Input, CollectionType = OracleCollectionType.PLSQLAssociativeArray }, //试流物料,默认值为空(字符串数组) new OracleParameter{ ParameterName = "i_tryitemdesc", OracleDbType = OracleDbType.Varchar2, Value = tryitemdesc, Direction = ParameterDirection.Input, CollectionType = OracleCollectionType.PLSQLAssociativeArray }, //用户名称 new OracleParameter{ ParameterName = "i_user_code", OracleDbType = OracleDbType.Varchar2, Size = 80, Value = userId, 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 } }; }