| | |
| | | return action; |
| | | } |
| | | |
| | | Biz.Db.Deleteable<WMS_ITEM_POOL>().Where(q => q.TRANS_CODE == req.BILLCODE).ExecuteCommand(); |
| | | //如果上一次推荐有数据,则先灭掉亮的灯 |
| | | if (Suggests.Any()) |
| | | { |
| | |
| | | } |
| | | |
| | | //保存物料池到数据库 |
| | | var db = Biz.Db; |
| | | var dbTran = db.UseTran(() => |
| | | { |
| | | db.Deleteable<WMS_ITEM_POOL>().Where(x => x.TRANS_NO == req.BILLCODE).ExecuteCommand(); |
| | | db.Insertable(CurPoolList).ExecuteCommand(); |
| | | }); |
| | | if (!dbTran.IsSuccess) |
| | | { |
| | | Logger.Default.Fatal(dbTran.ErrorException, "Database transaction save exception"); |
| | | this.Close(!dbTran.IsSuccess); |
| | | throw dbTran.ErrorException; |
| | | } |
| | | Biz.Db.Insertable(CurPoolList).ExecuteCommand(); |
| | | |
| | | action = await LightAll(new() { AuthOption = input.AuthOption, ReqType = CurReqType, Color = LedColor.Blue }); |
| | | } |
| | | catch (Exception ex) |
| | |
| | | //} |
| | | var MaxDC = CurPoolList.Any(x => x.ITEM_CODE == CurInv.ItemInfo.ITEM_CODE) ? CurPoolList.Where(x => x.ITEM_CODE == CurInv.ItemInfo.ITEM_CODE).Max(t => t.PROD_DATE) : DateTime.MinValue; |
| | | //判断系统参数是否设置先进先出 |
| | | if (Biz.SysParam["YesOrNo"].PARAM_VALUE == "Y") |
| | | if (Cache.SysParam["YesOrNo"].PARAM_VALUE == "Y") |
| | | { |
| | | if (CurInv.Items.Max(x => x.PROD_DATE).Date > MaxDC.Date) |
| | | { |
| | |
| | | type = "done" |
| | | }; |
| | | //JObject resp = PostMesApi(@"http://172.18.8.56:9533/api/WMS/Agv/materialPreparation", JsonConvert.SerializeObject(agvMPInput)); |
| | | var agvurl = _factory != null ? _factory.AGV_API : @$"{Biz.SysParam["agvUrl", "AgvApiAddress"].PARAM_VALUE}"; ; |
| | | var agvurl = _factory != null ? _factory.AGV_API : @$"{Cache.SysParam["agvUrl", "AgvApiAddress"].PARAM_VALUE}"; ; |
| | | var agvResult = DI.Resolve<IAGV>().materialPreparation(agvMPInput, agvurl); |
| | | |
| | | req.STATUS = BIZ_ERP_PROD_OUT.STATUSs.COMPLETE.GetValue(); |
| | |
| | | } |
| | | |
| | | //发送到MES |
| | | var isSend = Biz.SysParam["IsSend", "SendToMES"].PARAM_VALUE.ToString() == "Y"; |
| | | var isSend = Cache.SysParam["IsSend", "SendToMES"].PARAM_VALUE.ToString() == "Y"; |
| | | if (isSend && !isCutting) |
| | | { |
| | | var mesApi = _factory != null ? _factory.MES_API : Biz.SysParam["apiUrl", "SendToMES"].PARAM_VALUE.ToString(); |
| | | var mesApi = _factory != null ? _factory.MES_API : Cache.SysParam["apiUrl", "SendToMES"].PARAM_VALUE.ToString(); |
| | | var response = HttpHelper.PostAsync(mesApi, JsonConvert.SerializeObject(toMes)).Result; |
| | | var _action = JsonConvert.DeserializeObject<ApiAction>(response.Message); |
| | | Logger.Interface.Info($"生产领料 =>发料完成,单号[{req.BILLCODE}],条码[{CurInv.SN}],状态[{req.STATUS.GetEnumDesc<BIZ_ERP_PROD_OUT.STATUSs>()}],MES传入Json:{JsonConvert.SerializeObject(toMes)}, MES返回:{response.Message}"); |