/// <summary> /// /// </summary> /// <param name="project">生產工程</param> /// <param name="shiftProject">班次內工程</param> /// <param name="reason">原因</param> /// <param name="CorrectQTY">糾正數量</param> /// <returns></returns> public ReturnValueInfo CorrectProjectQTY(PrintProject_ppj_Info project, ShiftProjList_spl_Info shiftProject, CodeMaster_cmt_Info reason, int CorrectQTY) { ReturnValueInfo result = new ReturnValueInfo(); try { using (DBContext uow = DBContext.Begin()) { try { //保存糾正數量記錄 CorrectRecord_ctr_Info ctr = new CorrectRecord_ctr_Info(); ctr.ctr_RecordID = Guid.NewGuid(); ctr.ctr_cType = CustEnum.KEY2.CORRECTQTY.ToString(); ctr.ctr_cReasonID = reason.cmt_cValue; ctr.ctr_cReason = reason.cmt_cRemark; ctr.ctr_dLastDate = ctr.ctr_dAddDate = DateTime.Now; ctr.ctr_iAdjustProdQTY = shiftProject.spl_iQTY + CorrectQTY; ctr.ctr_iProdQTY = shiftProject.spl_iQTY; ctr.ctr_lSync = false; ctr.ctr_PPJID = shiftProject.spl_PPJID; ctr.ctr_SPLID = shiftProject.spl_RecordID; uow.CurrentSession.Save(ctr); //更新班次內工程生產數量 shiftProject.spl_iQTY += CorrectQTY; shiftProject.spl_dLastDate = DateTime.Now; uow.CurrentSession.Update(shiftProject); //更新工程生產數量 project.ppj_iActualProdNum += CorrectQTY; uow.CurrentSession.Update(project); } catch (Exception) { uow.CanCommit = false; throw; } } result.boolValue = true; } catch (Exception ex) { result.boolValue = false; result.messageText = Resource.B0025 + ":" + ex.Message; } return result; }
public ReturnValueInfo ClearProjectQTY(PrintProject_ppj_Info data, CodeMaster_cmt_Info reason) { ReturnValueInfo result = new ReturnValueInfo(); try { using (DBContext uow = DBContext.Begin()) { try { //清空工程生產數量相關數據 data.ppj_fProdSpeed = 0; data.ppj_iActualProdNum = 0; data.ppj_iSpeed = 0; data.ppj_iCountWastNum = 0; data.ppj_iCountProdNum = 0; uow.CurrentSession.Update(data); IList<ShiftProjList_spl_Info> shiftProjects = null; var query = uow.CurrentSession.QueryOver<ShiftProjList_spl_Info>(); query.And(d => d.spl_PPJID == data.ppj_RecordID); shiftProjects = query.List<ShiftProjList_spl_Info>(); //清空班次內工程生產數量相關數據 foreach (var sp in shiftProjects) { //保存消數記錄 CorrectRecord_ctr_Info ctr = new CorrectRecord_ctr_Info(); ctr.ctr_RecordID = Guid.NewGuid(); ctr.ctr_cType = CustEnum.KEY2.CLEARQTY.ToString(); ctr.ctr_cReasonID = reason.cmt_cValue; ctr.ctr_cReason = reason.cmt_cRemark; ctr.ctr_dAddDate = DateTime.Now; ctr.ctr_iAdjustProdQTY = 0; ctr.ctr_iProdQTY = sp.spl_iQTY; ctr.ctr_lSync = false; ctr.ctr_PPJID = data.ppj_RecordID; ctr.ctr_SPLID = sp.spl_RecordID; uow.CurrentSession.Save(ctr); sp.spl_iBeginQTY = 0; sp.spl_iEndQTY = 0; sp.spl_iCalQTY = 0; sp.spl_iQTY = 0; sp.spl_iWastQTY = 0; uow.CurrentSession.Update(sp); } data.ShiftProjects = shiftProjects; } catch (Exception) { uow.CanCommit = false; throw; } } result.boolValue = true; } catch (Exception ex) { result.boolValue = false; result.messageText = Resource.B0024 + ":" + ex.Message; } return result; }