服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2024-12-06 9719a7f0ccbb70e4e51a93cbe1733d1424c16f6d
Tiger.Business.WMS/Transaction/ProductionMaterialReq.cs
@@ -120,6 +120,7 @@
                    return action;
                }
                Biz.Db.Deleteable<WMS_ITEM_POOL>().Where(q => q.TRANS_CODE == req.BILLCODE).ExecuteCommand();
                //如果上一次推荐有数据,则先灭掉亮的灯
                if (Suggests.Any())
                {
@@ -265,18 +266,8 @@
                }
                //保存物料池到数据库
                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)
@@ -554,7 +545,7 @@
                //}
                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)
                    {
@@ -920,7 +911,7 @@
                        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();
@@ -941,10 +932,10 @@
                }
                //发送到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}");