Esempio n. 1
0
        public void InsertUpLoadFileInfo(string model, string Department, string uploadFileGUIDName, string uploadFileName, string editor)
        {
            string methodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
            logger.DebugFormat("BEGIN: {0}()", methodName);
            try
            {
                string strSQL = @"select b.ID
                                    from ApprovalItem a
                                    inner join ApprovalStatus b on b.ApprovalItemID=a.ID 
                                    and b.ModuleKeyValue=@Model
                                    and a.Department=@Department
                                    and a.ActionName = 'ReleasePAK' ";
                SqlParameter paraNameModel = new SqlParameter("@Model", SqlDbType.VarChar, 20);
                paraNameModel.Direction = ParameterDirection.Input;
                paraNameModel.Value = model;
                SqlParameter paraNameDepartment = new SqlParameter("@Department", SqlDbType.VarChar, 20);
                paraNameDepartment.Direction = ParameterDirection.Input;
                paraNameDepartment.Value = Department;
                DataTable dt = SqlHelper.ExecuteDataFill(SqlHelper.ConnectionString_GetData, CommandType.Text, strSQL, paraNameModel,paraNameDepartment);
                if (dt.Rows.Count == 0)
                {
                    throw new FisException("CQCHK50111", new string[] {model, Department});
                }
                string temp = dt.Rows[0]["ID"].ToString().Trim();
                UploadFilesInfo condition = new UploadFilesInfo();
                condition.ApprovalStatusID = (long)Convert.ToInt32(temp);
                IList<UploadFilesInfo> uploadlist = new List<UploadFilesInfo>();
                uploadlist = iModelRepository.GetUploadFiles(condition);
                UploadFilesInfo item = new UploadFilesInfo();
                item.ApprovalStatusID = Convert.ToInt32(temp);
                item.UploadFileGUIDName = uploadFileGUIDName;
                item.UploadFileName = uploadFileName;
                item.UploadServerName = "";
                item.Editor = editor;
                item.Cdt = DateTime.Now;
                if (uploadlist.Count == 0)
                {
                    iModelRepository.InsertUploadFiles(item);
                }
                else
                {
                    item.ID = uploadlist[0].ID;
                    iModelRepository.UpdateUploadFiles(item);   
                }

            }
            catch (FisException e)
            {
                logger.Error(e.mErrmsg, e);
                throw new Exception(e.mErrmsg);
            }
            catch (Exception e)
            {
                logger.Error(e.Message, e);
                throw;
            }
            finally
            {
                logger.DebugFormat("END: {0}()", methodName);
            }
        }
Esempio n. 2
0
        private void UpdateFAIModel(string model, string editor)
        {
            IUnitOfWork uow = new UnitOfWork();
            IProductRepository prodRep = RepositoryFactory.GetInstance().GetRepository<IProductRepository, IProduct>();

            IList<IProduct> lstPrds = prodRep.GetProductListByModel(model);
            if (null != lstPrds && lstPrds.Count > 0)
            {
                lstPrds = lstPrds.Where(x => x.ProductInfoes.Any(y => (y.InfoType == "FAIinFA" || y.InfoType == "FAIinPAK") && y.InfoValue == "Y")).ToList();
                foreach (IProduct p in lstPrds)
                {
                    prodRep.BackUpProductInfoDefered(uow, p.ProId, editor, "FAIinFA");
                    prodRep.BackUpProductInfoDefered(uow, p.ProId, editor, "FAIinPAK");

                    IMES.FisObject.FA.Product.ProductInfo item = new IMES.FisObject.FA.Product.ProductInfo();
                    item.ProductID = p.ProId;
                    item.InfoType = "FAIinFA";
                    item.InfoValue = "";
                    item.Editor = editor;

                    IMES.FisObject.FA.Product.ProductInfo cond = new IMES.FisObject.FA.Product.ProductInfo();
                    cond.ProductID = p.ProId;
                    cond.InfoType = "FAIinFA";
                    prodRep.UpdateProductInfoDefered(uow, item, cond);

                    //

                    item = new IMES.FisObject.FA.Product.ProductInfo();
                    item.ProductID = p.ProId;
                    item.InfoType = "FAIinPAK";
                    item.InfoValue = "";
                    item.Editor = editor;

                    cond = new IMES.FisObject.FA.Product.ProductInfo();
                    cond.ProductID = p.ProId;
                    cond.InfoType = "FAIinPAK";
                    prodRep.UpdateProductInfoDefered(uow, item, cond);

                }
            }

            string OnlyNeedOQCApprove = CommonImpl.GetInstance().GetValueFromSysSetting("OnlyNeedOQCApprove");
            string FAIFAQty = CommonImpl.GetInstance().GetValueFromSysSetting("FAIFAQty");
            string FAIPAKQty = CommonImpl.GetInstance().GetValueFromSysSetting("FAIPAKQty");

            // 刪除
            ApprovalStatusInfo condApprovalStatus = new ApprovalStatusInfo();
            condApprovalStatus.ModuleKeyValue = model;
            IList<ApprovalStatusInfo> lstApprovalStatus = iModelRepository.GetApprovalStatus(condApprovalStatus);
            if (null != lstApprovalStatus && lstApprovalStatus.Count > 0)
            {
                foreach (ApprovalStatusInfo approvalStatusInfo in lstApprovalStatus)
                {
                    UploadFilesInfo condUploadFiles = new UploadFilesInfo();
                    condUploadFiles.ApprovalStatusID = approvalStatusInfo.ID;
                    IList<UploadFilesInfo> lstUploadFilesInfo = iModelRepository.GetUploadFiles(condUploadFiles);
                    if (null != lstUploadFilesInfo && lstUploadFilesInfo.Count > 0)
                    {
                        foreach (UploadFilesInfo uploadFilesInfo in lstUploadFilesInfo)
                            iModelRepository.DeleteUploadFiles(uploadFilesInfo.ID);
                    }

                    iModelRepository.DeleteApprovalStatus(approvalStatusInfo.ID);
                }
            }

            string FAState = "";
            // 新增ApprovalStatus
            if ("Y" == OnlyNeedOQCApprove)
            {
                string strSQL = @"insert into ApprovalStatus(
ApprovalItemID, ModuleKeyValue, 
Status, Editor, Cdt, Udt)
select 
a.ID, b.Model as ModuleKeyValue, 
case when IsNeedApprove='Y' 
	  then 'Waiting'
	  else 'Option'
      end as [Status], @CurrentUser, 
GETDATE() as Cdt, GETDATE() as Udt
from ApprovalItem a , FAIModel b
where b.Model=@OpenModel and 
a.Module= 'FAI'+b.ModelType and 
a.Department = 'OQC'";

                SqlParameter[] paramsArray = new SqlParameter[2];
                paramsArray[0] = new SqlParameter("@CurrentUser", SqlDbType.VarChar);
                paramsArray[0].Value = editor;
                paramsArray[1] = new SqlParameter("@OpenModel", SqlDbType.VarChar);
                paramsArray[1].Value = model;

                SqlHelper.ExecuteNonQuery(SqlHelper.ConnectionString_FA,
                                                                                    System.Data.CommandType.Text,
                                                                                    strSQL,
                                                                                    paramsArray);

                FAState = "Approval";
            }
            else if (string.IsNullOrEmpty(OnlyNeedOQCApprove) || "N" == OnlyNeedOQCApprove)
            {
                string strSQL = @"insert into ApprovalStatus(
ApprovalItemID, ModuleKeyValue, 
Status, Editor, Cdt, Udt)
select a.ID, b.Model as ModuleKeyValue, 
		case when IsNeedApprove='Y' 
		then 'Waiting'
		else 'Option'
		end as [Status], @CurrentUser, GETDATE() as Cdt, GETDATE() as Udt
from ApprovalItem a , FAIModel b
where b.Model=@OpenModel and 
       a.Module= 'FAI'+b.ModelType
";

                SqlParameter[] paramsArray = new SqlParameter[2];
                paramsArray[0] = new SqlParameter("@CurrentUser", SqlDbType.VarChar);
                paramsArray[0].Value = editor;
                paramsArray[1] = new SqlParameter("@OpenModel", SqlDbType.VarChar);
                paramsArray[1].Value = model;

                SqlHelper.ExecuteNonQuery(SqlHelper.ConnectionString_FA,
                                                                                    System.Data.CommandType.Text,
                                                                                    strSQL,
                                                                                    paramsArray);

                FAState = "Waiting";
            }

            DateTime now = DateTime.Now;

            FAIModelInfo itemFai = iModelRepository.GetFAIModelByModel(model);
            itemFai.Model = model;
            itemFai.PlanInputDate = new DateTime(now.Year, now.Month, now.Day, 0, 0, 0, 0);
            itemFai.FAQty = int.Parse(FAIFAQty);
            itemFai.inFAQty = 0;
            itemFai.PAKQty = int.Parse(FAIPAKQty);
            itemFai.inPAKQty = 0;
            itemFai.FAState = FAState;
            itemFai.PAKState = "Hold";
            itemFai.Remark = "Reopen";
            itemFai.Editor = editor;
            itemFai.Cdt = now;
            itemFai.Udt = now;
            
            iModelRepository.UpdateFAIModelDefered(uow, itemFai);

            uow.Commit();
        }