public TableData UpdateDetailApp(MaterialDistributeTaskDetail materialDistributeTaskDetail) { using (var tran = _context.Database.BeginTransaction()) { TableData tab = new TableData(); tab.code = 200; try { _appd.Update(materialDistributeTaskDetail); MaterialDemand materialDemand = _unitWork.Find <MaterialDemand>(u => u.OrderCode == materialDistributeTaskDetail.OrderCode && u.MaterialCode == materialDistributeTaskDetail.MaterialCode).FirstOrDefault(); materialDemand.DistributeQty = materialDistributeTaskDetail.Qty; materialDemand.UpdateBy = "MaterialConfirm"; materialDemand.UpdateTime = DateTime.Now; _unitWork.Update(materialDemand); tab.msg = "备料信息变更成功!"; tran.Commit(); } catch (Exception ex) { tran.Rollback(); tab.code = 300; tab.msg += ex.Message; } return(tab); } }
public TableData Query(MaterialDistributeTaskDetail entity) { var result = new TableData(); var data = _app.Find(EntityToExpression <MaterialDistributeTaskDetail> .GetExpressions(entity)); GetData(data, result); result.count = data.Count(); return(result); }
public Response StockConfirmApp(MaterialDemandConfirmModel mdConfirmList) { Response Response = new Response(); string sErrorMsg = ""; //if (!CheckLogin()) //{ // Response.Code = 500; // Response.Status = false; // Response.Message = "请先登录!"; // return Response; //} foreach (MaterialDemandConfirm mdConfirm in mdConfirmList.Data) { try { MaterialDemand materialDemand = _unitWork.FindSingle <MaterialDemand>(u => u.Id.Equals(mdConfirm.Id)); if (materialDemand != null) { materialDemand.DistributeQty = mdConfirm.DistributeQty; materialDemand.UpdateBy = "ConfirmAPI"; materialDemand.UpdateTime = DateTime.Now; _unitWork.Update(materialDemand); } MaterialDistributeTaskDetail materialDistributeTaskDetail = _unitWork.FindSingle <MaterialDistributeTaskDetail>(u => u.OrderCode == mdConfirm.OrderCode && u.MaterialCode == mdConfirm.MaterialCode); if (materialDistributeTaskDetail != null) { materialDistributeTaskDetail.Qty = mdConfirm.DistributeQty; materialDistributeTaskDetail.ContainerCode = mdConfirm.ContainerCode; materialDistributeTaskDetail.UpdateBy = "ConfirmAPI"; materialDistributeTaskDetail.UpdateTime = DateTime.Now; _unitWork.Update(materialDistributeTaskDetail); MaterialDistributeTaskHeader materialDistributeTaskHeader = _unitWork.FindSingle <MaterialDistributeTaskHeader>(u => u.Id == materialDistributeTaskDetail.MaterialDistributeTaskHeaderId); if (materialDistributeTaskHeader.MaterialConfirm != MaterialConfirm.已确认) { materialDistributeTaskHeader.ContainerCode = mdConfirm.ContainerCode; materialDistributeTaskHeader.StartPlace = mdConfirm.ContainerPlace; materialDistributeTaskHeader.MaterialConfirm = MaterialConfirm.已确认; materialDistributeTaskHeader.UpdateBy = "ConfirmAPI"; materialDistributeTaskHeader.UpdateTime = DateTime.Now; _unitWork.Update(materialDistributeTaskHeader); } } } catch (Exception ex) { Response.Code = 500; Response.Status = false; Response.Message = (Response.Message == "操作成功" ? "" : Response.Message) + "\r\n" + "OrderCode:" + mdConfirm.OrderCode + "确认失败!" + ex.Message; } } return(Response); }
public string Upd(MaterialDistributeTaskDetail Table_entity) { try { _app.Upd(Table_entity); } catch (Exception ex) { Result.Status = false; Result.Message = ex.Message; } return(JsonHelper.Instance.Serialize(Result)); }
public string GetTemplate() { var result = new TableData(); List <MaterialDistributeTaskDetail> listMaterialDistributeTaskDetail = new List <MaterialDistributeTaskDetail>(); MaterialDistributeTaskDetail entity = _app.FindSingle(u => u.Id > 0); if (entity != null) { listMaterialDistributeTaskDetail.Add(entity); } else { listMaterialDistributeTaskDetail.Add(new MaterialDistributeTaskDetail()); } result.data = listMaterialDistributeTaskDetail; result.count = listMaterialDistributeTaskDetail.Count; return(JsonHelper.Instance.Serialize(result)); }
public Response ImportIn(IFormFile excelfile) { Response result = new Infrastructure.Response(); List <MaterialDistributeTaskDetail> exp = imp.ConvertToModel <MaterialDistributeTaskDetail>(excelfile); string sErrorMsg = ""; for (int i = 0; i < exp.Count; i++) { try { MaterialDistributeTaskDetail e = exp[i]; e.Id = null; _app.Add(e); } catch (Exception ex) { sErrorMsg += "第" + (i + 2) + "行:" + ex.Message + "<br>"; result.Message = sErrorMsg; break; } } if (sErrorMsg.Equals(string.Empty)) { if (exp.Count == 0) { sErrorMsg += "没有发现有效数据, 请确定模板是否正确, 或是否有填充数据!"; result.Message = sErrorMsg; } else { result.Message = "导入完成"; } } else { result.Status = false; result.Message = result.Message; } return(result); }
public TableData CreateDistributeTaskApp(List <MaterialCallHeader> mcheaderlist) { TableData tab = new TableData { code = 200 }; int hcount = 0; int listcount = 0; string sErrorMsg = ""; Location location = null; try { listcount = mcheaderlist.Count; foreach (MaterialCallHeader materialCallHeader in mcheaderlist) { MaterialDistributeTaskHeader materialDistributeTaskHeader = new MaterialDistributeTaskHeader(); List <MaterialCallDetail> materialCallDetails = _unitWork.Find <MaterialCallDetail>(u => u.CallHeaderId.Equals(materialCallHeader.Id)).ToList(); if (!_unitWork.IsExist <MaterialDistributeTaskHeader>(u => u.MaterialCallId.Equals(materialCallHeader.Id))) { //生成配送主数据 // MaterialDistributeTaskHeader materialDistributeTaskHeader = new MaterialDistributeTaskHeader(); var pcode = _unitWork.Find <MaterialCallDetail>(u => u.CallHeaderId == materialCallHeader.Id).Select(a => a.ProductCode).FirstOrDefault(); var pid = _unitWork.Find <ProductHeader>(u => u.Code == pcode).Select(a => a.Id).FirstOrDefault(); location = _unitWork.Find <Location>(u => u.Code == materialCallHeader.LocationCode).FirstOrDefault(); materialDistributeTaskHeader.MaterialCallId = materialCallHeader.Id; materialDistributeTaskHeader.ProductId = pid; materialDistributeTaskHeader.ProductCode = pcode; materialDistributeTaskHeader.NeedStation = materialCallHeader.NeedStation; materialDistributeTaskHeader.LocationCode = materialCallHeader.LocationCode; materialDistributeTaskHeader.ContainerType = location.Type; if (!string.IsNullOrEmpty(location.ContainerCode)) { materialDistributeTaskHeader.ContainerCode = location.ContainerCode; } materialDistributeTaskHeader.NeedTime = materialCallHeader.CallTime; materialDistributeTaskHeader.Status = 1; materialDistributeTaskHeader.UserCode = _app._loginInfo.Account; if (materialCallHeader.CallType == CallType.料) { if (location.Status == LocationStatus.空仓位) {//第一次上料 materialDistributeTaskHeader.TaskNo = _app.GetTaskNo(AGVTaskNo.工位叫料); materialDistributeTaskHeader.CallType = TaskType.料配送; materialDistributeTaskHeader.EndPlace = materialCallHeader.LocationCode; if (string.IsNullOrEmpty(pcode)) { materialDistributeTaskHeader.MaterialConfirm = MaterialConfirm.已确认; } else { materialDistributeTaskHeader.MaterialConfirm = MaterialConfirm.未确认; } _appmh.Add(materialDistributeTaskHeader); } else { //先生成取空料框任务 MaterialDistributeTaskHeader mt = new MaterialDistributeTaskHeader(); materialDistributeTaskHeader.CopyTo(mt); mt.Id = null; mt.TaskNo = _app.GetTaskNo(AGVTaskNo.取空料框); mt.CallType = TaskType.回收料框; mt.StartPlace = materialCallHeader.LocationCode; mt.MaterialConfirm = MaterialConfirm.已确认; _appmh.Add(mt); //再成上料任务 materialDistributeTaskHeader.TaskNo = _app.GetTaskNo(AGVTaskNo.工位叫料); materialDistributeTaskHeader.CallType = TaskType.料配送; materialDistributeTaskHeader.StartPlace = ""; materialDistributeTaskHeader.ContainerCode = ""; materialDistributeTaskHeader.EndPlace = materialCallHeader.LocationCode; if (string.IsNullOrEmpty(pcode)) { materialDistributeTaskHeader.MaterialConfirm = MaterialConfirm.已确认; } else { materialDistributeTaskHeader.MaterialConfirm = MaterialConfirm.未确认; } _appmh.Add(materialDistributeTaskHeader); } //只有呼叫类型是上料任务时,才有呼叫明细数据,其它呼叫类型无需写入任务配送明细表 if (materialCallDetails.Count > 0) { foreach (MaterialCallDetail mcdetail in materialCallDetails) { List <MaterialDemand> materialDemands = _unitWork.Find <MaterialDemand>(u => u.OrderCode == mcdetail.OrderCode).ToList(); //判断此工单的物料需求是否生成 if (materialDemands.Count > 0) { //判断此工单的物料配送任务是否已经建立 //if (!_unitWork.IsExist<MaterialDistributeTaskDetail>(u => u.OrderCode == mcdetail.OrderCode)) //{ //生成配送明细数据 foreach (MaterialDemand md in materialDemands) { if (md.ClassABC == location.Type) { MaterialDistributeTaskDetail materialDistributeTaskDetail = new MaterialDistributeTaskDetail(); materialDistributeTaskDetail.MaterialDistributeTaskHeaderId = materialDistributeTaskHeader.Id; materialDistributeTaskDetail.OrderCode = md.OrderCode; materialDistributeTaskDetail.MaterialCode = md.MaterialCode; materialDistributeTaskDetail.SerialNumber = mcdetail.SerialNumber; materialDistributeTaskDetail.Qty = md.DistributeQty; materialDistributeTaskDetail.UserCode = _app._loginInfo.Account; _appmd.Add(materialDistributeTaskDetail); } } hcount = hcount + 1; //} //else //{ // sErrorMsg += "工单号为:" + mcdetail.OrderCode + "的配送任务已经建立过,不可重复建立!<br>"; // tab.msg = sErrorMsg; //} } else { sErrorMsg += "工单号为:" + mcdetail.OrderCode + "未建立工单对应的物料需求,无法生成!<br>"; tab.msg = sErrorMsg; } } } } else if (materialCallHeader.CallType == CallType.料) { if (location.Status == LocationStatus.空仓位) {//第一次下料,即只补空料框 materialDistributeTaskHeader.TaskNo = _app.GetTaskNo(AGVTaskNo.补给空框); materialDistributeTaskHeader.CallType = TaskType.补给料框; materialDistributeTaskHeader.EndPlace = materialCallHeader.LocationCode; materialDistributeTaskHeader.MaterialConfirm = MaterialConfirm.已确认; _appmh.Add(materialDistributeTaskHeader); } else {//先生成下料任务 materialDistributeTaskHeader.TaskNo = _app.GetTaskNo(AGVTaskNo.成品下料); materialDistributeTaskHeader.CallType = TaskType.料取件; materialDistributeTaskHeader.StartPlace = materialCallHeader.LocationCode; _appmh.Add(materialDistributeTaskHeader); //再生成补空料框任务 MaterialDistributeTaskHeader mtbk = new MaterialDistributeTaskHeader(); materialDistributeTaskHeader.CopyTo(mtbk); mtbk.Id = null; mtbk.TaskNo = _app.GetTaskNo(AGVTaskNo.补给空框); mtbk.CallType = TaskType.补给料框; mtbk.ContainerCode = ""; mtbk.StartPlace = ""; mtbk.EndPlace = materialCallHeader.LocationCode; mtbk.MaterialConfirm = MaterialConfirm.已确认; _appmh.Add(mtbk); } } } } if (listcount <= hcount) { tab.code = 200; tab.msg = "配送任务已成功生成!"; } else { tab.code = 200; tab.msg = "执行完成!部分生成失败的信息如下:<br>" + tab.msg; } } catch (Exception ex) { tab.code = 300; tab.msg += ex.Message; } return(tab); }
public string UpdateDetail(MaterialDistributeTaskDetail entity) { return(JsonHelper.Instance.Serialize(_app.UpdateDetailApp(entity))); }
public string Load(PageReq pageRequest, MaterialDistributeTaskDetail entity) { return(JsonHelper.Instance.Serialize(_app.Load(pageRequest, entity))); }
public string Export(MaterialDistributeTaskDetail entity) { return(JsonHelper.Instance.Serialize(_app.ExportData(entity))); }
public void Upd(MaterialDistributeTaskDetail entity) { _app.Update(entity); }
public void Ins(MaterialDistributeTaskDetail entity) { _app.Add(entity); }
public TableData Load(PageReq pageRequest, MaterialDistributeTaskDetail entity) { return(_app.Load(pageRequest, entity)); }
public TableData ExportData(MaterialDistributeTaskDetail entity) { return(_app.ExportData(entity)); }