服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2024-12-04 d75e665e57c336db1d9d42f1f4b87d8ce4520b38
Tiger.Business.MES/iERP/MES_U9C.cs
@@ -72,7 +72,7 @@
                //    item.Status = "Y";
                //    if (!ErpProdInBth.IsNullOrEmpty())
                //    {
                //        ErpProdInBth.ORDER_NO = $"XX001-{i}";
                //        ErpProdInBth.ORDER_NO = $"YDRKD241200006";
                //        ErpProdInBth.IS_HANDLED = "Y";
                //        ErpProdInBth.HANDLED_DATE = DateTime.Now;
                //        ErpProdInBths.Add(ErpProdInBth);
@@ -82,7 +82,7 @@
                //        var d = p.Items.Where(q => q.WORK_ORDER == item.WorkOrder).FirstOrDefault();
                //        if (!d.IsNullOrEmpty())
                //        {
                //            d.ORDER_NO = $"XX001-{i}";
                //            d.ORDER_NO = $"YDRKD241200006";
                //            d.STATUS = "Y";
                //        }
                //    }
@@ -104,7 +104,7 @@
                //保存成功,调用U9C接口
                if (IsSuccessed)
                {
                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode=admin{secret}");
                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={input.userId}{secret}");
                    if (u9CLoginResult.Success)
                    {
                        var token = u9CLoginResult.Data;
@@ -126,7 +126,9 @@
                                            StorageType = item.StorageType,
                                            DocState = item.DocState,
                                       }
                                    }
                                    },
                                    Remark = "接口生成",
                                    BusinessDate = DateTime.Now,
                                }
                            };
                            var response = await HttpHelper.PostAsync(RcvRptDocCreateUrl, JsonConvert.SerializeObject(param), new Dictionary<string, string>() { { "token", token } });
@@ -147,10 +149,11 @@
                                    }
                                    foreach (var p in input.PrintJsons)
                                    {
                                        var d = p.Items.Where(q => q.WORK_ORDER == item.WorkOrder).FirstOrDefault();
                                        var d = p.Items.Where(q => q.WORK_ORDER == item.WorkOrder && q.STATUS != "P").FirstOrDefault();
                                        if (!d.IsNullOrEmpty())
                                        {
                                            d.ORDER_NO = result.Data[0].m_code;
                                            d.STATUS = "Y";
                                        }
                                    }
                                    Logger.Interface.Info($"生成入库单成功");
@@ -166,6 +169,15 @@
                                        ErpProdInBth.IS_HANDLED = "F";
                                        ErpProdInBth.HANDLED_DATE = DateTime.Now;
                                        ErpProdInBths.Add(ErpProdInBth);
                                    }
                                    foreach (var p in input.PrintJsons)
                                    {
                                        var d = p.Items.Where(q => q.WORK_ORDER == item.WorkOrder && q.STATUS != "P").FirstOrDefault();
                                        if (!d.IsNullOrEmpty())
                                        {
                                            d.ORDER_NO = result.Data[0].m_code;
                                            d.STATUS = "F";
                                        }
                                    }
                                    Logger.Interface.Info($"生成入库单失败:{result.Data[0].m_errorMsg}");
                                }
@@ -185,6 +197,7 @@
                        input.ErpProdInBths = ErpProdInBths;
                    }
                }
                input.labels = GetLabels(input.PrintJsons);
                action.Data = input;
            }
            catch (System.Exception ex)
@@ -194,5 +207,77 @@
            Logger.Interface.Info($"/* 入库单接口结束 */\r\n"); //固定写法
            return action;
        }
        private List<BAS_LABEL_TEMP> GetLabels(List<InStorePrintJson> printJsons) {
            List<BAS_LABEL_TEMP> labels = new List<BAS_LABEL_TEMP>();
            int i = 1;
            int j = 1;
            foreach (var p in printJsons)
            {
                BAS_LABEL_TEMP label = Biz.Db.Queryable<BAS_LABEL_TEMP>().Where(q => q.LABEL_CODE == "InstoreTemplate").IncludesAllFirstLayer().First();
                foreach (var v in p.Items.Where(q => q.STATUS != "F" && q.STATUS != "P"))
                {
                    foreach (var item in label.Variables)
                    {
                        if (item.VAR_NAME == "PageNum")
                        {
                            item.Value = $"第{i}页";
                        }
                        if (item.VAR_NAME == "PageSize")
                        {
                            item.Value = $"共{printJsons.Count}页";
                        }
                        if (item.VAR_NAME == "BusinessDate")
                        {
                            item.Value = DateTime.Now.ToString("yyyy.MM.dd");
                        }
                        if (item.VAR_NAME == $"RcvDoc{j}")
                        {
                            item.Value = v.ORDER_NO;
                        }
                        if (item.VAR_NAME == $"SoDoc{j}")
                        {
                            item.Value = v.SALES_ORDER;
                        }
                        if (item.VAR_NAME == $"MoDoc{j}")
                        {
                            item.Value = v.WORK_ORDER;
                        }
                        if (item.VAR_NAME == $"ItemCode{j}")
                        {
                            item.Value = v.ITEM_CODE;
                        }
                        if (item.VAR_NAME == $"Description{j}")
                        {
                            item.Value = v.ITEM_NAME;
                        }
                        if (item.VAR_NAME == $"BoxQty{j}")
                        {
                            item.Value = v.PLAN_QTY.ToString();
                        }
                        if (item.VAR_NAME == $"InQty{j}")
                        {
                            item.Value = v.SCAN_QTY.ToString();
                        }
                        if (item.VAR_NAME == $"RcvQrCode{j}")
                        {
                            item.Value = v.ORDER_NO.ToString();
                        }
                        if (item.VAR_NAME == $"SapCode{j}")
                        {
                            item.Value = v.SapCode;
                        }
                        if (item.VAR_NAME == $"Seq{j}")
                        {
                            item.Value = j.ToString();
                        }
                    }
                    j++;
                }
                i++;
                labels.Add(label);
            }
            return labels;
        }
    }
}