[Route("SplitLots")] //原批次 拆分批次号 拆分批次数 public string SplitLots(IList <SMT_MMLotsSplit> SMT_SplitLots) { try { foreach (var item in SMT_SplitLots) { if (item.IsSplit == "0") { s = Convert.ToInt32(item.Quantity); break; } } foreach (var item in SMT_SplitLots) { //更新送料表拆分的状态 LES_REQUEST_RECEIVE receive = new LES_REQUEST_RECEIVE(); receive.ReceivePK = item.ReceivePK; receive.IsSplit = true; receiveBO.UpdateSome(receive); if (item.IsSplit == "0") { continue; } //添加PM_SMT_RECEIPE_SETUP_DETAIL_REPLACE拆分数据 string sqlRequestReceive = @"SELECT * FROM dbo.LES_REQUEST_RECEIVE WHERE ReceivePK='{0}'"; sqlRequestReceive = string.Format(sqlRequestReceive, item.ReceivePK); DataTable dtrequest = co_BSC_BO.GetDataTableBySql(sqlRequestReceive); PM_SMT_RECEIPE_SETUP_DETAIL_REPLACE replace = new PM_SMT_RECEIPE_SETUP_DETAIL_REPLACE(); replace.OldLotID = dtrequest.Rows[0]["HutID"].ToString(); replace.OldLotQty = s; replace.NewLotID = item.HutID; replace.NewLotQty = Convert.ToInt32(item.Quantity); replace.Operator = "zwg"; replace.OperationTime = SSGlobalConfig.Now; replace.ReceivePK = item.ReceivePK; string sqlreplace = @"INSERT INTO dbo.PM_SMT_RECEIPE_SETUP_DETAIL_REPLACE(OldLotID,OldLotQty,NewLotID,NewLotQty, Operator,OperationTime,ReceivePK,OldOrderID) VALUES('{0}','{1}','{2}','{3}','{4}',GETDATE(),'{5}','{6}');select @@identity"; sqlreplace = string.Format(sqlreplace, replace.OldLotID, replace.OldLotQty, replace.NewLotID, replace.NewLotQty, replace.Operator, replace.ReceivePK, dtrequest.Rows[0]["OrderID"].ToString()); DataTable dtreplace = co_BSC_BO.GetDataTableBySql(sqlreplace); LESSplit_ReelID reelid = new LESSplit_ReelID(); reelid.RequestPK = Convert.ToInt32(dtreplace.Rows[0][0]); reelid.NewReelID = replace.NewLotID.ToString(); reelid.NewQuantity = Convert.ToDouble(replace.NewLotQty); reelid.OldReelID = replace.OldLotID; reelid.OperationTime = Convert.ToDateTime(replace.OperationTime); reelid.Operator = replace.Operator; ReturnValue rv = WMSBO.SplitReelID(reelid); if (rv.Success) { replace.Attribute01 = "1"; setupdetailBO.UpdateSome(replace); } else { replace.Attribute01 = "0"; setupdetailBO.UpdateSome(replace); return("拆分失败:" + rv.Message); } } return("拆分成功"); } catch (Exception ex) { return("拆分异常:" + ex.Message); } }
public string checkNewReelID(DockMaterial entity) { LES_REQUEST_RECEIVE receive = new LES_REQUEST_RECEIVE(); receive.HutID = entity.NewReelID; IList <LES_REQUEST_RECEIVE> detailPKList = receiveBO.GetEntities(receive); if (detailPKList == null || detailPKList.Count == 0) { return("新批次信息错误"); } if (detailPKList[0].Status == 3) { return("此物料已接料,无需再次操作"); } if (detailPKList[0].Quantity.ToString() == "") { return("新物料数量丢失,对接失败"); } receive.ReceivePK = detailPKList[0].ReceivePK; LES_REQUEST_DETAIL lesDetail = lesDetailBO.GetEntity(Convert.ToInt32(detailPKList[0].DetailPK)); if (lesDetail == null || lesDetail.MaterialID != entity.MaterialID) { return("新批次与物料不符,请扫描正确批次"); } //旧物料个数 int oldQuantity = 0; LES_REQUEST_RECEIVE receiveOld = new LES_REQUEST_RECEIVE(); receive.HutID = entity.OldReelID; IList <LES_REQUEST_RECEIVE> detailPKListOld = receiveBO.GetEntities(receiveOld); if (detailPKListOld == null || detailPKListOld.Count == 0 || detailPKList[0].Quantity.ToString() == "") { return("旧物料数量丢失,对接失败"); } oldQuantity = Convert.ToInt32(detailPKListOld[0].Quantity); //调接口,接料 LESReceive lesReceive = new LESReceive(); lesReceive.HutID = entity.NewReelID; lesReceive.DetailPK = Convert.ToInt32(detailPKList[0].DetailPK); lesReceive.ReceivePK = (int)detailPKList[0].ReceivePK; lesReceive.RequestPK = (int)lesDetail.RequestPK; lesReceive.OperationTime = SSGlobalConfig.Now; lesReceive.Operator = entity.Operator; lesReceive.IsLastHut = Convert.ToBoolean(detailPKList[0].IsLastHut); ReturnValue rv = new ReturnValue(); rv = API_WMS_BO.ReceiveMaterial(lesReceive); if (rv.Success == false) { return("接料失败"); } //修改接料状态 string s = receiveBO.ModifyMaterialStatus(entity.Operator, Convert.ToInt32(receive.ReceivePK)); if (s.Contains("NG")) { return(s); } else { //新批次正确,像PM_SMT_RECEIPE_SETUP_DETAIL_REPLACE中添加数据 PM_SMT_RECEIPE_SETUP_DETAIL_REPLACE replace = new PM_SMT_RECEIPE_SETUP_DETAIL_REPLACE(); replace.NewLotID = entity.NewReelID; replace.NewLotQty = Convert.ToInt32(detailPKList[0].Quantity); replace.OldLotID = entity.OldReelID; replace.OldLotQty = oldQuantity; replace.OperationTime = SSGlobalConfig.Now; replace.Operator = entity.Operator; replace.SetupDetailPK = entity.SetupDetailPK; replaceBO.Insert(replace); return("物料对接成功"); } }