服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2024-12-03 6cc05f3689e7616431886ec183948c433a30220c
Tiger.Business.MES/iERP/MES_U9C.cs
@@ -147,10 +147,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 +167,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 +195,7 @@
                        input.ErpProdInBths = ErpProdInBths;
                    }
                }
                input.labels = GetLabels(input.PrintJsons);
                action.Data = input;
            }
            catch (System.Exception ex)
@@ -194,5 +205,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").First();
                foreach (var item in label.Variables.OrderBy(q => q.VAR_TYPE == BAS_LABEL_VAR.VAR_TYPEs.BarcodeGenerate.GetValue() ? 0 : 1))
                {
                    foreach (var v in p.Items.Where(q=>q.STATUS !="F" && q.STATUS !="P"))
                    {
                        if (item.VAR_NAME.StartsWith("RcvDoc"))
                        {
                            item.Value = v.ORDER_NO;
                        }
                        if (item.VAR_NAME.StartsWith("SoDoc"))
                        {
                            item.Value = v.SALES_ORDER;
                        }
                        if (item.VAR_NAME.StartsWith("MoDoc"))
                        {
                            item.Value = v.WORK_ORDER;
                        }
                        if (item.VAR_NAME.StartsWith("ItemCode"))
                        {
                            item.Value = v.ITEM_CODE;
                        }
                        if (item.VAR_NAME.StartsWith("Description"))
                        {
                            item.Value = v.ITEM_NAME;
                        }
                        if (item.VAR_NAME.StartsWith("BoxQty"))
                        {
                            item.Value = v.PLAN_QTY.ToString();
                        }
                        if (item.VAR_NAME.StartsWith("InQty"))
                        {
                            item.Value = v.SCAN_QTY.ToString();
                        }
                        if (item.VAR_NAME.StartsWith("RcvQrCode"))
                        {
                            item.Value = v.ORDER_NO.ToString();
                        }
                        if (item.VAR_NAME.StartsWith("SapCode"))
                        {
                            item.Value = v.SapCode;
                        }
                        if (item.VAR_NAME.StartsWith("Seq"))
                        {
                            item.Value = i.ToString();
                        }
                        i++;
                    }
                    if (item.VAR_NAME == "PageNum")
                    {
                        item.Value = j.ToString();
                    }
                    if (item.VAR_NAME == "PageSize")
                    {
                        item.Value = printJsons.Count.ToString();
                    }
                    if (item.VAR_NAME == "BusinessDate")
                    {
                        item.Value = DateTime.Now.ToString("yyyyy.MM.dd");
                    }
                }
                labels.Add(label);
                j++;
            }
            return labels;
        }
    }
}