| | |
| | | } |
| | | |
| | | #region 锁定库位的方法 |
| | | /// <summary> |
| | | /// 判断寻找到的库位是否被锁定了( 供 配板余料回库线程、RGV提前配板任务创建时,成品料回库线程、原料入库线程使用) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | private static bool ValidateFindPlaceIsLocked(Base_Station validatePlace, string lockReason) |
| | | { |
| | | lock (lockObject) |
| | | { |
| | | if (validatePlace == null) |
| | | { |
| | | return false; |
| | | } |
| | | if (lockPlaceDict.ContainsKey(validatePlace.Id)) |
| | | { |
| | | Log4NetHelper.WriteInfoLog(LogType.SrmTheadService, "lockPlaceDict已经有该锁了,validatePlace.Id:" + validatePlace.Id + ",字典中的原因是:" + lockPlaceDict[validatePlace.Id] + ",本次原因是:" + lockReason); |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | lockPlaceDict.Add(validatePlace.Id, lockReason + ",库位号:" + validatePlace.SrmStationCode); |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 在事务处理完毕后,释放被锁定的库位( 供 配板余料回库线程、RGV提前配板任务创建时,成品料回库线程、原料入库线程使用) |
| | | /// 一定要放到finaly里执行 |