| | |
| | | SN, |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å®æç¶æ |
| | | /// </summary> |
| | | public enum Statuss |
| | | { |
| | | /// <summary> |
| | | /// æ«ææºå¨ç¼ç 宿 |
| | | /// </summary> |
| | | [Description("æºå¨ç¼ç 宿")] |
| | | SmtCodeOK, |
| | | /// <summary> |
| | | /// æ«ææ§½ä½å®æ |
| | | /// </summary> |
| | | [Description("æ§½ä½å®æ")] |
| | | SlotNoOK, |
| | | /// <summary> |
| | | /// æ«æé£è¾¾å®æ |
| | | /// </summary> |
| | | [Description("Feeder宿")] |
| | | FeederOK, |
| | | /// <summary> |
| | | /// æ«ææçSN宿 |
| | | /// </summary> |
| | | [Description("æçç 宿")] |
| | | SnOK, |
| | | /// <summary> |
| | | /// å½åæºå¨å®æ |
| | | /// </summary> |
| | | [Description("å½åæºå¨å®æ")] |
| | | CurrCompleted, |
| | | /// <summary> |
| | | /// å
¨é¨å®æ |
| | | /// </summary> |
| | | [Description("å
¨é¨å®æ")] |
| | | Completed, |
| | | } |
| | | |
| | | #endregion Propertys & Variables |
| | | |
| | | #region Functions |
| | |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | public async Task<ApiAction> ScanItem(SmtLoadingInput input) |
| | | public async Task<ApiAction<SmtLoadingReturn>> ScanItem(SmtLoadingInput input) |
| | | { |
| | | var action = new ApiAction(); |
| | | var action = new ApiAction<SmtLoadingReturn>(); |
| | | try |
| | | { |
| | | if (input.Code.IsNullOrEmpty()) |
| | |
| | | action = ExecuteSN(input); |
| | | break; |
| | | } |
| | | if (!action.IsSuccessed) { return action; } |
| | | |
| | | //02ä¿åä¸ææ°æ® |
| | | |
| | |
| | | return action; |
| | | } |
| | | |
| | | private ApiAction ExecuteSmtCode(SmtLoadingInput input) { |
| | | var action = new ApiAction(); |
| | | /// <summary> |
| | | /// æ«ææºå¨ç¼ç æä½ |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | private ApiAction<SmtLoadingReturn> ExecuteSmtCode(SmtLoadingInput input) { |
| | | var action = new ApiAction<SmtLoadingReturn>(); |
| | | SmtLoadingReturn loadingReturn = new(); |
| | | try |
| | | { |
| | | if (Biz.Db.Queryable<SMT_WO_TABLE>().Where(x => x.WORK_ORDER == input.moCode && x.LINE_CODE == input.lineCode && x.PROD_CODE == input.prodCode && x.SMT_CODE == input.Code).Any()) |
| | |
| | | CurrSmtCode = input.Code; |
| | | action.IsSuccessed = true; |
| | | action.LocaleMsg = Biz.L($"æºå¨ç¼ç éªè¯éè¿ï¼"); |
| | | loadingReturn.SmtCode = CurrSmtCode; |
| | | loadingReturn.Step = (int)Step_Types.SmtCode; |
| | | loadingReturn.Status = (int)Statuss.SmtCodeOK; |
| | | } |
| | | else |
| | | { |
| | | action.IsSuccessed = false; |
| | | action.LocaleMsg = Biz.L($"æç«è¡¨ä¸ä¸å卿¤æºå¨ç¼ç ï¼è¯·ç¡®è®¤æç«è¡¨æ¯å¦æ£ç¡®ä¸ä¼ ï¼"); |
| | | } |
| | | action.Data = loadingReturn; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | return action; |
| | | } |
| | | |
| | | private ApiAction ExecuteSlotNo(SmtLoadingInput input) |
| | | /// <summary> |
| | | /// æ«ææ§½ä½æä½ |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | private ApiAction<SmtLoadingReturn> ExecuteSlotNo(SmtLoadingInput input) |
| | | { |
| | | var action = new ApiAction(); |
| | | var action = new ApiAction<SmtLoadingReturn>(); |
| | | SmtLoadingReturn loadingReturn = new(); |
| | | try |
| | | { |
| | | if (Biz.Db.Queryable<SMT_WO_TABLE>().Where(x => x.WORK_ORDER == input.moCode && x.LINE_CODE == input.lineCode && x.PROD_CODE == input.prodCode && x.SMT_CODE == CurrSmtCode && x.SLOT_NO == input.Code).Any()) |
| | |
| | | CurrSlotNo = input.Code; |
| | | action.IsSuccessed = true; |
| | | action.LocaleMsg = Biz.L($"æ§½ä½éªè¯éè¿ï¼"); |
| | | loadingReturn.SmtCode = CurrSmtCode; |
| | | loadingReturn.SlotNo = CurrSlotNo; |
| | | loadingReturn.Step = (int)Step_Types.SlotNo; |
| | | loadingReturn.Status = (int)Statuss.SlotNoOK; |
| | | loadingReturn.LoadingCount = Biz.Db.Queryable<SMT_LOADING>().Where(x=> x.WORK_ORDER == input.moCode && x.LINE_CODE == input.lineCode && x.PROD_CODE == input.prodCode && x.SMT_CODE == CurrSmtCode && x.SLOT_NO == input.Code).Count(); |
| | | } |
| | | else |
| | | { |
| | | action.IsSuccessed = false; |
| | | action.LocaleMsg = Biz.L($"æ¤æ§½ä½[{input.Code}]ä¸å卿æç«è¡¨æªä¸ä¼ ï¼"); |
| | | } |
| | | action.Data = loadingReturn; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | return action; |
| | | } |
| | | |
| | | private ApiAction ExecuteFeeder(SmtLoadingInput input) |
| | | /// <summary> |
| | | /// æ«æé£è¾¾æä½ |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | private ApiAction<SmtLoadingReturn> ExecuteFeeder(SmtLoadingInput input) |
| | | { |
| | | var action = new ApiAction(); |
| | | var action = new ApiAction<SmtLoadingReturn>(); |
| | | try |
| | | { |
| | | |
| | | var _feeder = Biz.Db.Queryable<SMT_FEEDER>().Where(x => x.FEEDER_CODE == input.Code).First(); |
| | | //æ£æ¥é£è¾¾ä¿å
»ç»´æ¤æ
åµ |
| | | if (_feeder.FEEDER_TYPE.IsNullOrEmpty()) |
| | | { |
| | | action.IsSuccessed = false; |
| | | action.LocaleMsg = Biz.L($"æ¤é£è¾¾[{input.Code}]æªç»´æ¤ç±»åä¿¡æ¯ï¼"); |
| | | return action; |
| | | } |
| | | if (_feeder.FEEDER_TYPE != input.feederType) |
| | | { |
| | | action.IsSuccessed = false; |
| | | action.LocaleMsg = Biz.L($"æ¤é£è¾¾[{input.Code}]Feederç±»åä¸ä¸è´ï¼è¦æ±çç±»åï¼[{_feeder.FEEDER_TYPE}]ï¼å½åFeederçç±»åï¼[{input.feederType}]"); |
| | | return action; |
| | | } |
| | | if (_feeder.USED_COUNT >= _feeder.MAX_COUNT) |
| | | { |
| | | action.IsSuccessed = false; |
| | | action.LocaleMsg = Biz.L($"æ¤é£è¾¾[{input.Code}]已达æå¤§ä½¿ç¨æ¬¡æ°ï¼è¯·ä¿å
»åå使ç¨ï¼"); |
| | | return action; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | return action; |
| | | } |
| | | |
| | | private ApiAction ExecuteSN(SmtLoadingInput input) |
| | | /// <summary> |
| | | /// æ«æç©ææ¡ç æä½ |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | private ApiAction<SmtLoadingReturn> ExecuteSN(SmtLoadingInput input) |
| | | { |
| | | var action = new ApiAction(); |
| | | var action = new ApiAction<SmtLoadingReturn>(); |
| | | try |
| | | { |
| | | |