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); } }
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(); }