服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2025-03-24 459d4a2b2bd5390a5d02947e75a934207fb9ad0c
Tiger.Business.WMS/T100ToWMS/MaterialInfoBusiness.cs
@@ -269,7 +269,7 @@
        public int GetOtherOutInfoToT100(InputDTO input)
        {
            var DB = Biz.Db;
            var dataList = DB.Queryable<BIZ_ERP_OTH_OUT>().Where(i => i.STATUS == BIZ_WMS_TRANSFER.STATUSs.COMPLETE.GetValue() && string.IsNullOrWhiteSpace(i.ERP_BILL_CODE) && i.AUTH_ORG == input.site).ToList();
            var dataList = DB.Queryable<BIZ_ERP_OTH_OUT>().Where(i => i.STATUS == BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue() && string.IsNullOrWhiteSpace(i.ERP_BILL_CODE) && i.AUTH_ORG == input.site).ToList();
            Logger.Scheduler.Info("其他出库单信息开始推送。。。数据检查进行中。。。");
            if (!dataList.Any())
@@ -363,7 +363,7 @@
        public int PutSaleOutInfoToT100(InputDTO input)
        {
            var DB = Biz.Db;
            var dataList = DB.Queryable<BIZ_ERP_SALE_OUT>().Where(i => i.STATUS == BIZ_WMS_TRANSFER.STATUSs.COMPLETE.GetValue() && string.IsNullOrWhiteSpace(i.ERP_BILL_CODE) && i.AUTH_ORG == input.site).ToList();// 获取符合条件的销售出库单数据
            var dataList = DB.Queryable<BIZ_ERP_SALE_OUT>().Where(i => i.STATUS == BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue() && string.IsNullOrWhiteSpace(i.ERP_BILL_CODE) && i.AUTH_ORG == input.site).ToList();// 获取符合条件的销售出库单数据
            Logger.Scheduler.Info("销售出库单信息开始推送。。。数据检查进行中。。。");
            if (!dataList.Any())
@@ -484,7 +484,7 @@
            //}
            var dataList = DB.Queryable<BIZ_WMS_TRANSFER>().
                Where(i => i.STATUS == BIZ_WMS_TRANSFER.STATUSs.FINISHED.GetValue() && string.IsNullOrWhiteSpace(i.ERP_BILL_CODE) && i.AUTH_ORG == input.site)
                Where(i => i.STATUS == BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue() && string.IsNullOrWhiteSpace(i.ERP_ORDER) && i.AUTH_ORG == input.site)
                .ToList();
            Logger.Scheduler.Info("调拨单信息开始推送。。。数据检查进行中。。。");
@@ -494,29 +494,29 @@
                return 0;
            }
            var billcodeLst = dataList.Select(i => i.BILLCODE).Distinct().ToList();
            var billcodeLst = dataList.Select(i => i.ORDER_NO).Distinct().ToList();
            var detailData = DB.Queryable<BIZ_WMS_TRANSFER_DTL>().Where(i => billcodeLst.Contains(i.BILLCODE)).ToList();// 获取明细数据
            var detailData = DB.Queryable<BIZ_WMS_TRANSFER_DTL>().Where(i => billcodeLst.Contains(i.ORDER_NO)).ToList();// 获取明细数据
            var returnData = DB.Queryable<BIZ_ERP_PROD_RETURN>().Where(i => billcodeLst.Contains(i.BILLCODE)).ToList();// 获取退料表头数据
            var returnDetailData = DB.Queryable<BIZ_ERP_PROD_RETURN_DTL>().Where(i => billcodeLst.Contains(i.BILLCODE)).ToList();// 获取退料表头数据
            Logger.Scheduler.Info("调拨单信息开始推送。。。");
            foreach (var data in dataList)
            {
                var detailLst = detailData.Where(i => i.BILLCODE == data.BILLCODE).ToList();
                var detailLst = detailData.Where(i => i.ORDER_NO == data.ORDER_NO).ToList();
                var details = new List<TrasferDetailDTO>();
                foreach (var detail in detailLst)
                {
                    details.Add(new TrasferDetailDTO()
                    {
                        indd101 = detail.SOURCECODE,
                        inddseq = detail.BILLLINE,
                        indd101 = detail.SOURCE_ORDER,
                        inddseq = detail.ORDER_LINE,
                        indd002 = detail.ITEM_CODE,
                        indd022 = detail.OUTWAREHOUSECODE,
                        indd022 = detail.OUT_WH_CODE,
                        indd023 = "",
                        indd024 = detail.BATCH_NO_IN,
                        indd103 = detail.OUTQTY.ToString(),
                        indd032 = detail.INWAREHOUSECODE,
                        indd024 = detail.IN_LOTNO,
                        indd103 = detail.QTY_OUT.ToString(),
                        indd032 = detail.IN_WH_CODE,
                        indd033 = ""
                    });
                }
@@ -541,7 +541,7 @@
                                indcdocno = "1201",
                                indcdocdt = DateTime.Now.ToString("yyyy/MM/dd"),
                                indc004 = "L16225", //detailLst[0].CREATE_USER,
                                indc008 = data.SOURCECODE,
                                indc008 = data.SOURCE_ORDER,
                                detail = details
                            }
                        }
@@ -617,15 +617,15 @@
                #endregion 发起请求
                var res = returnData.Where(i => i.BILLCODE == data.BILLCODE).FirstOrDefault();
                var retuendetailData = returnDetailData.Where(i => i.BILLCODE == data.BILLCODE).ToList();
                var res = returnData.Where(i => i.BILLCODE == data.ORDER_NO).FirstOrDefault();
                var retuendetailData = returnDetailData.Where(i => i.BILLCODE == data.ORDER_NO).ToList();
                if (!string.IsNullOrWhiteSpace(result.payload.std_data?.parameter?.docno))
                {
                    data.ERP_BILL_CODE = result.payload.std_data?.parameter?.docno;// 更新单号
                    data.ERP_ORDER = result.payload.std_data?.parameter?.docno;// 更新单号
                    foreach (var item in detailLst)
                    {
                        item.ERP_BILL_CODE = result.payload.std_data?.parameter?.docno;
                        item.ERP_ORDER = result.payload.std_data?.parameter?.docno;
                    }
                    DB.Updateable(detailLst).ExecuteCommand();
@@ -641,11 +641,11 @@
                        DB.Updateable(res).ExecuteCommand();// 数据更新
                    }
                }
                if (result.payload.std_data?.execution.code == "S" && string.IsNullOrWhiteSpace(data.ERP_BILL_CODE))
                if (result.payload.std_data?.execution.code == "S" && string.IsNullOrWhiteSpace(data.ERP_ORDER))
                {
                    data.ERP_BILL_CODE = "T100返回信息已过账";// 更新单号
                    data.ERP_ORDER = "T100返回信息已过账";// 更新单号
                }
                Logger.Scheduler.Info($"调拨单号: {data.BILLCODE},T100返回单号: {result.payload.std_data?.parameter?.docno}");
                Logger.Scheduler.Info($"调拨单号: {data.ORDER_NO},T100返回单号: {result.payload.std_data?.parameter?.docno}");
                DB.Updateable(data).ExecuteCommand();// 数据更新
            }
            Logger.Scheduler.Info("调拨单信息推送完成");
@@ -668,7 +668,7 @@
        public int GetTrasferInfoToT100Plan2(InputDTO input)
        {
            var DB = Biz.Db;
            var dataList = DB.Queryable<BIZ_WMS_TRANSFER>().Where(i => i.STATUS == BIZ_WMS_TRANSFER.STATUSs.COMPLETE.GetValue() && string.IsNullOrWhiteSpace(i.ERP_BILL_CODE) && i.AUTH_ORG == input.site).ToList();
            var dataList = DB.Queryable<BIZ_WMS_TRANSFER>().Where(i => i.STATUS == BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue() && string.IsNullOrWhiteSpace(i.ERP_ORDER) && i.AUTH_ORG == input.site).ToList();
            Logger.Scheduler.Info("直接过账调拨单信息开始推送。。。数据检查进行中。。。");
            if (!dataList.Any())
@@ -677,20 +677,20 @@
                return 0;
            }
            var billcodeLst = dataList.Select(i => i.BILLCODE).Distinct().ToList();
            var detailData = DB.Queryable<BIZ_WMS_TRANSFER_DTL>().Where(i => billcodeLst.Contains(i.BILLCODE)).ToList();// 获取明细数据
            var billcodeLst = dataList.Select(i => i.ORDER_NO).Distinct().ToList();
            var detailData = DB.Queryable<BIZ_WMS_TRANSFER_DTL>().Where(i => billcodeLst.Contains(i.ORDER_NO)).ToList();// 获取明细数据
            Logger.Scheduler.Info("调拨单信息开始推送。。。");
            foreach (var data in dataList)
            {
                var detailLst = detailData.Where(i => i.BILLCODE == data.BILLCODE).ToList();
                var detailLst = detailData.Where(i => i.ORDER_NO == data.ORDER_NO).ToList();
                var details = new List<TrasferDetailDTO>();
                foreach (var detail in detailLst)
                {
                    details.Add(new TrasferDetailDTO()
                    {
                        inddseq = detail.BILLLINE,
                        indd103 = detail.OUTQTY.ToString(),
                        inddseq = detail.ORDER_LINE,
                        indd103 = detail.QTY_OUT.ToString(),
                    });
                }
@@ -711,7 +711,7 @@
                        {
                            parameter = new ParameterTrasferInfoDTO()
                            {
                                indcdocno = data.BILLCODE,
                                indcdocno = data.ORDER_NO,
                                indc022 = DateTime.Now.ToString("yyyy/MM/dd"),
                                detail = details
                            }
@@ -729,7 +729,7 @@
                    var requestJson = JsonConvert.SerializeObject(model);
                    var response = HttpHelper.PostAsync(t100Url, requestJson).Result;
                    result = JsonConvert.DeserializeObject<T100ActionResult<resultStd_data<ParameterTransferInfoT100>>>(response.Message);
                    Logger.Scheduler.Info($"调拨单过账提交Json: {requestJson},调拨单号:{data.BILLCODE},返回Json: {response.Message}");
                    Logger.Scheduler.Info($"调拨单过账提交Json: {requestJson},调拨单号:{data.ORDER_NO},返回Json: {response.Message}");
                }
                catch (Exception ex)
                {
@@ -743,14 +743,14 @@
                if (!string.IsNullOrWhiteSpace(result.payload.std_data?.parameter?.docno))
                {
                    Result = result.payload.std_data?.parameter?.docno;
                    data.ERP_BILL_CODE = result.payload.std_data?.parameter?.docno;// 更新单号
                    Logger.Scheduler.Info($"调拨单号:{data.BILLCODE}对应的T100返回单号:{result.payload.std_data?.parameter?.docno}已更新");
                    data.ERP_ORDER = result.payload.std_data?.parameter?.docno;// 更新单号
                    Logger.Scheduler.Info($"调拨单号:{data.ORDER_NO}对应的T100返回单号:{result.payload.std_data?.parameter?.docno}已更新");
                }
                if (result.payload.std_data?.execution.code == "S" && string.IsNullOrWhiteSpace(data.ERP_BILL_CODE))
                if (result.payload.std_data?.execution.code == "S" && string.IsNullOrWhiteSpace(data.ERP_ORDER))
                {
                    data.ERP_BILL_CODE = "T100返回信息已过账";
                    data.ERP_ORDER = "T100返回信息已过账";
                    Result = "T100返回信息已过账";
                    Logger.Scheduler.Info($"调拨单号:{data.BILLCODE}对应的T100返回信息:{"T100返回信息已过账"}已更新");
                    Logger.Scheduler.Info($"调拨单号:{data.ORDER_NO}对应的T100返回信息:{"T100返回信息已过账"}已更新");
                }
                if (!string.IsNullOrWhiteSpace(Result))
                {
@@ -859,8 +859,8 @@
                    {
                        ID = Guid.NewGuid().ToString("N"),
                        AUTH_ORG = input.site,
                        BILLCODE = item.indcdocno,
                        BILLDATE = item.indcdocdt.ToDateTime(),
                        ORDER_NO = item.indcdocno,
                        ORDER_DATE = item.indcdocdt.ToDateTime(),
                        CREATE_USER = "T100-" + item.indc004
                    };
@@ -895,17 +895,17 @@
                        {
                            detailData.Add(new BIZ_WMS_TRANSFER_DTL()
                            {
                                BILLCODE = ser.indddocno,
                                BILLLINE = ser.inddseq.ToString(),
                                ORDER_NO = ser.indddocno,
                                ORDER_LINE = ser.inddseq.ToString(),
                                ITEM_CODE = ser.indd002,
                                UNITCODE = ser.indd006,
                                PRQTY = ser.indd103,
                                UNIT = ser.indd006,
                                QTY_REQ = ser.indd103,
                                AUTH_ORG = input.site,
                                OUTWAREHOUSECODE = ser.indd022,
                                INWAREHOUSECODE = ser.indd032
                                OUT_WH_CODE = ser.indd022,
                                IN_WH_CODE = ser.indd032
                            });
                            transferData.INWAREHOUSECODE = ser.indd032;
                            transferData.OUTWAREHOUSECODE = ser.indd022;
                            transferData.IN_WH_CODE = ser.indd032;
                            transferData.OUT_WH_CODE = ser.indd022;
                        }
                    }
@@ -920,31 +920,31 @@
            foreach (var item in masterData)
            {
                var detaildatas = detailData.Where(i => i.BILLCODE == item.BILLCODE).ToList();
                var detaildatas = detailData.Where(i => i.ORDER_NO == item.ORDER_NO).ToList();
                var detaildto = new List<TrasferInfoDetailDTO>();
                foreach (var detailitem in detaildatas)
                {
                    detaildto.Add(new TrasferInfoDetailDTO()
                    {
                        BILLCODE = detailitem.BILLCODE,
                        BILLLINE = Convert.ToInt32(detailitem.BILLLINE),
                        LINESTATUS = detailitem.LINESTATUS.ToString(),
                        OUTQTY = detailitem.OUTQTY,
                        BILLCODE = detailitem.ORDER_NO,
                        BILLLINE = Convert.ToInt32(detailitem.ORDER_LINE),
                        LINESTATUS = detailitem.STATUS.ToString(),
                        OUTQTY = detailitem.QTY_OUT,
                        ITEM_CODE = detailitem.ITEM_CODE,
                        UNITCODE = detailitem.UNITCODE,
                        PRQTY = detailitem.PRQTY,
                        OUTWAREHOUSECODE = detailitem.OUTWAREHOUSECODE,
                        INWAREHOUSECODE = detailitem.INWAREHOUSECODE,
                        UNITCODE = detailitem.UNIT,
                        PRQTY = detailitem.QTY_REQ,
                        OUTWAREHOUSECODE = detailitem.OUT_WH_CODE,
                        INWAREHOUSECODE = detailitem.IN_WH_CODE,
                        CREATE_TIME = DateTime.Now
                    });
                }
                inputdto.Add(new TrasferInfoDTO()
                {
                    AUTH_ORG = input.site,
                    BILLCODE = item.BILLCODE,
                    BILLDATE = item.BILLDATE,
                    OUTWAREHOUSECODE = item.OUTWAREHOUSECODE,
                    INWAREHOUSECODE = item.INWAREHOUSECODE,
                    BILLCODE = item.ORDER_NO,
                    BILLDATE = item.ORDER_DATE,
                    OUTWAREHOUSECODE = item.OUT_WH_CODE,
                    INWAREHOUSECODE = item.IN_WH_CODE,
                    CREATE_TIME = item.CREATE_TIME,
                    details = detaildto
                });