コード例 #1
0
 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;
     }
 }
コード例 #2
0
ファイル: AscmMesService.cs プロジェクト: gofixiao/Midea
        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;
            }
        }
コード例 #3
0
 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;
     }
 }
コード例 #4
0
ファイル: AscmMesService.cs プロジェクト: gofixiao/Midea
        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
                }
            };
        }