/// <summary> /// 入库处理 /// </summary> /// <param name="Amount">入库数量,工序全部完成自动入库时,设置为-1</param> /// <param name="NID">机器号</param> public static string InDepotAmount(int Amount, int NID, int _depotID) { Hownet.BLL.Product2Depot bllP2D = new Hownet.BLL.Product2Depot(); Hownet.Model.Product2Depot modP2D = new Hownet.Model.Product2Depot(); Hownet.BLL.Product2DepotInfo bllP2DInfo = new Hownet.BLL.Product2DepotInfo(); Hownet.Model.Product2DepotInfo modP2DInfo = new Hownet.Model.Product2DepotInfo(); Hownet.BLL.Repertory bllRep = new Hownet.BLL.Repertory(); Hownet.Model.Repertory modRep = new Hownet.Model.Repertory(); Hownet.BLL.AmountInfo bllAI = new Hownet.BLL.AmountInfo(); DataRow[] drsMain = BasicTable.dtMain.Select("(No=" + NID + ")"); if (drsMain.Length == 0) { return(ReturnStr(0, NID, "无相关记录")); } bool t = false; Hownet.BLL.WorkTicket bllWT = new Hownet.BLL.WorkTicket();//有当前卡机的刷卡记录,读出相应分箱记录 DataTable dttWT = bllWT.GetInDepotList(Convert.ToInt32(drsMain[0]["TicketID"])).Tables[0]; List <Hownet.Model.WorkTicket> liWT = bllWT.DataTableToList(dttWT); if (liWT[0].P2DInfoID > 0 && Amount == -1) { return(ReturnStr(0, NID, "本箱已入库")); } //if (Amount == -1) //{ //} #region 记入入库明细 DataTable dtP2D = new DataTable(); if (Amount == -1) { dtP2D = bllP2D.GetList("(DateTime='" + DateTime.Today + "') And (IsVerify=4) And (DepotID=" + _depotID + ")").Tables[0]; if (dtP2D.Rows.Count == 0)//查出当天已审核的该仓库入库表 { modP2D = new Hownet.Model.Product2Depot(); modP2D.DateTime = DateTime.Today; modP2D.Num = bllP2D.NewNum(modP2D.DateTime); modP2D.DepotID = _depotID; modP2D.IsVerify = 4; modP2D.VerifyMan = 0; modP2D.VerifyDate = modP2D.DateTime; modP2D.UpData = 1; modP2D.A = 1; modP2D.TypeID = 8; modP2D.Remark = ""; modP2D.ID = bllP2D.Add(modP2D); dtP2D = bllP2D.GetList("(ID=" + modP2D.ID + ")").Tables[0]; } } if (liWT[0].P2DInfoID > 0)//这箱货已有入库单编号 { modP2DInfo = bllP2DInfo.GetModel(liWT[0].P2DInfoID); if (Amount == -1) { if (modP2DInfo.MainID == Convert.ToInt32(dtP2D.Rows[0]["ID"]))//这个入库单明细的主表,等于今天的自动入库单编号 { Amount = Convert.ToInt32(drsMain[0]["Amount"]); modP2DInfo.Amount = modP2DInfo.Amount - liWT[0].EligibleAmount + Amount;//更新入库数量 bllP2DInfo.Update(modP2DInfo); t = true; } else { return(ReturnStr(0, NID, "已于此前入库")); } } else { modP2DInfo.Amount = modP2DInfo.Amount - liWT[0].EligibleAmount + Amount;//更新入库数量 bllP2DInfo.Update(modP2DInfo); t = true; } } else { if (Amount == -1) { Amount = Convert.ToInt32(drsMain[0]["Amount"]); } modP2DInfo = new Hownet.Model.Product2DepotInfo(); modP2DInfo.A = modP2DInfo.ID = 0; modP2DInfo.MainID = Convert.ToInt32(dtP2D.Rows[0]["ID"]); modP2DInfo.MaterielID = Convert.ToInt32(drsMain[0]["MaterielID"]); modP2DInfo.ColorID = liWT[0].ColorID; modP2DInfo.ColorOneID = liWT[0].ColorOneID; modP2DInfo.ColorTwoID = liWT[0].ColorTwoID; modP2DInfo.DeparmentID = liWT[0].DepartmentID; modP2DInfo.SizeID = liWT[0].SizeID; modP2DInfo.BrandID = liWT[0].BrandID; modP2DInfo.Remark = ""; modP2DInfo.TaskID = liWT[0].TaskID; modP2DInfo.Amount = Amount; if (liWT[0].MListID > 0) { modP2DInfo.MListID = liWT[0].MListID; } else { Hownet.BLL.MaterielList bllML = new Hownet.BLL.MaterielList(); Hownet.Model.MaterielList modML = new Hownet.Model.MaterielList(); modML.A = 1; } liWT[0].P2DInfoID = modP2DInfo.ID = bllP2DInfo.Add(modP2DInfo); } #endregion #region 更新库存 try { DataTable dtRep = bllRep.GetList("(DepartmentID=" + _depotID + ") And (MListID=" + liWT[0].MListID + ")").Tables[0]; if (dtRep.Rows.Count > 0) { modRep = bllRep.GetModel(Convert.ToInt32(dtRep.Rows[0]["ID"])); if (Amount == -1) { modRep.Amount += liWT[0].Amount; } else { if (t) { modRep.Amount = modRep.Amount - liWT[0].EligibleAmount + Amount; } else { modRep.Amount += Amount; } } bllRep.Update(modRep); } else { Hownet.BLL.Materiel bllMat = new Hownet.BLL.Materiel(); modRep = new Hownet.Model.Repertory(); modRep.ID = modRep.A = 0; modRep.MListID = liWT[0].MListID; modRep.MeasureID = bllMat.GetModel(Convert.ToInt32(drsMain[0]["MaterielID"])).MeasureID; modRep.ColorID = liWT[0].ColorID; modRep.ColorOneID = liWT[0].ColorOneID; modRep.ColorTwoID = liWT[0].ColorTwoID; modRep.SizeID = liWT[0].SizeID; modRep.BrandID = liWT[0].BrandID; modRep.CompanyID = 0; modRep.DepartmentID = _depotID; modRep.Amount = Amount; modRep.MaterielID = Convert.ToInt32(drsMain[0]["MaterielID"]); bllRep.Add(modRep); } #endregion #region 更总生产单在线数量 List <Hownet.Model.AmountInfo> liAI = bllAI.GetModelList("(MainID=" + liWT[0].TaskID + ") And (TableTypeID=1) And (MListID=" + liWT[0].MListID + ")"); if (liAI.Count > 0) { if (Amount == -1) { liAI[0].NotAmount -= liWT[0].Amount; } else { if (t) { liAI[0].NotAmount = liAI[0].NotAmount + liWT[0].EligibleAmount - Amount; } else { liAI[0].NotAmount -= Amount; } } bllAI.Update(liAI[0]); } if (liWT[0].TaskID > 0) { liAI = bllAI.GetModelList("(MainID=" + liWT[0].DepartmentID + ") And (TableTypeID=37) And (MListID=" + liWT[0].MListID + ")"); if (liAI.Count > 0) { if (Amount == -1) { liAI[0].NotAmount -= liWT[0].Amount; } else { if (t) { liAI[0].NotAmount = liAI[0].NotAmount + liWT[0].EligibleAmount - Amount; } else { liAI[0].NotAmount -= Amount; } } bllAI.Update(liAI[0]); } } #endregion #region 更新分箱表 liWT[0].EligibleAmount = Amount; liWT[0].InferiorAmount = liWT[0].Amount - Amount; liWT[0].P2DInfoID = modP2DInfo.ID; liWT[0].P2DDepartmentID = _depotID; bllWT.Update(liWT[0]); #endregion if (Amount > 0 && t) { for (int i = 0; i < drsMain.Length; i++) { drsMain[i].Delete(); } BasicTable.dtMain.AcceptChanges(); } DataTable dtttt = bllP2D.GetSumAmount(DateTime.Today, modP2DInfo.DeparmentID).Tables[0]; string ttt = string.Empty; if (dtttt.Rows.Count > 0) { ttt = dtttt.Rows[0]["Name"].ToString(); } int l = 15 - gb.GetByteCount(ttt); if (l > 0) { for (int i = 0; i < l; i++) { ttt = ttt + " "; } } ttt += dtttt.Rows[0]["Amount"].ToString(); return(ReturnStr(0, NID, ttt)); } catch (Exception ex) { return(ReturnStr(0, NID, "错误")); } }
/// <summary> /// 入库处理 /// </summary> /// <param name="Amount">入库数量,工序全部完成自动入库时,设置为-1</param> /// <param name="NID">机器号</param> public static void UpNotAmount(int Amount, int NID) { Hownet.BLL.AmountInfo bllAI = new Hownet.BLL.AmountInfo(); DataRow[] drsMain = BasicTable.dtMain.Select("(No=" + NID + ")"); if (drsMain.Length == 0) { return; } bool t = false; Hownet.BLL.WorkTicket bllWT = new Hownet.BLL.WorkTicket();//有当前卡机的刷卡记录,读出相应分箱记录 DataTable dttWT = bllWT.GetInDepotList(Convert.ToInt32(drsMain[0]["TicketID"])).Tables[0]; List <Hownet.Model.WorkTicket> liWT = bllWT.DataTableToList(dttWT); if (liWT[0].P2DInfoID != 0 && Amount == -1) { return; } #region 更总生产单在线数量 List <Hownet.Model.AmountInfo> liAI = bllAI.GetModelList("(MainID=" + liWT[0].TaskID + ") And (TableTypeID=1) And (MListID=" + liWT[0].MListID + ")"); if (liAI.Count > 0) { if (Amount == -1) { liAI[0].NotAmount -= liWT[0].Amount; } else { if (t) { liAI[0].NotAmount = liAI[0].NotAmount + liWT[0].EligibleAmount - Amount; } else { liAI[0].NotAmount -= Amount; } } bllAI.Update(liAI[0]); } if (liWT[0].TaskID > 0) { liAI = bllAI.GetModelList("(MainID=" + liWT[0].DepartmentID + ") And (TableTypeID=37) And (MListID=" + liWT[0].MListID + ")"); if (liAI.Count > 0) { if (Amount == -1) { liAI[0].NotAmount -= liWT[0].Amount; } else { if (t) { liAI[0].NotAmount = liAI[0].NotAmount + liWT[0].EligibleAmount - Amount; } else { liAI[0].NotAmount -= Amount; } } bllAI.Update(liAI[0]); } } #endregion #region 更新分箱表 liWT[0].EligibleAmount = Amount; liWT[0].InferiorAmount = liWT[0].Amount - Amount; liWT[0].P2DInfoID = -1; liWT[0].P2DDepartmentID = 0; bllWT.Update(liWT[0]); #endregion }
public string EmpAddWork(string TicketInfoID, string EmpID, string TicketTime) { if (TicketInfoID == string.Empty || TicketTime == string.Empty) { return("工序卡刷卡不正确"); } if (Convert.ToDateTime(TicketTime).AddSeconds(30) < DateTime.Now) { return("刷卡超时"); } if (EmpID == string.Empty) { return(string.Empty); } try { Hownet.BLL.MiniEmp bllME = new Hownet.BLL.MiniEmp(); Hownet.Model.MiniEmp modME = bllME.GetModel(Convert.ToInt32(EmpID)); if (modME == null) { return("员工不正确"); } if (Convert.ToDateTime(modME.DimDate) > Convert.ToDateTime("1900-1-1")) { return("员工已离职!"); } Hownet.BLL.WorkTicketInfo bllWTI = new Hownet.BLL.WorkTicketInfo(); Hownet.Model.WorkTicketInfo modWTI = bllWTI.GetModel(Convert.ToInt32(TicketInfoID)); if (modWTI == null) { return("工序卡刷卡不正确"); } if (modWTI.EmployeeID > 0) { return("该工序已被完成"); } Hownet.BLL.Working bllW = new Hownet.BLL.Working(); Hownet.Model.Working modW = bllW.GetModel(modWTI.WorkingID); if (!CheckWorkType(modW.WorkTypeID.ToString(), modME.WorkTypeID)) { return("工种不匹配"); } DateTime dtNow = DateTime.Now; Hownet.BLL.ProductTaskMain bllPTM = new Hownet.BLL.ProductTaskMain(); Hownet.Model.ProductTaskMain modPTM = bllPTM.GetModel(modWTI.TaskID); bllWTI.GetBarBack(modWTI.ID, modME.ID, dtNow, 1); bllWTI.AddPayInfo(modPTM.MaterielID, modWTI.ID, modPTM.DateTime.ToString("yyyyMMdd") + modPTM.Num.ToString().PadLeft(3, '0')); DataRow[] drs = ReaderCard.BasicTable.dtWTCard.Select("(InfoID=" + TicketInfoID + ")"); if (drs.Length == 1) { drs[0]["EmployeeID"] = modME.ID; drs[0]["MiniEmpName"] = modME.Name; drs[0]["DateTime"] = DateTime.Now; } if (modWTI.WorkingID == BasicTable.BackDepotWorkingID) { Hownet.BLL.WorkTicket bllWT = new Hownet.BLL.WorkTicket(); Hownet.Model.WorkTicket modWT = bllWT.GetModel(modWTI.MainID); if (modWT.P2DInfoID == 0) { Hownet.BLL.AmountInfo bllAI = new Hownet.BLL.AmountInfo(); List <Hownet.Model.AmountInfo> liAI = bllAI.GetModelList("(MainID=" + modWT.TaskID + ") And (TableTypeID=1) And (MListID=" + modWT.MListID + ")"); if (liAI.Count > 0) { liAI[0].NotAmount -= modWT.Amount; bllAI.Update(liAI[0]); } } } return("今天总产量:" + bllWTI.CountAmount(modME.ID, dtNow, ReaderCard.BasicTable.IsShowMoney).ToString()); } catch { return("对不起,出现错误!"); } //return string.Empty; }