public ActionResult Create(string Key, String PositionId, int PipeTypeId, int SentCount) { Account onlineAccount = UserSession.OnlineAccount; IPipeRepository pipeRepository = RepositoryFactory.GetRepository<IPipeRepository, PDCPMS.Model.Common.Pipe>(unitOfWork); IPipeTypeRepository ptRepository = RepositoryFactory.GetRepository<IPipeTypeRepository, PipeType>(unitOfWork); if (PositionId == null) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("找不到目标垛位,垛位调度任务单({0})添加失败!", Key), DisappearDelay = 5000, Type = HintMessageType.Error }; } PipePosition Position = RepositoryFactory.GetRepository<IPipePositionRepository, PipePosition>().FindBy(PositionId); if (PipeTypeId <1) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("找不到应该调度的管材型号,垛位调度任务单({0})添加失败!", Key), DisappearDelay = 5000, Type = HintMessageType.Error }; } PipeType pt = ptRepository.FindBy(PipeTypeId); Key = onlineAccount.DetectionCompany.Code + Key; TransferNotice notice = new TransferNotice(Key, onlineAccount.DetectionCompany, pt, Position,onlineAccount, DateTime.Now); notice.SentCount = SentCount; notice.State = TransferNoticeState.Created; if (repository.FindByNotCache(Key) != null) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("垛位调度任务单号{0}已存在,请尝试使用其他编号", Key) }; TempData["InvalidModel"] = notice; } else { repository.Add(notice); unitOfWork.Commit(); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("垛位调度任务单({0})添加成功", Key), DisappearDelay = 5000 }; } return RedirectToAction("Add"); }
public ActionResult Verify(string id) { OutgoingNotice notice = repository.FindByNotCache(id); if (notice == null) { throw new HttpException(404, "无法找到指定的发料通知单"); } if (notice.State == OutgoingNoticeState.Done) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("发料通知单({0})不能重复审核", notice.Key), DisappearDelay = 5000, Type = HintMessageType.Error }; } DateTime now = DateTime.Now; notice.State = OutgoingNoticeState.Done; notice.Verifier = UserSession.OnlineAccount; notice.DateVerified = now; repository[notice.Key] = notice; IPipeRepository pipeRepository = RepositoryFactory.GetRepository<IPipeRepository, PDCPMS.Model.Common.Pipe>(unitOfWork); IPipeOutgoingRecordRepository porRepository = RepositoryFactory.GetRepository<IPipeOutgoingRecordRepository, PipeOutgoingRecord>(unitOfWork); porRepository.VerifyNoticeRecords(notice); unitOfWork.Commit(); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("发料通知单({0})审核通过成功", notice.Key), DisappearDelay = 5000 }; return RedirectToAction("Detail", new { id = id }); }
public ActionResult CancleVerify(string id) { OutgoingNotice notice = repository.FindByNotCache(id); if (notice == null) { throw new HttpException(404, "无法找到指定的发料通知单"); } if (notice.State != OutgoingNoticeState.Done) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "未达到取消审核的条件,取消审核状态失败", DisappearDelay = 5000, Type = HintMessageType.Error }; return RedirectToAction("Detail", new { id = id }); } System.Data.DataTable dt = repository.FindByCount(notice); if (dt.Rows.Count == 0) { foreach (PipeOutgoingRecord record in notice.Records) { PDCPMS.Model.Common.Pipe pipe = record.Pipe; repository.CancleVerify(notice, pipe); } TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "取消审核成功", DisappearDelay = 5000, Type = HintMessageType.Normal }; } else { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "该单子的管子状态已经发生改变,不能取消审核,请联系管理员", DisappearDelay = 5000, Type = HintMessageType.Normal }; } return RedirectToAction("Detail", new { id = id }); }
public ActionResult Create(string Key, String DiggerId, int PipeTypeId, float Need, string Project, string Instruction) { IPipeRepository pipeRepository = RepositoryFactory.GetRepository<IPipeRepository, PDCPMS.Model.Common.Pipe>(unitOfWork); IPipeTypeRepository ptRepository = RepositoryFactory.GetRepository<IPipeTypeRepository, PipeType>(unitOfWork); if (DiggerId == null) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("页面信息丢失,发料通知单({0})添加失败!", Key), DisappearDelay = 5000, Type = HintMessageType.Error }; } PipeType pt = ptRepository.FindBy(PipeTypeId); //Digger digger = RepositoryFactory.GetRepository<IDiggerRepository, Digger>().FindBy(DiggerId); Digger digger = RepositoryFactory.GetRepository<IDiggerRepository, Digger>().FindNoCache(DiggerId); if (digger == null && digger.Name==null) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("找不到井名,发料通知单({0})添加失败!", Key), DisappearDelay = 5000, Type = HintMessageType.Error }; } Account onlineAccount = UserSession.OnlineAccount; Key = onlineAccount.DetectionCompany.Code + Key; OutgoingNotice notice = new OutgoingNotice(Key, onlineAccount.DetectionCompany, pt, digger, onlineAccount, DateTime.Now); notice.Need = Need; notice.Project = Project; notice.Instruction = Instruction; notice.State = OutgoingNoticeState.Created; if (repository.FindByNotCache(Key) != null) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("发料通知单号{0}已存在,请尝试使用其他编号", Key) }; TempData["InvalidModel"] = notice; } if (digger == null || onlineAccount == null || pt == null) { TempData["InvalidModel"] = notice; TempData["InvalidModel"] = notice; TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("发料通知单({0})添加失败!", Key), DisappearDelay = 5000, Type = HintMessageType.Error }; } else { repository.Add(notice); unitOfWork.Commit(); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("发料通知单({0})添加成功", Key), DisappearDelay = 5000 }; } return RedirectToAction("Add"); }
public ActionResult Update() { string diggerid = Request.Form["diggerid"]; string key=Request.Form["id"]; string pipetypeid = Request.Form["pipetypeid"]; string Need = Request.Form["Need"]; string Project = Request.Form["Project"]; string Instruction = Request.Form["Instruction"]; StringBuilder sb = new StringBuilder(); sb.Append(" update outgoingnotice set diggerid='"); sb.Append(diggerid); sb.Append("',pipetypeid="); sb.Append(pipetypeid); sb.Append(",need="); sb.Append(Need); sb.Append(",project='"); sb.Append(Project); sb.Append("',instruction='"); sb.Append(Instruction); sb.Append("' where outgoingnoticeid='"); sb.Append(key + "'"); IOutgoingNoticeRepository update = RepositoryFactory.GetRepository<IOutgoingNoticeRepository, OutgoingNotice>(); update.Excute(sb.ToString()); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("成功更新发料通知单({0})", key) }; return RedirectToAction("Index"); }
public JsonResult Create(int noticeId) { BusinessCheckNotice businessCheckNotice = RepositoryFactory.GetRepository<IBusinessCheckNoticeRepository, BusinessCheckNotice>().FindBy(noticeId); if (businessCheckNotice == null) { return Json(new { success = false, message = "商检单不存在" }); } PipeIncomeRecord incomeRecord = repository.FindBy(businessCheckNotice); if (incomeRecord != null) { return Json(new { success = false, message = "已制作了该商检任务的入库单,不能重量制作" }); } string code = Request.Form["Code"]; string unit = Request.Form["Unit"]; string strPipes = Request.Form["Pipes"]; if (string.IsNullOrEmpty(code)) { return Json(new { success = false, message = "编码不能为空" }); } incomeRecord = repository.FindBy(code); if (incomeRecord != null) { return Json(new { success = false, message = "编号已被占用,请尝试使用其他编号" }); } businessCheckNotice.Waggons = RepositoryFactory.GetRepository<IDeliverWaggonRepository, DeliverWaggon>().FindBy(businessCheckNotice); #region scarface // IList<PDCPMS.Model.Common.Pipe> pipes = RepositoryFactory.GetRepository<IPipeRepository, PDCPMS.Model.Common.Pipe>().FindBy(businessCheckNotice.Waggons); #endregion JavaScriptSerializer serializer = new JavaScriptSerializer(); IList<PDCPMS.DataContracts.Common.Pipe> pipeContracts = serializer.Deserialize<IList<PDCPMS.DataContracts.Common.Pipe>>(strPipes); IPipeRepository pipeRepository = RepositoryFactory.GetRepository<IPipeRepository, PDCPMS.Model.Common.Pipe>(unitOfWork); IPipePositionRepository posRepository = RepositoryFactory.GetRepository<IPipePositionRepository, PipePosition>(); incomeRecord = new PipeIncomeRecord(0, code, businessCheckNotice, UserSession.OnlineAccount, DateTime.Now); incomeRecord.State = PipeIncomeRecordState.Created; repository.Add(incomeRecord); unitOfWork.Commit(); #region scarface //for (int i = pipes.Count - 1; i > -1; i--) //{ // PDCPMS.Model.Common.Pipe pipe = pipes[i]; // PDCPMS.DataContracts.Common.Pipe pc = pipeContracts.FirstOrDefault(p => p.Key == (long)pipe.Key); // if (pc != null) // { // if (pc.BusinessLength != 0) // { // pipe.BusinessLength = pc.BusinessLength; // } // else // { // pipe.BusinessLength = new float?(); // } // if (pc.Weight != 0) // { // pipe.Weight = pc.Weight; // } // else // { // pipe.Weight = new float?(); // } // //if ((pipe.State & PipeState.NormalChecking) == PipeState.NormalChecking) // 已发起了常检则不允许更改垛位 // //{ // //} // //else // //{ // if (pc.PositionId != 0) // { // pipe.Position = posRepository.FindBy(pc.PositionId); // } // //} // } // pipe.State |= PipeState.IncomeRecordDoing; // pipe.PipeIncomeRecord = incomeRecord; // pipeRepository[pipe.Key] = pipe; //}; //incomeRecord.TotalCount = businessCheckNotice.ReceiveCount; //incomeRecord.TotalLength = pipes.Sum(p => p.BusinessLength.HasValue ? p.BusinessLength.Value : 0); //incomeRecord.TotalWeight = pipes.Sum(p => p.Weight.HasValue ? p.Weight.Value : 0) / 1000; #endregion #region 2010-11-12 scarface 新增代码 //获取前台Json的值遍历生产SQL StringBuilder sb = new StringBuilder(); DateTime now = DateTime.Now; Oracle.DataAccess.Client.OracleConnection conn = new Oracle.DataAccess.Client.OracleConnection(System.Configuration.ConfigurationManager.ConnectionStrings["PDCPDMConnection"].ConnectionString); CY.Utility.DBUtility.OracleUtility db = new CY.Utility.DBUtility.OracleUtility(conn); conn.Open(); Oracle.DataAccess.Client.OracleTransaction tran = conn.BeginTransaction(); try { sb.Append(" update Pipe set PipeIncomeRecordId = " + incomeRecord.Key + ","); sb.Append(string.Format(" state = (state + {0} - bitand(state,{0})),", (int)PipeState.IncomeRecordDoing)); sb.Append(" PosLastChangeTime = to_date('" + now + "', 'yyyy-mm-dd HH24:mi:ss') "); IList<DeliverWaggon> waggons = businessCheckNotice.Waggons; if (waggons == null) { throw new ArgumentNullException("waggons"); } string waggonIds = string.Empty; for (int i = waggons.Count - 1; i > -1; i--) { waggonIds += OracleDataHelper.GetSqlValue(waggons[i].Key); if (i != 0) { waggonIds += ","; } } sb.Append(string.Format(" Where DeliverWaggonId in ({0})", waggonIds)); db.ExecuteSql(sb.ToString()); for (int i = pipeContracts.Count - 1; i > -1; i--) { sb = new StringBuilder(); sb.Append(" UPDATE Pipe SET "); sb.Append(" BusinessLength = " + pipeContracts[i].BusinessLength + ","); sb.Append(" Weight = " + pipeContracts[i].Weight + ","); sb.Append(" PosLastChangeTime = to_date('" + now + "', 'yyyy-mm-dd HH24:mi:ss'),"); sb.Append(" PositionId = " + pipeContracts[i].PositionId); sb.Append(" WHERE PipeId = " + pipeContracts[i].Key + ""); db.ExecuteSql(sb.ToString()); } tran.Commit(); } catch (Exception ex) { tran.Rollback(); return Json(new { success = false, message = "管子信息保存出错!"+ex }); } finally { if (conn.State != ConnectionState.Closed) { conn.Close(); } } //查询并统计数据 sb = new StringBuilder(); sb.Append(" SELECT SUM(BUSINESSLENGTH) AS lh ,SUM(WEIGHT)/1000 AS wt,count(*) as c FROM Pipe WHERE PIPEINCOMERECORDID = " + incomeRecord.Key + ""); DataTable dt = pipeRepository.ExcuteDs(sb.ToString()); float tl = dt.Rows[0]["lh"].ToString() == "" ? 0 : float.Parse(dt.Rows[0]["lh"].ToString()); float tw = dt.Rows[0]["wt"].ToString() == "" ? 0 : float.Parse(dt.Rows[0]["wt"].ToString()); int tc = dt.Rows[0]["c"].ToString() == "" ? 0 : int.Parse(dt.Rows[0]["c"].ToString()); sb = new StringBuilder(); sb.Append(" UPDATE Pipeincomerecord SET totalcount=" + tc + ",TOTALLENGTH = " + tl + ",TOTALWEIGHT = " + tw + " WHERE PIPEINCOMERECORDID = " + incomeRecord.Key + ""); //只执行一次查询 就更新数据库表 pipeRepository.Execute(sb.ToString()); #endregion TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "保存成功" }; return Json(new { success = true, message = "保存成功", recordId = incomeRecord.Key }); }
public ActionResult Add(int noticeId) { if (TempData["HintMessage"] != null) { ViewData["HintMessage"] = TempData["HintMessage"]; } BusinessCheckNotice businessCheckNotice = RepositoryFactory.GetRepository<IBusinessCheckNoticeRepository, BusinessCheckNotice>().FindBy(noticeId); if (businessCheckNotice == null) { throw new HttpException(404, "商检单不存在"); } PipeIncomeRecord incomeRecord = repository.FindBy(businessCheckNotice); if (incomeRecord != null) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "不能重复制作入库单", Type = Application.HintMessageType.Error, DisappearDelay = 5000 }; return RedirectToAction("Detail", new { id = incomeRecord.Key }); } DeliverNotice deliverNotice = businessCheckNotice.DeliverNotice; PipeQualityCertification pqc = RepositoryFactory.GetRepository<IPipeQualityCertificationRepository, PipeQualityCertification>().FindBy(deliverNotice); if (pqc == null) { Session["RedirectUrl"] = Url.Action("Add", new { noticeId = noticeId }); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "请先添加质证书" }; return RedirectToAction("Add", "QualityCertification", new { noticeId = deliverNotice.Key }); } IList<DeliverWaggon> deliverNoticeWaggons = RepositoryFactory.GetRepository<IDeliverWaggonRepository, DeliverWaggon>().FindBy(deliverNotice); IList<DeliverWaggon> incomeDoneWaggons = new List<DeliverWaggon>(); // 已收料 IList<DeliverWaggon> incomeDoingWaggons = new List<DeliverWaggon>(); // 收料时行中,未审核完成 IList<DeliverWaggon> notIncomeWaggons = new List<DeliverWaggon>(); // 已提检,尚未做收料 IList<DeliverWaggon> notBusinessCheckWaggons = new List<DeliverWaggon>(); // 尚未发起提检、可能未到货 IList<PipeIncomeRecord> incomeDoneRecords = new List<PipeIncomeRecord>(); foreach (DeliverWaggon w in deliverNoticeWaggons) { BusinessCheckNotice bcn = w.BusinessCheckNotice; if (bcn == null) { notBusinessCheckWaggons.Add(w); } else { PipeIncomeRecord pir = repository.FindBy(bcn); if (pir == null) { notIncomeWaggons.Add(w); } else { if (pir.State == PipeIncomeRecordState.Verified) { incomeDoneWaggons.Add(w); if (incomeDoneRecords.Where(r => (int)r.Key == (int)pir.Key).Count() == 0) incomeDoneRecords.Add(pir); } else { incomeDoingWaggons.Add(w); } } } } ViewData["deliverNoticeWaggons"] = deliverNoticeWaggons; ViewData["incomeDoneWaggons"] = incomeDoneWaggons; ViewData["incomeDoingWaggons"] = incomeDoingWaggons; ViewData["notIncomeWaggons"] = notIncomeWaggons; ViewData["notBusinessCheckWaggons"] = notBusinessCheckWaggons; ViewData["incomeDoneRecords"] = incomeDoneRecords; ViewData["BusinessCheckNotice"] = businessCheckNotice; businessCheckNotice.Waggons = RepositoryFactory.GetRepository<IDeliverWaggonRepository, DeliverWaggon>().FindBy(businessCheckNotice); ViewData["Positions"] = RepositoryFactory.GetRepository<IPipePositionRepository, PipePosition>().Find(businessCheckNotice.DeliverNotice.Company, PipePositionType.NotGiven, int.MaxValue - 1, 1); int pageIndex = 1; int pageSize = 100; int recordCount = 0; ViewData["PageSize"] = pageSize; if (!string.IsNullOrEmpty(Request.QueryString["p"])) { int p; if (int.TryParse(Request.QueryString["p"], out p)) if (p > 0) pageIndex = p; } ViewData["PageIndex"] = pageIndex; //ViewData["Pipes"] = RepositoryFactory.GetRepository<IPipeRepository, PDCPMS.Model.Common.Pipe>().FindBy(businessCheckNotice.Waggons); ViewData["PipesDs"] = RepositoryFactory.GetRepository<IPipeRepository, PDCPMS.Model.Common.Pipe>().FindBy(businessCheckNotice.Waggons, pageSize, pageIndex, ref recordCount); ViewData["RecordCount"] = recordCount; ViewData["QualityCertification"] = pqc; return View(); }
public JsonResult UpdateTask(string code, string items,string team,string faxno,string diggerid) { NormalCheckTask task = repository.FindByCode(code); if (task == null) { throw new HttpException(404, "未找到指定常检任务"); } StringBuilder sb = new StringBuilder(); sb.Append("update normalchecktask set diggerid='"); sb.Append(diggerid + "',team='"+team+"',faxno='"+faxno+"'"); sb.Append(" where normalchecktaskid='"); sb.Append(task.Key.ToString()+"'"); INormalCheckTaskRepository edit = RepositoryFactory.GetRepository<INormalCheckTaskRepository, NormalCheckTask>(); edit.Excute(sb.ToString()); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("成功修改常检任务({0})", code) }; return Json(new { success = true, taskId = code }); }
public ActionResult Verify(string code) { NormalCheckTask task = repository.FindByCode(code); if (task == null) { throw new HttpException(404, "未找到指定常检任务"); } if (!task.CanBeVerified) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "未达到审核条件,审核失败", DisappearDelay = 5000, Type = HintMessageType.Error }; return RedirectToAction("Detail", new { code = code }); } task.Verifer = UserSession.OnlineAccount; task.DateVerified = DateTime.Now; task.State = NormalCheckTaskState.Verified; repository[task.Key] = task; IPipeRepository pipeRepository = RepositoryFactory.GetRepository<IPipeRepository, PDCPMS.Model.Common.Pipe>(unitOfWork); INormalCheckResultRepository resultRepositoryFactory = RepositoryFactory.GetRepository<INormalCheckResultRepository, NormalCheckResult>(unitOfWork); //task.Records.ForEach<NormalCheckRecord>(r => //{ // PDCPMS.Model.Common.Pipe p = r.Pipe; // totalCommerceLength += p.BusinessLength.HasValue ? (p.BusinessLength == null ? 0 : p.BusinessLength.Value) : 0; // totalWorkLength += p.WorkLength.HasValue ? (p.WorkLength == null ? 0 : p.WorkLength.Value) : 0; // if (r.IsValid.HasValue && r.IsValid.Value) // { // if ((p.State & PipeState.CheckInvalid) == PipeState.CheckInvalid) // { // p.State ^= PipeState.CheckInvalid; // } // p.State |= PipeState.CheckValid; // validCount += 1; // validCommerceLength += p.BusinessLength.HasValue ? (p.WorkLength == null ? 0 : p.WorkLength.Value) : 0; // validWorkLength += p.WorkLength.HasValue ? (p.WorkLength == null ? 0 : p.WorkLength.Value) : 0; // } // else // { // if ((p.State & PipeState.CheckValid) == PipeState.CheckValid) // { // p.State ^= PipeState.CheckValid; // } // p.State |= PipeState.CheckInvalid; // } // pipeRepository[p.Key] = p; //}); //查找工作总长度 DataTable dtTotal = pipeRepository.GetNormalCheckTaskPipeTotalData(task); //查找合格的工作总长度 DataTable dtValid = pipeRepository.GetNormalCheckTaskPipeValidData(task); //totalCommerceLength = Convert.ToSingle(dtTotal.Rows[0]["BusinessLength"]); //validWorkLength = Convert.ToSingle(dtValid.Rows[0]["BusinessLength"]); ////2010-12-02 by hunherby //pipeRepository.BackToPipeBy(task, pipe); //2010-10-21 by huncherby float totalCommerceLength = 0; float totalWorkLength = 0; float validCommerceLength = 0; float validWorkLength = 0; int validCount = 0; //总的 totalCommerceLength = Convert.ToSingle(dtTotal.Rows[0]["BusinessLength"] == DBNull.Value ? "0" : dtTotal.Rows[0]["BusinessLength"].ToString()); totalWorkLength = Convert.ToSingle(dtTotal.Rows[0]["WorkLength"] == DBNull.Value ? "0" : dtTotal.Rows[0]["WorkLength"].ToString()); //合格的 validCommerceLength = Convert.ToSingle(dtValid.Rows[0]["BusinessLength"] == DBNull.Value ? "0" : dtValid.Rows[0]["BusinessLength"].ToString()); validWorkLength = Convert.ToSingle(dtValid.Rows[0]["WorkLength"] == DBNull.Value ? "0" : dtValid.Rows[0]["WorkLength"].ToString()); validCount = Convert.ToInt32(dtValid.Rows[0]["count(*)"]); NormalCheckResult result = new NormalCheckResult( task.Key.ToString(), task, task.Count.Value, totalWorkLength, validCount, validWorkLength, totalWorkLength - validWorkLength, task.Verifer, task.DateVerified.Value); result.TotalCommerceLength = totalCommerceLength; result.ValidCommerceLength = validCommerceLength; result.InValidCommerceLength = totalCommerceLength - validCommerceLength; resultRepositoryFactory.Add(result); unitOfWork.Commit(); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "审核成功", DisappearDelay = 5000, Type = HintMessageType.Normal }; return RedirectToAction("Detail", new { code = code }); }
public JsonResult Update(string code, string items) { #region 基本信息 if (string.IsNullOrEmpty(code)) { return Json(new { success = false, message = "未指定常检任务单" }); } NormalCheckTask task = repository.FindByCode(code); if (string.IsNullOrEmpty(items)) { return Json(new { success = false, message = "未指定调度项" }); } IList<PDCPMS.DataContracts.Transfer.TransferItem> transferItemContracts; transferItemContracts = new JavaScriptSerializer().Deserialize<IList<PDCPMS.DataContracts.Transfer.TransferItem>>(items); if (transferItemContracts.Count < 1) { return Json(new { success = false, message = "未指定调度项" }); } PipeType pipeType = null; //Digger targetDigger = null; if (Convert.ToInt32(task.PipeType.Key) < 1) { return Json(new { success = false, message = "未指定管材类型" }); } pipeType = RepositoryFactory.GetRepository<IPipeTypeRepository, PipeType>().FindBy(task.PipeType.Key); if (pipeType == null) { return Json(new { success = false, message = "未指定管材类型" }); } #endregion ITransferTaskRepository transferTaskRepository = RepositoryFactory.GetRepository<ITransferTaskRepository, TransferTask>(unitOfWork); ITransferItemRepository transferItemRepository = RepositoryFactory.GetRepository<ITransferItemRepository, TransferItem>(unitOfWork); ITransferRecordRepository transferRecordRepository = RepositoryFactory.GetRepository<ITransferRecordRepository, TransferRecord>(unitOfWork); IPipePositionRepository posRepository = RepositoryFactory.GetRepository<IPipePositionRepository, PipePosition>(); IPipeRepository pipeRepository = RepositoryFactory.GetRepository<IPipeRepository, PDCPMS.Model.Common.Pipe>(unitOfWork); System.Data.DataTable dt2 = retory.FindNormalCheckRecords(task); int j = 0; StringBuilder sb = new StringBuilder(); sb.Append("Begin "); foreach (PDCPMS.DataContracts.Transfer.TransferItem tic in transferItemContracts) { PipePosition prePos = posRepository.FindBy(tic.PrevPosId); PipePosition newPos = posRepository.FindBy(tic.NewPosId); System.Data.DataTable dt = pipeRepository.FindByMyCondition(prePos, pipeType, PipeState.Received | PipeState.Storing, PipeState.Transfering | PipeState.NormalChecking); if (prePos == null || newPos == null || tic.Count < 0) { return Json(new { success = false, message = "你的调度项输入有误" }); } TransferItem item = new TransferItem(Guid.NewGuid().ToString("N"), task.TransferTask); item.PrevPos = prePos; item.NewPos = newPos; item.Count = tic.Count; //改变数量 //retory.AddNormalCheck(task, TotalCount); sb.Append("update normalchecktask set count=count+"); sb.Append(tic.Count); sb.Append(" where normalchecktaskid='"); sb.Append(task.Key.ToString()+"';"); sb.Append("update transfertask set totalcount=totalcount+"); sb.Append(tic.Count); sb.Append(" where TransferTaskid='"); sb.Append(task.TransferTask.Key.ToString() + "';"); if (dt.Rows.Count < tic.Count) { return Json(new { success = false, message = string.Format("调度失败:垛位({0})已无{1}根可检测的存货,可能已经被调至别处", prePos.ToString(), tic.Count) }); } #region 新增常检任务 //新增transferitem string TransferItemId = Guid.NewGuid().ToString("N"); string TransferTaskId_Forignkey = task.TransferTask.Key.ToString(); //int Count = TotalCount; string PrevPositionId = item.PrevPos.Key.ToString(); string NewPositionId = item.NewPos.Key.ToString(); System.Data.DataTable dt1 = transferItemRepository.FindTransfer(task, item); if (dt1.Rows.Count > 0) { sb.Append("update transferitem set count=count+"); sb.Append(tic.Count); sb.Append(" where TransferTaskid='"); sb.Append(task.TransferTask.Key.ToString() + "' and prevpositionid="); sb.Append(dt1.Rows[0]["PrevPositionId"].ToString() + ";"); } else { sb.Append("Insert Into TransferItem(TransferItemId, TransferTaskId, Count, PrevPositionId, NewPositionId)Values("); sb.Append("'" + TransferItemId + "',"); sb.Append("'" + TransferTaskId_Forignkey + "',"); sb.Append("" + tic.Count + ","); sb.Append("'" + PrevPositionId + "',"); sb.Append("'" + NewPositionId + "');"); } for (int i = 0; i < tic.Count; i++) { j++; //新增TransferRecord string TransferRecordId = Guid.NewGuid().ToString("N"); string TransferItemId_key = dt1.Rows[0]["TransferItemId"].ToString(); string DateCreated = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); string PrevPositionId_Record = item.PrevPos.Key.ToString(); string NewPositionId_Record = item.NewPos.Key.ToString(); string PipeId = dt.Rows[i]["pipeid"].ToString(); sb.Append("Insert Into TransferRecord(TransferRecordId,TransferItemId,DateCreated,DateFinished,PrevPositionId,NewPositionId,PipeId)Values("); sb.Append("'" + TransferRecordId + "',"); sb.Append("'" + TransferItemId_key + "',"); sb.Append("to_date('" + DateCreated + "', 'yyyy-mm-dd HH24:mi:ss'),"); sb.Append("null,"); sb.Append("'" + PrevPositionId_Record + "',"); sb.Append("'" + NewPositionId_Record + "',"); sb.Append("'" + PipeId + "');"); //更新pipe sb.Append("update Pipe set state = (state + "); if (task.State == NormalCheckTaskState.Created) { sb.Append((int)PipeState.Transfering); sb.Append(" - bitand(state, "); sb.Append((int)PipeState.Transfering); sb.Append(" ))"); } else { sb.Append((int)PipeState.NormalChecking); sb.Append(" - bitand(state, "); sb.Append((int)PipeState.NormalChecking); sb.Append(")),positionid = "); sb.Append("'" + NewPositionId_Record + "',"); sb.Append(" prevposid= "); sb.Append("'" + PrevPositionId_Record + "',poslastchangetime="); sb.Append("to_date('" + DateCreated + "', 'yyyy-mm-dd HH24:mi:ss')"); } sb.Append(" Where PipeId = "); sb.Append(dt.Rows[i]["PipeId"].ToString() + ";"); if ((int)task.State >= (int)NormalCheckTaskState.Received && task.Approver != null) { int orderno = Convert.ToInt32(dt2.Rows[0]["max(orderno)"]) + j; //新增Normalcheckrecords记录 string normalchecktaskid = Guid.NewGuid().ToString("N"); sb.Append("Insert Into normalcheckrecord(normalcheckrecordid,pipeid,normalchecktaskid,datecreated,orderno ) Values ("); sb.Append("'" + normalchecktaskid + "',"); sb.Append("'" + PipeId + "',"); sb.Append("'" + task.Key + "',"); sb.Append("to_date('" + DateCreated + "', 'yyyy-mm-dd HH24:mi:ss'),"); sb.Append("'" + orderno.ToString() + "' );"); } } } #endregion sb.Append(" End;"); INormalCheckTaskRepository AddNCK = RepositoryFactory.GetRepository<INormalCheckTaskRepository, NormalCheckTask>(); AddNCK.Excute(sb.ToString()); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "成功新增常检任务记录!" }; return Json(new { success = true ,code=task.Code}); }
public ActionResult CheckResults(string code) { NormalCheckTask task = repository.FindByCode(code); if (task == null) { throw new HttpException(404, "未找到指定常检任务"); } if ((int)task.State < (int)NormalCheckTaskState.Received) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("常检任务({0})尚未接收,暂不能维护检测数据", code), DisappearDelay = 5000, Type = HintMessageType.Error }; return RedirectToAction("Detail", new { code = code }); } if (task.State == NormalCheckTaskState.Verified) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("常检任务({0})已审核存档,不允许被编辑", code), DisappearDelay = 5000, Type = HintMessageType.Error }; return RedirectToAction("Detail", new { code = code }); } if (TempData["HintMessage"] != null) { ViewData["HintMessage"] = TempData["HintMessage"]; } //List<NormalCheckRecord> normalCheckRecord = RepositoryFactory.GetRepository<IPipeRepository, PDCPMS.Model.Common.Pipe>().FindByReturnDs(task, pageSize, pageIndex); //task.Records = normalCheckRecord; //2010-11-7 BY huncherby 分页 #region int pageIndex = 1; int pageSize = 60; //int count = 0; ViewData["PageSize"] = pageSize; if (!string.IsNullOrEmpty(Request.QueryString["p"])) { int p; if (int.TryParse(Request.QueryString["p"], out p)) if (p > 0) pageIndex = p; } ViewData["PageIndex"] = pageIndex; #endregion ViewData["totalcounts"] = RepositoryFactory.GetRepository<INormalCheckRecordRepository, NormalCheckRecord>().FindByNomalchecktotal(task); ViewData["workno"] = RepositoryFactory.GetRepository<INormalCheckRecordRepository, NormalCheckRecord>().workno(task); ViewData["NormalCheckRecord"] = RepositoryFactory.GetRepository<INormalCheckRecordRepository, NormalCheckRecord>().FindBy(task, pageIndex, pageSize); //task.Records = records; return View(task); }
public ActionResult Receive(string code) { NormalCheckTask task = repository.FindByCode(code); if (task == null) { throw new HttpException(404, "未找到指定常检任务"); } //if (!task.TransferTask.IsFinished) if (task.State != NormalCheckTaskState.Transferd) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("常检任务({0})尚未发货,暂不能接收", code), DisappearDelay = 5000, Type = HintMessageType.Error }; return RedirectToAction("Detail", new { code = code }); } if (task.Receiver != null && task.DateReceived.HasValue) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("不能重复接收常检任务({0})", code), DisappearDelay = 5000, Type = HintMessageType.Error }; return RedirectToAction("Detail", new { code = code }); } if (TempData["HintMessage"] != null) { ViewData["HintMessage"] = TempData["HintMessage"]; } if (TempData["InvalidModel"] != null) { NormalCheckTask t = TempData["InvalidModel"] as NormalCheckTask; if (t != null) { return View(t); } } return View(task); }
public ActionResult MainCheckerSign(string code) { NormalCheckTask task = repository.FindByCode(code); if (task == null) { throw new HttpException(404, "未找到指定常检任务"); } if (task.Finisher == null) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "该任务尚未录入检测数据,主检暂不能签字", DisappearDelay = 5000, Type = HintMessageType.Error }; return RedirectToAction("Detail", new { code = code }); } if (task.MainChecker != null) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "该任务主检已签字,不能重复签字", DisappearDelay = 5000, Type = HintMessageType.Error }; return RedirectToAction("Detail", new { code = code }); } task.MainChecker = UserSession.OnlineAccount; repository[task.Key] = task; unitOfWork.Commit(); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "主检已签字成功", DisappearDelay = 5000, Type = HintMessageType.Normal }; return RedirectToAction("Detail", new { code = code }); }
public ActionResult CancleVerify(string code) { NormalCheckTask task = repository.FindByCode(code); if (task == null) { throw new HttpException(404, "未找到指定常检任务"); } if (task.State != NormalCheckTaskState.Verified) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "未达到取消审核的条件,取消审核状态失败", DisappearDelay = 5000, Type = HintMessageType.Error }; return RedirectToAction("Detail", new { code = code }); } repository.CancleVerify(task); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "取消审核成功", DisappearDelay = 5000, Type = HintMessageType.Normal }; return RedirectToAction("Detail", new { code = code }); }
public ActionResult Verify(int id) { PipeIncomeRecord record = repository.FindByNotCache(id); if (record == null) { throw new HttpException(404, "入库单不存在"); } //IList<PDCPMS.Model.Common.Pipe> pipes = RepositoryFactory.GetRepository<IPipeRepository, PDCPMS.Model.Common.Pipe>().FindBy(record); bool canVerify = record.State == PDCPMS.Model.Income.PipeIncomeRecordState.Created && //record.BusinessCheckNotice.State == PDCPMS.Model.Income.BusinessCheckNoticeState.Done && record.Keeper != null && record.Clerk != null && record.Measurer != null && (record.Verifier == null); if (!canVerify) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "入库单暂不允许被审核或已经审核通过", Type = HintMessageType.Error, DisappearDelay = 5000 }; } else { IPipeTypeRepository ptRepository = RepositoryFactory.GetRepository<IPipeTypeRepository, PipeType>(unitOfWork); IPipeRepository pipeRepository = RepositoryFactory.GetRepository<IPipeRepository, PDCPMS.Model.Common.Pipe>(unitOfWork); PipeType pt = record.PipeType; //2010-11-16 by huncherby 直接赋值0 pt.AvgWeiht = (pt.AvgWeiht * pt.TotalCount + (double)record.TotalWeight * record.TotalCount / (double)record.TotalLength) / (pt.TotalCount + record.TotalCount); //pt.AvgWeiht = 0; pt.TotalCount += record.TotalCount; pt.TotalLength += (decimal)record.TotalLength; pt.TotalWeight += (decimal)record.TotalWeight; ptRepository[pt.Key] = pt; record.Verifier = UserSession.OnlineAccount; record.VerifyTime = DateTime.Now; record.State = PipeIncomeRecordState.Verified; repository[record.Key] = record; //for (int i =0, j = pipes.Count; i < j; i++) //{ // PDCPMS.Model.Common.Pipe pipe = pipes[i]; // pipe.State |= PipeState.IncomeRecordDone; // pipe.State |= PipeState.Storing; // pipeRepository[pipe.Key] = pipe; //} // Li Zheng 2010.11.18 pipeRepository.VerifyPipeBy(record); unitOfWork.Commit(); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "入库单审核成功", Type = HintMessageType.Normal, DisappearDelay = 15000 }; } return RedirectToAction("Detail", new { id = id }); }
public JsonResult CreateTask(int pipeTypeId, String code, String diggerId,String team,String faxno, String items) { string pipeneednoticeitemid = Request.Form["needlength"].ToString(); PipeType pipeType = null; Digger targetDigger = null; IList<PDCPMS.DataContracts.Transfer.TransferItem> transferItemContracts; Account onlineAccount = UserSession.OnlineAccount; #region Get Basic Data if (onlineAccount.DetectionCompany == null) { return Json(new { success = false, message = "你无权发起常检任务" }); } if (string.IsNullOrEmpty(code)) { return Json(new { success = false, message = "编号不能为空" }); } Regex codePattern = new Regex("^[-|a-z|A-Z|0-9]+$"); if (!codePattern.IsMatch(code)) { return Json(new { success = false, message = "编号格式不正确,只能为英文字母、数字或者短横线(-)的组合" }); } if (null != repository.FindByCode(code)) { return Json(new { success = false, message = string.Format("编号为{0}的常检任务存在,请尝试使用其他编号", code) }); } if (string.IsNullOrEmpty(items)) { return Json(new { success = false, message = "未指定调度项" }); } transferItemContracts = new JavaScriptSerializer().Deserialize<IList<PDCPMS.DataContracts.Transfer.TransferItem>>(items); if (transferItemContracts.Count < 1) { return Json(new { success = false, message = "未指定调度项" }); } if (pipeTypeId < 1) { return Json(new { success = false, message = "未指定管材类型" }); } pipeType = RepositoryFactory.GetRepository<IPipeTypeRepository, PipeType>().FindBy(pipeTypeId); if (pipeType == null) { return Json(new { success = false, message = "未指定管材类型" }); } if (!string.IsNullOrEmpty(diggerId)) { targetDigger = RepositoryFactory.GetRepository<IDiggerRepository, Digger>().FindBy(diggerId); } #endregion ITransferTaskRepository transferTaskRepository = RepositoryFactory.GetRepository<ITransferTaskRepository, TransferTask>(unitOfWork); ITransferItemRepository transferItemRepository = RepositoryFactory.GetRepository<ITransferItemRepository, TransferItem>(unitOfWork); ITransferRecordRepository transferRecordRepository = RepositoryFactory.GetRepository<ITransferRecordRepository, TransferRecord>(unitOfWork); IPipePositionRepository posRepository = RepositoryFactory.GetRepository<IPipePositionRepository, PipePosition>(); IPipeRepository pipeRepository = RepositoryFactory.GetRepository<IPipeRepository, PDCPMS.Model.Common.Pipe>(unitOfWork); DateTime now = DateTime.Now; StringBuilder sb = new StringBuilder(); sb.Append("Begin "); TransferTask transferTask = new TransferTask(Guid.NewGuid().ToString("N"), pipeType, onlineAccount.DetectionCompany, onlineAccount, now, true); #region 我的修改insert TransferTask string TransferTaskId = Guid.NewGuid().ToString("N"); string DateCreated = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); string CreatorId = onlineAccount.Key.ToString(); int TotalCount = transferItemContracts[0].Count; string PipeTypeId = pipeTypeId.ToString(); string DetectionCompanyId = onlineAccount.DetectionCompany.Key.ToString(); sb.Append("Insert Into TransferTask(TransferTaskId,IsSystemTask,DateCreated,CreatorId,IsFinished,DateFinished,TotalCount,PipeTypeId,DetectionCompanyId,\"Comment\")Values("); sb.Append("'" + TransferTaskId + "',"); sb.Append("1,"); sb.Append("to_date('" + DateCreated + "', 'yyyy-mm-dd HH24:mi:ss'),"); sb.Append("'" + CreatorId + "',"); sb.Append("0,"); sb.Append("null,"); sb.Append("" + TotalCount + ","); sb.Append("'" + PipeTypeId + "',"); sb.Append("'" + DetectionCompanyId + "',"); sb.Append("'');"); #endregion TotalCount = 0; foreach (PDCPMS.DataContracts.Transfer.TransferItem tic in transferItemContracts) { PipePosition prePos = posRepository.FindBy(tic.PrevPosId); PipePosition newPos = posRepository.FindBy(tic.NewPosId); if (prePos == null || newPos == null || tic.Count < 0) { return Json(new { success = false, message = "你的调度项输入有误" }); } TransferItem item = new TransferItem(Guid.NewGuid().ToString("N"), transferTask); item.PrevPos = prePos; item.NewPos = newPos; item.Count = tic.Count; #region 我的修改 TransferItem Insert string TransferItemId = Guid.NewGuid().ToString("N"); string TransferTaskId_Forignkey = TransferTaskId; int Count = TotalCount; string PrevPositionId = item.PrevPos.Key.ToString(); string NewPositionId = item.NewPos.Key.ToString(); sb.Append("Insert Into TransferItem(TransferItemId, TransferTaskId, Count, PrevPositionId, NewPositionId)Values("); sb.Append("'" + TransferItemId + "',"); sb.Append("'" + TransferTaskId_Forignkey + "',"); sb.Append("" + tic.Count + ","); sb.Append("'" + PrevPositionId + "',"); sb.Append("'" + NewPositionId + "');"); #endregion System.Data.DataTable dt = pipeRepository.FindByMyCondition(prePos, pipeType, PipeState.Received | PipeState.Storing, PipeState.Transfering | PipeState.NormalChecking); if (dt.Rows.Count < tic.Count) { return Json(new { success = false, message = string.Format("调度失败:垛位({0})已无{1}根可检测的存货,可能已经被调至别处", prePos.ToString(), tic.Count) }); } for (int i = 0; i < tic.Count; i++) { #region 我改的 TransferRecord Insert string TransferRecordId = Guid.NewGuid().ToString("N"); string TransferItemId_ForignKey = TransferItemId; string DateCreated_Record = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); string PrevPositionId_Record = item.PrevPos.Key.ToString(); string NewPositionId_Record = item.NewPos.Key.ToString(); string PipeId = dt.Rows[i]["pipeid"].ToString(); sb.Append("Insert Into TransferRecord(TransferRecordId,TransferItemId,DateCreated,DateFinished,PrevPositionId,NewPositionId,PipeId)Values("); sb.Append("'" + TransferRecordId + "',"); sb.Append("'" + TransferItemId_ForignKey + "',"); sb.Append("to_date('" + DateCreated + "', 'yyyy-mm-dd HH24:mi:ss'),"); sb.Append("null,"); sb.Append("'" + PrevPositionId_Record + "',"); sb.Append("'" + NewPositionId_Record + "',"); sb.Append("'" + PipeId + "');"); //2010-12-01 by huncherby 发起常检任务改变状态 sb.Append("update Pipe set state = (state + "); sb.Append((int)PipeState.Transfering); sb.Append(" - bitand(state, "); sb.Append((int)PipeState.Transfering); sb.Append(" )) Where PipeId = "); sb.Append(dt.Rows[i]["PipeId"].ToString()); sb.Append(";"); #endregion } TotalCount += item.Count; transferTask.TotalCount += item.Count; } NormalCheckTask ncTask = new NormalCheckTask(Guid.NewGuid().ToString("N"), code, onlineAccount.DetectionCompany, pipeType, targetDigger, transferTask, onlineAccount, now); #region 我的修改 NormalCheckTask Insert string NormalCheckTaskId = Guid.NewGuid().ToString("N"); string PipeTypeId_ForignKey = PipeTypeId; string DetectionCompanyId_ForignKey = DetectionCompanyId; string DiggerId = diggerId; string TransferTaskId_ForignKey = TransferTaskId; string Code = code; string DateCreated_NCTask = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); int Count_NCTask = TotalCount; //string pipeneednoticeitemid = null; sb.Append("Insert Into NormalCheckTask(NormalCheckTaskId,PipeTypeId,DetectionCompanyId,DiggerId,TransferTaskId,State,Code,WorkNO,CreatorId,DateCreated,SenderId,DateSent,ReceiverId,DateReceived,CheckItemCreatorId,CheckItemDateCreated,Count,CheckStandard,IsNeedMark,IsCheckAppearance,IsCheckThickness,IsCheckLength,IsNeedWash,IsCheckUnBlock,IsCheckPressure,CheckPressureType,IsCheckCloseness,IsCheckBodyCrack,CheckBodyCrackType,IsCheckBlindCrack,\"Comment\",FinisherId,DateFinished,CheckTools,CheckConclusion,ReportComment,MainCheckId,VeriferId,DateVerified,ApproverId,DateApproved,ReportNO,team,faxno,pipeneednoticeitemid)Values("); sb.Append("'" + NormalCheckTaskId + "',"); sb.Append("'" + PipeTypeId_ForignKey + "',"); sb.Append("'" + DetectionCompanyId_ForignKey + "',"); sb.Append("'" + diggerId + "',"); sb.Append("'" + TransferTaskId_ForignKey + "',"); sb.Append("0,"); sb.Append("'" + Code + "',"); sb.Append("'',"); sb.Append("'" + CreatorId + "',"); sb.Append("to_date('" + DateCreated_NCTask + "', 'yyyy-mm-dd HH24:mi:ss'),"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("'" + Count_NCTask + "',"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("-1,"); sb.Append("null,"); sb.Append("null,"); sb.Append("-1,"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,"); sb.Append("null,'"+team+"','"+faxno+"',"); sb.Append("'" + pipeneednoticeitemid + "');"); sb.Append(" End;"); #endregion INormalCheckTaskRepository NCTaskR = RepositoryFactory.GetRepository<INormalCheckTaskRepository, NormalCheckTask>(); NCTaskR.Excute(sb.ToString()); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("成功发起常检任务({0})", Code) }; return Json(new { success = true, taskId = Code }); }
public ActionResult CancleVerify(int id) { PipeIncomeRecord record = repository.FindByNotCache(id); if (record == null) { throw new HttpException(404, "入库单不存在"); } bool canVerify = record.State == PDCPMS.Model.Income.PipeIncomeRecordState.Verified && (record.Verifier != null); if (!canVerify) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "入库单暂不允许被取消审核", Type = HintMessageType.Error, DisappearDelay = 5000 }; } else { IPipeTypeRepository ptRepository = RepositoryFactory.GetRepository<IPipeTypeRepository, PipeType>(unitOfWork); IPipeRepository pipeRepository = RepositoryFactory.GetRepository<IPipeRepository, PDCPMS.Model.Common.Pipe>(unitOfWork); PipeType pt = record.PipeType; if (pt.TotalCount - record.TotalCount != 0) { pt.AvgWeiht = (pt.AvgWeiht * pt.TotalCount - (double)record.TotalWeight * record.TotalCount / (double)record.TotalLength) / (pt.TotalCount - record.TotalCount); } pt.TotalCount -= record.TotalCount; pt.TotalLength -= (decimal)record.TotalLength; pt.TotalWeight -= (decimal)record.TotalWeight; ptRepository[pt.Key] = pt; record.Verifier = null; record.VerifyTime = null; record.State = PipeIncomeRecordState.Created; repository[record.Key] = record; pipeRepository.VerifyPipeBy(record); unitOfWork.Commit(); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "入库单取消审核成功", Type = HintMessageType.Normal, DisappearDelay = 15000 }; } return RedirectToAction("Detail", new { id = id }); }
public ActionResult DeleteNCT(string code) { NormalCheckTask task = repository.FindByCode(code); if (task == null) { throw new HttpException(404, "无法找到指定常检任务单"); } if (task.State != NormalCheckTaskState.Created && task.State != NormalCheckTaskState.Transferd) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "常检单已被批准检测,不允许删除", Type = HintMessageType.Error }; return RedirectToAction("Index"); } else { StringBuilder sb = new StringBuilder(); sb.Append("Begin "); //还原管材状态 sb.Append(" update pipe set state=(state - bitand(state, "); if (task.State == NormalCheckTaskState.Created) { sb.Append((int)PipeState.Transfering); sb.Append(" )) "); } else if(task.State == NormalCheckTaskState.Transferd) { sb.Append((int)PipeState.NormalChecking); sb.Append(" )) "); sb.Append(" ,positionid=prevposid,prevposid=null,poslastchangetime=null "); } sb.Append(" Where pipeId in (select c.pipeid from transfertask a,transferitem b, transferrecord c, normalchecktask d where a.transfertaskid = d.transfertaskid and a.transfertaskid = b.transfertaskid and b.transferitemid = c.transferitemid and d.normalchecktaskid ='"); sb.Append(task.Key.ToString()); sb.Append("');"); //sb = new StringBuilder(); // 删除信息 sb.Append("delete from transferrecord where transferitemid in (select transferitemid from transferitem where transfertaskid='"); sb.Append(task.TransferTask.Key.ToString()); sb.Append("');"); //sb = new StringBuilder(); sb.Append(" delete from TransferItem where TransferTaskid='"); sb.Append(task.TransferTask.Key.ToString()); sb.Append("';"); //sb = new StringBuilder(); sb.Append(" delete from TransferTask where TransferTaskid='"); sb.Append(task.TransferTask.Key.ToString()); sb.Append("';"); //sb = new StringBuilder(); sb.Append(" delete from normalchecktask where normalchecktaskid='"); sb.Append(task.Key.ToString()); sb.Append("';"); sb.Append(" End;"); INormalCheckTaskRepository NCK = RepositoryFactory.GetRepository<INormalCheckTaskRepository, NormalCheckTask>(); NCK.Excute(sb.ToString()); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = String.Format("常检任务(#{0})删除成功", task.Code) }; } return RedirectToAction("Index"); }
public ActionResult DeleteIncome(int id) { PipeIncomeRecord record = repository.FindByNotCache(id); if (record == null) { throw new HttpException(404, "无法找到指定收料单"); } if (record.State != PipeIncomeRecordState.Created) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "收料单已被签字,不允许删除", Type = HintMessageType.Error }; return RedirectToAction("Index"); } else { StringBuilder sb = new StringBuilder(); //sb.Append("begin "); sb.Append(" update pipe set state=(state-bitand(state, "); sb.Append((int)PipeState.IncomeRecordDoing); sb.Append(" )), BusinessLength = null"); sb.Append(" ,Weight = null"); sb.Append(" ,PosLastChangeTime = null"); sb.Append(" ,PositionId =14 "); //sb.Append(" ,pipeincomerecordid=null"); sb.Append(" WHERE pipeincomerecordid = "); sb.Append(record.Key); sb.Append(";"); IPipeRepository pipeRepository = RepositoryFactory.GetRepository<IPipeRepository, PDCPMS.Model.Common.Pipe>(); pipeRepository.Executeincome(sb.ToString()); sb = new StringBuilder(); //删除收料单信息 sb.Append("delete from pipeincomerecord where pipeincomerecordid= "); sb.Append(record.Key.ToString()); //sb.Append(" end;"); IPipeIncomeRecordRepository income = RepositoryFactory.GetRepository<IPipeIncomeRecordRepository, PipeIncomeRecord>(); income.Excute(sb.ToString()); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = String.Format("收料单(#{0})删除成功", record.Key) }; } return RedirectToAction("Index"); }
//2010-12-08 by huncherby 删除流转卡 public ActionResult DeleteReceive(string code) { NormalCheckTask task = repository.FindByCode(code); System.Data.DataTable dt= retory.Findcounts(task); if (task == null) { throw new HttpException(404, "未找到指定常检任务"); } if (task.State != NormalCheckTaskState.Received) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "流转卡已被审核通过,不允许删除", Type = HintMessageType.Error }; return RedirectToAction("Index"); } else { if (dt.Rows.Count == 0) { StringBuilder sb = new StringBuilder(); sb.Append("begin "); //删除流转卡信息 sb.Append(" update normalchecktask set state= "); sb.Append((int)NormalCheckTaskState.Transferd); sb.Append(",workno=null,reportno=null,receiverid=null,datereceived=null,checkitemcreatorid=null, checkitemdatecreated=null,checkstandard=null,isneedmark=null,ischeckappearance=null,ischeckthickness=null,ischecklength=null,isneedwash=null,ischeckunblock=null,ischeckpressure=null,ischeckcloseness=null,ischeckbodycrack=null,ischeckblindcrack=null,checktools=null,approverid=null where normalchecktaskid ='"); sb.Append(task.Key.ToString()); sb.Append("';"); sb.Append(" update pipe set code=null,worklength=null where code like '%"+task.WorkNO+"%';"); sb.Append(" delete from normalcheckrecord where normalchecktaskid ='"); sb.Append(task.Key.ToString()); sb.Append("';"); sb.Append(" end;"); INormalCheckTaskRepository NCK = RepositoryFactory.GetRepository<INormalCheckTaskRepository, NormalCheckTask>(); NCK.Excute(sb.ToString()); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = String.Format("流转卡(#{0})删除成功", task.Code) }; } else { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "已有检测数据,请先清空检测数据所有的工序号并保存才允许删除", Type = HintMessageType.Error }; return RedirectToAction("Index"); } } return RedirectToAction("Index"); }
public ActionResult MeasurerSign(int id) { PipeIncomeRecord record = repository.FindByNotCache(id); if (record == null) { throw new HttpException(404, "入库单不存在"); } if (record.Measurer != null) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "计量员已经签过字了,不能重复签字", Type = HintMessageType.Error, DisappearDelay = 5000 }; } else { record.Measurer = UserSession.OnlineAccount; repository[record.Key] = record; unitOfWork.Commit(); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "计量员签字成功" }; } return RedirectToAction("Detail", new { id = id }); }
public ActionResult DoReceive(string code, string WorkNO, Boolean IsCheckAppearance, Boolean IsNeedWash, Boolean IsNeedMark, Boolean IsCheckLength, Boolean IsCheckThickness, Boolean IsCheckUnBlock, Boolean IsCheckBodyCrack, Boolean IsCheckBlindCrack, Boolean IsCheckPressure, Boolean IsCheckCloseness, CheckBodyCrackType CheckBodyCrackType, CheckPressureType CheckPressureType) { NormalCheckTask task = repository.FindByCode(code); if (task == null) { throw new HttpException(404, "未找到指定常检任务"); } //if (!task.TransferTask.IsFinished) if (task.State != NormalCheckTaskState.Transferd) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("常检任务({0})尚未发货,暂不能接收", code), DisappearDelay = 5000, Type = HintMessageType.Error }; return RedirectToAction("Detail", new { code = code }); } if (task.Receiver != null && task.DateReceived.HasValue) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("不能重复接收常检任务({0})", code), DisappearDelay = 5000, Type = HintMessageType.Error }; return RedirectToAction("Detail", new { code = code }); } task.IsCheckAppearance = IsCheckAppearance; task.IsNeedWash = IsNeedWash; task.IsNeedMark = true; task.IsCheckLength = IsCheckLength; task.IsCheckThickness = IsCheckThickness; task.IsCheckUnBlock = IsCheckUnBlock; task.IsCheckBodyCrack = IsCheckBodyCrack; task.IsCheckBlindCrack = IsCheckBlindCrack; task.IsCheckPressure = IsCheckPressure; task.IsCheckCloseness = IsCheckCloseness; if (task.IsCheckBodyCrack.Value) { task.CheckBodyCrackType = CheckBodyCrackType; } else { task.CheckBodyCrackType = Model.NormalCheck.CheckBodyCrackType.NotGiven; } if (task.IsCheckPressure.Value) { task.CheckPressureType = CheckPressureType; } else { task.CheckPressureType = Model.NormalCheck.CheckPressureType.NotGiven; } task.Comment = Request.Form["Comment"]; task.CheckStandard = Request.Form["CheckStandard"]; task.Samplingmethod = Request.Form["Samplingmethod"]; task.CheckTools = Request.Form["CheckTools"]; if (string.IsNullOrEmpty(WorkNO)) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "工序号不能为空", Type = HintMessageType.Error, DisappearDelay = 5000 }; TempData["InvalidModel"] = task; return RedirectToAction("Detail", new { code = code }); } if (null != repository.FindByWorkNO(task.Company.Code + WorkNO)) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("工序号({0})已经存在", WorkNO), Type = HintMessageType.Error, DisappearDelay = 5000 }; TempData["InvalidModel"] = task; return RedirectToAction("Detail", new { code = code }); } task.WorkNO = task.Company.Code + WorkNO; task.State = NormalCheckTaskState.Received; task.CheckItemCreator = task.Receiver = UserSession.OnlineAccount; task.CheckItemDateCreated = task.DateReceived = DateTime.Now; repository[task.Key] = task; unitOfWork.Commit(); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "创建流转卡成功" }; return RedirectToAction("Detail", new { code = code }); }
public ActionResult Records(string id) { //OutgoingNotice notice = repository.FindBy(id); OutgoingNotice notice = repository.FindByNotCache(id); if (notice == null) { throw new HttpException(404, "无法找到指定的发料通知单"); } if (notice.State == OutgoingNoticeState.Done) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("发料通知单({0})已完成,不能进行编辑", notice.Key) }; return RedirectToAction("Detail", new { id = id }); } if (TempData["HintMessage"] != null) { ViewData["HintMessage"] = TempData["HintMessage"]; } #region 资阳上线修改-发料 2011-3-7 by huncherby Account onlineAccount = UserSession.OnlineAccount; #endregion string workno = Request.QueryString["workno"]; ViewData["workno"] = RepositoryFactory.GetRepository<INormalCheckTaskRepository, NormalCheckTask>().Findworkno(notice,onlineAccount); //右边 ViewData["Commen"] = RepositoryFactory.GetRepository<INormalCheckRecordRepository, NormalCheckRecord>().FindByoutgoing(notice,workno,onlineAccount); return View(notice); }
public ActionResult Create([ModelBinder(typeof(QualityCertificationModelBinder))]PipeQualityCertification model, int noticeId) { DeliverNotice notice = RepositoryFactory.GetRepository<IDeliverNoticeRepository, DeliverNotice>().FindBy(noticeId); if (notice == null) { throw new HttpException(404, "来料单不存在"); } PipeQualityCertification pqc = repository.FindBy(notice); if (pqc != null) { return RedirectToAction("Detail", new { id = pqc.Key }); } #region Attachment Regex fileReg = new Regex(@"(?<name>.*)\.(jpe?g|gif|bmp|png)$", RegexOptions.IgnoreCase); HttpPostedFileBase attachmentFile = Request.Files["Attachment"] as HttpPostedFileBase; if (attachmentFile != null) { if (fileReg.IsMatch(attachmentFile.FileName)) { string absolutPathDir = "/UserFiles/PipeQualityCertification/"; string filePath = Server.MapPath(absolutPathDir); string fileName = noticeId + "-" + DateTime.Now.ToString("yyyyMMddHHmmss") + "-" + (new Random(DateTime.Now.Second)).Next(1, 999).ToString("000"); DirectoryInfo di = new DirectoryInfo(filePath); if (!di.Exists) di.Create(); string prevName = attachmentFile.FileName; prevName = fileReg.Replace(prevName, new MatchEvaluator(delegate(Match m) { return m.ToString().Replace(m.Groups["name"].Value, fileName); })); attachmentFile.SaveAs(filePath + prevName); model.AttachmentPath = absolutPathDir + prevName; } } #endregion ReadOnlyCollection<BrokenRule> brokenRules = model.GetBrokenRules(); if (brokenRules.Count == 0) { repository.Add(model); unitOfWork.Commit(); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "质证书添加成功" }; } else { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "你的输入有误,质证书添加失败" }; TempData["BrokenRules"] = brokenRules; TempData["InvalidModel"] = model; } if (Session["RedirectUrl"] != null) { string url = Session["RedirectUrl"].ToString(); Session["RedirectUrl"] = null; return Redirect(url); } return RedirectToAction("Detail", "QualityCertification", new { id = model.Key }); }
public ActionResult UpdateTotal() { string id = Request.Form["Key"]; string sl = Request.Form["SentBusinessLength"]; string sw = Request.Form["SentWeight"]; string length = Request.Form["SentWorklength"]; string count=Request.Form["SentCount"]; StringBuilder sb = new StringBuilder(); sb.Append(" update outgoingnotice set SentBusinessLength='" + sl + "',SentWeight='" + sw + "',SentWorklength='" + length + "',SentCount='"+count+"' where outgoingnoticeid='" + id + "'"); IOutgoingNoticeRepository update = RepositoryFactory.GetRepository<IOutgoingNoticeRepository, OutgoingNotice>(); update.Excute(sb.ToString()); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("成功更新发料单({0})", id) }; return RedirectToAction("Index"); }
public ActionResult Delete(string id) { if (TempData["HintMessage"] != null) { ViewData["HintMessage"] = TempData["HintMessage"]; } PipeQualityCertification pqc = repository.FindByNotCache(id); if (pqc == null) { throw new HttpException(404, "质证书不存在"); } if (pqc.AttachmentPath != null) { string fileName = Server.MapPath(pqc.AttachmentPath); System.IO.FileInfo fi = new System.IO.FileInfo(fileName); if (fi.Exists) { fi.Delete(); } } StringBuilder sb = new StringBuilder(); sb.Append("delete from pipequalitycertification where pipequalitycertificationid='" + id + "'"); repository.Excute(sb.ToString()); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = String.Format("质证书{0}删除成功", pqc.Code) }; return RedirectToAction("Index","DeliverNotice"); }
public ActionResult DeleteOutgoingNotice(string id) { OutgoingNotice notice = repository.FindByNotCache(id); IList<PipeOutgoingRecord> record = recordRepository.FindBy(notice); if (notice == null) { throw new HttpException(404, "无法找到指定的发料通知单"); } if (notice.State != OutgoingNoticeState.Created) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "发料通知单已被接收,不允许删除", Type = HintMessageType.Error }; return RedirectToAction("Index"); } else { if (record.Count != 0) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = "该发料单已经添加维护记录,不允许删除!", Type = HintMessageType.Error }; return RedirectToAction("Index"); } else { StringBuilder sb = new StringBuilder(); sb.Append(" delete from outgoingnotice where outgoingnoticeid='"); sb.Append(notice.Key.ToString()); sb.Append("'"); IOutgoingNoticeRepository outgoingnotice = RepositoryFactory.GetRepository<IOutgoingNoticeRepository, OutgoingNotice>(); outgoingnotice.Excute(sb.ToString()); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = String.Format("发料单(#{0})删除成功", notice.Key) }; } } return RedirectToAction("Index"); }
public ActionResult Update([ModelBinder(typeof(QualityCertificationModelBinder))]PipeQualityCertification model, string id) { if (TempData["HintMessage"] != null) { ViewData["HintMessage"] = TempData["HintMessage"]; } PipeQualityCertification pqc = repository.FindByNotCache(id); if (pqc == null) { throw new HttpException(404, "质证书不存在"); } #region Attachment Regex fileReg = new Regex(@"(?<name>.*)\.(jpe?g|gif|bmp|png)$", RegexOptions.IgnoreCase); HttpPostedFileBase attachmentFile = Request.Files["Attachment"] as HttpPostedFileBase; if (attachmentFile != null) { if (fileReg.IsMatch(attachmentFile.FileName)) { string absolutPathDir = "/UserFiles/PipeQualityCertification/"; string filePath = Server.MapPath(absolutPathDir); string fileName = pqc.DeliverNotice.Key.ToString() + "-" + DateTime.Now.ToString("yyyyMMddHHmmss") + "-" + (new Random(DateTime.Now.Second)).Next(1, 999).ToString("000"); DirectoryInfo di = new DirectoryInfo(filePath); if (!di.Exists) di.Create(); string prevName = attachmentFile.FileName; prevName = fileReg.Replace(prevName, new MatchEvaluator(delegate(Match m) { return m.ToString().Replace(m.Groups["name"].Value, fileName); })); attachmentFile.SaveAs(filePath + prevName); model.AttachmentPath = absolutPathDir + prevName; } } #endregion StringBuilder sb = new StringBuilder(); sb.Append("update pipequalitycertification set code='" + model.Code.ToString() + "',totalcount=" + model.TotalCount + ",totallength=" + model.TotalLength + ",totalweight=" + model.TotalWeight + ",attachmentpath='"+model.AttachmentPath+"' where pipequalitycertificationid='" + id + "'"); repository.Excute(sb.ToString()); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = String.Format("质证书{0}修改成功", model.Code) }; //ReadOnlyCollection<BrokenRule> brokenRules = model.GetBrokenRules(); return RedirectToAction("Detail", "QualityCertification", new { id = id }); }
public ActionResult Index(string reason) { if (TempData["HintMessage"] != null) { ViewData["HintMessage"] = TempData["HintMessage"]; } if (!string.IsNullOrEmpty(reason)) { ViewData["HintMessage"] = new PDCPMS.Application.HintMessage() { Content = reason }; } Account onlineAccount = UserSession.OnlineAccount; HomeIndexModel model = new HomeIndexModel(); DetectionCompany company = UserSession.OnlineAccount.DetectionCompany; IEnumerable<NewsCategory> categorys = newsCategoryRepository.FindAll().Take(3).ToList(); Dictionary<NewsCategory, IEnumerable<News>> news = new Dictionary<NewsCategory, IEnumerable<News>>(); int pageIndex = 1; int pageSize = 10; if (!string.IsNullOrEmpty(Request.QueryString["p"])) { int p; if (int.TryParse(Request.QueryString["p"], out p)) if (p > 0) pageIndex = p; } string CC = null; PagedList<News> Newslist = null; string count=null; foreach (var nc in categorys) { Newslist=newsRepository.Find(null, nc, null, null, null, null, pageSize, pageIndex); news.Add(nc, Newslist); StringBuilder sb = new StringBuilder(); sb.Append("select count(*) as totalcount from news where categoryid='" + nc.Key + "'"); DataTable dt = RepositoryFactory.GetRepository<IPipeTypeRepository, PipeType>().ExcuteDs(sb.ToString()); count+= (dt.Rows[0]["totalcount"].ToString() == "" ? "0" : dt.Rows[0]["totalcount"].ToString())+"-"; } count.Remove(count.Length-1,1); string[] counts = count.Split('-'); ViewData["count1"] = counts[0]; ViewData["count2"] = counts[1]; ViewData["p"] = pageIndex; model.News = news; PagedList<DeliverNotice> deliverNotices = deliverNoticeRepository.FindNotDo(pageIndex, pageSize, onlineAccount, CC,null,null, company); model.DeliverNotices = deliverNotices; PagedList<BusinessCheckNotice> businessCheckNotices = businessCheckNoticeRespository.FindNotDo(pageIndex, pageSize,null, onlineAccount); model.BusinessCheckNotices = businessCheckNotices; PagedList<PipeIncomeRecord> pipeIncomeRecords = pipeIncomeRecordRepository.FindNotDo(pageIndex,pageSize,null,onlineAccount); model.PipeIncomeRecords = pipeIncomeRecords; PagedList<PipeNeedNotice> pipeNeedNotices = pipeNeedNoticeRepository.FindNotDo(pageIndex,pageSize,onlineAccount); model.PipeNeedNotices = pipeNeedNotices; PagedList<NormalCheckTask> normalCheckTasks = normalCheckTaskRepository.FindNotDo(pageIndex, pageSize, null, onlineAccount); model.NormalCheckTasks = normalCheckTasks; PagedList<OutgoingNotice> outgointNotices = outgoingNoticeRepository.FindNotDo(pageIndex, pageSize,null,onlineAccount); model.OutgoingNotices = outgointNotices; PagedList<ReturningNotice> ReturningNotice = ReturningNoticeRepository.FindNotDo(pageIndex, pageSize,null,onlineAccount); model.ReturningNotice = ReturningNotice; return View(model); }
public ActionResult Verify(string id) { TransferNotice notice = repository.FindByNotCache(id); if (notice == null) { throw new HttpException(404, "无法找到指定的垛位调度任务单"); } if (notice.State == TransferNoticeState.Done) { TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("垛位调度任务单({0})不能重复审核", notice.Key), DisappearDelay = 5000, Type = HintMessageType.Error }; } DateTime now = DateTime.Now; notice.State = TransferNoticeState.Done; notice.Verifier = UserSession.OnlineAccount; notice.DateVerified = now; repository[notice.Key] = notice; unitOfWork.Commit(); TempData["HintMessage"] = new PDCPMS.Application.HintMessage { Content = string.Format("垛位调度任务单({0})审核通过成功", notice.Key), DisappearDelay = 5000 }; return RedirectToAction("Detail", new { id = id }); }