public override void UpdateFacilityTrans(FacilityTrans facilityTrans) { if (facilityTrans.TransType == FacilityConstants.CODE_MASTER_FACILITY_TRANSTYPE_MAINTAIN_START || facilityTrans.TransType == FacilityConstants.CODE_MASTER_FACILITY_TRANSTYPE_MAINTAIN_FINISH) { if (!string.IsNullOrEmpty(facilityTrans.BatchNo)) { DetachedCriteria criteria = DetachedCriteria.For<FacilityTrans>(); criteria.Add(Expression.Eq("BatchNo", facilityTrans.BatchNo)); criteria.Add(Expression.Not(Expression.Eq("Id", facilityTrans.Id))); IList<FacilityTrans> facilityTransList = criteriaMgrE.FindAll<FacilityTrans>(criteria); if (facilityTransList != null && facilityTransList.Count > 0) { foreach (FacilityTrans trans in facilityTransList) { trans.StartDate = facilityTrans.StartDate; trans.EndDate = facilityTrans.EndDate; trans.Remark = facilityTrans.Remark; base.UpdateFacilityTrans(trans); } } } } base.UpdateFacilityTrans(facilityTrans); }
public void UpdateFacilityMasterAndCreateFacilityTrans(FacilityMaster facilityMaster, FacilityTrans facilityTrans, string status, string userCode) { #region 记事务 facilityTrans.FacilityCategory = facilityMaster.Category; facilityTrans.AssetNo = facilityMaster.AssetNo; facilityTrans.FacilityName = facilityMaster.Name; facilityTransMgrE.CreateFacilityTrans(facilityTrans); #endregion #region 更新状态 facilityMaster.Status = status; facilityMaster.LastModifyDate = DateTime.Now; facilityMaster.LastModifyUser = userCode; UpdateFacilityMaster(facilityMaster); #endregion #region 保养和检测的需要自动关闭对应的ISI任务 if (facilityTrans.TransType == FacilityConstants.CODE_MASTER_FACILITY_TRANSTYPE_MAINTAIN_FINISH || facilityTrans.TransType == FacilityConstants.CODE_MASTER_FACILITY_TRANSTYPE_INSPECT_FINISH) { DetachedCriteria criteria = DetachedCriteria.For(typeof(TaskMstr)); criteria.CreateAlias("TaskSubType", "t"); criteria.Add(Expression.In("Status", new string[] { ISIConstants.CODE_MASTER_ISI_STATUS_VALUE_ASSIGN, ISIConstants.CODE_MASTER_ISI_STATUS_VALUE_INPROCESS })); criteria.Add(Expression.Eq("t.Code", "SSGL")); criteria.Add(Expression.Eq("Desc2", facilityMaster.FCID)); // criteria.Add(Expression.Eq("f.Status", FacilityConstants.CODE_MASTER_FACILITY_STATUS_AVAILABLE)); IList<TaskMstr> facilityTaskList = criteriaMgrE.FindAll<TaskMstr>(criteria); if (facilityTaskList != null && facilityTaskList.Count > 0) { User user = userMgrE.LoadUser(userCode); TaskMstr t = facilityTaskList.First(); //只关第一条 if (t.Status == ISIConstants.CODE_MASTER_ISI_STATUS_VALUE_ASSIGN) { taskMgrE.ConfirmTask(t.Code, user); } taskMgrE.CompleteTask(t.Code, user); taskMgrE.CloseTask(t.Code, user); } } #endregion }
public override void CreateFacilityMaster(FacilityMaster facilityMaster) { base.CreateFacilityMaster(facilityMaster); #region 记事务 FacilityTrans facilityTrans = new FacilityTrans(); facilityTrans.CreateDate = DateTime.Now; facilityTrans.CreateUser = facilityMaster.CreateUser; facilityTrans.EffDate = DateTime.Now.Date; facilityTrans.FCID = facilityMaster.FCID; facilityTrans.FromChargePerson = facilityMaster.CurrChargePerson; facilityTrans.FromChargePersonName = facilityMaster.CurrChargePersonName; facilityTrans.FromOrganization = facilityMaster.ChargeOrganization; facilityTrans.FromChargeSite = facilityMaster.ChargeSite; facilityTrans.ToChargePerson = facilityMaster.CurrChargePerson; facilityTrans.ToChargePersonName = facilityMaster.CurrChargePersonName; facilityTrans.ToOrganization = facilityMaster.ChargeOrganization; facilityTrans.ToChargeSite = facilityMaster.ChargeSite; facilityTrans.TransType = FacilityConstants.CODE_MASTER_FACILITY_TRANSTYPE_CREATE; facilityTrans.AssetNo = facilityMaster.AssetNo; facilityTrans.FacilityName = facilityMaster.Name; facilityTrans.FacilityCategory = facilityMaster.Category; facilityTransMgrE.CreateFacilityTrans(facilityTrans); #endregion }
public int BatchMaintainFinish(IList<string> fcIdList, string startDate, string endDate, string remark, User user) { int transId = 0; if (fcIdList != null && fcIdList.Count > 0) { DateTime dateTimeNow = DateTime.Now; foreach (string fcId in fcIdList) { FacilityMaster facilityMaster = this.LoadFacilityMaster(fcId); FacilityTrans facilityTrans = new FacilityTrans(); FacilityTrans oldFacilityTrans = this.LoadFacilityMaintain(fcId); CloneHelper.CopyProperty(oldFacilityTrans, facilityTrans); if (!string.IsNullOrEmpty(startDate)) { facilityTrans.StartDate = Convert.ToDateTime(startDate); } if (!string.IsNullOrEmpty(endDate)) { facilityTrans.EndDate = Convert.ToDateTime(endDate); } facilityTrans.CreateDate = DateTime.Now; facilityTrans.CreateUser = user.Code; facilityTrans.EffDate = DateTime.Now.Date; facilityTrans.Remark = remark; facilityTrans.TransType = FacilityConstants.CODE_MASTER_FACILITY_TRANSTYPE_MAINTAIN_FINISH; facilityTrans.BatchNo = "MF" + dateTimeNow.ToString("yyyyMMddhhmmss"); this.UpdateFacilityMasterAndCreateFacilityTrans(facilityMaster, facilityTrans, FacilityConstants.CODE_MASTER_FACILITY_STATUS_AVAILABLE, user.Code); if (transId == 0) { transId = facilityTrans.Id; } } } return transId; }
public void BatchMaintainStart(IList<string> fcidList, User user) { if (fcidList != null && fcidList.Count > 0) { DateTime dateTimeNow = DateTime.Now; foreach (string fcid in fcidList) { FacilityMaster facilityMaster = this.LoadFacilityMaster(fcid); FacilityTrans facilityTrans = new FacilityTrans(); facilityTrans.CreateDate = DateTime.Now; facilityTrans.CreateUser = user.Code; facilityTrans.EffDate = DateTime.Now.Date; facilityTrans.FCID = facilityMaster.FCID; facilityTrans.FromChargePerson = facilityMaster.CurrChargePerson; facilityTrans.FromChargePersonName = facilityMaster.CurrChargePersonName; facilityTrans.FromOrganization = facilityMaster.ChargeOrganization; facilityTrans.FromChargeSite = facilityMaster.ChargeSite; facilityTrans.ToChargePerson = facilityMaster.CurrChargePerson; facilityTrans.ToChargePersonName = facilityMaster.CurrChargePersonName; facilityTrans.ToOrganization = facilityMaster.ChargeOrganization; facilityTrans.ToChargeSite = facilityMaster.ChargeSite; facilityTrans.TransType = FacilityConstants.CODE_MASTER_FACILITY_TRANSTYPE_MAINTAIN_START; facilityTrans.BatchNo = "MS" + dateTimeNow.ToString("yyyyMMddhhmmss"); //facilityTrans.Remark = remark; this.UpdateFacilityMasterAndCreateFacilityTrans(facilityMaster, facilityTrans, FacilityConstants.CODE_MASTER_FACILITY_STATUS_MAINTAIN, user.Code); } } }