服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2025-04-03 e163a27328c805ffec7c894259430f76f0881d00
更新收货单提交按行提交已完成清点的行,上架增加IQC审核的判断
已修改9个文件
153 ■■■■■ 文件已修改
Tiger.Api/Language.db 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/ERP/U9C_WMS.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/Yada/Print_BIZ_U9_ASN.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/YadaU9/mes_ReturnedDocInfo.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/YadaU9/mes_TransInLine.cs 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/YadaU9/mes_TransferIn.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/WMS/BIZ_U9_RECEIPT_DTL.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Api/Language.db
Binary files differ
Tiger.Business.WMS/ERP/U9C_WMS.cs
@@ -340,8 +340,10 @@
                        AUTH_ORG = orgs.FirstOrDefault(q => q.ID == item.Org.ToString())?.ORG_CODE,  //生产单元授权标识字符
                        CREATE_TIME = item.ModifiedOn,//--时间不更新
                        CREATE_USER = UserCode,
                       UPDATE_TIME = item.ModifiedOn,
                        UPDATE_USER = UserCode
                        UPDATE_TIME = item.ModifiedOn,
                        UPDATE_USER = UserCode,
                        ERP_STATUS_CODE = item.Status.ToString(),
                        ERP_STATUS_NAME = item.StatusName,
                    };
                    resultDt.Add(info);
                }
@@ -367,7 +369,7 @@
                               .WhereColumns(t => new { t.ORDER_NO, t.LINE_NO, t.GHOST_ROW })
                               .ToStorage();
                        y.AsInsertable.ExecuteCommand();
                        y.AsUpdateable.UpdateColumns(q => new { q.STATUS, q.ORDER_NO, q.LINE_NO, q.ITEM_CODE, q.QTY, q.AUTH_ORG, q.CREATE_USER, q.UPDATE_USER, q.UPDATE_TIME }).ExecuteCommand();
                        y.AsUpdateable.UpdateColumns(q => new { q.STATUS, q.ORDER_NO, q.LINE_NO, q.ITEM_CODE, q.QTY, q.AUTH_ORG, q.ERP_STATUS_CODE, q.ERP_STATUS_NAME, q.CREATE_USER, q.CREATE_TIME, q.UPDATE_USER, q.UPDATE_TIME }).ExecuteCommand();
                    });
                }
                Logger.Scheduler.Info($"收货单表头信息存入数据库,总数:[{resultDt.Count}]");
Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs
@@ -402,12 +402,13 @@
                    return action;
                }
                //查询是否清点完成
                //查询是否存在清点完成的行明细,如果有则先提交完成的行,如果没有则报错
                var finishNotSubmit = order.Details.Where(q => SqlFunc.IsNullOrEmpty(q.RECEIVER_NO) && q.QTY == order.SnList.Where(s => s.LINE_NO == q.LINE_NO && (s.STATUS == WMS_ITEM.STATUSs.Counted.GetValue() || q.STATUS == WMS_ITEM.STATUSs.Rejected.GetValue())).Sum(s => s.QTY)).ToList();
                var noFinish = order.Details.Where(q => q.QTY != order.SnList.Where(s => s.LINE_NO == q.LINE_NO && (s.STATUS == WMS_ITEM.STATUSs.Counted.GetValue() || q.STATUS == WMS_ITEM.STATUSs.Rejected.GetValue())).Sum(s => s.QTY));
                if (noFinish.Any())
                if (!finishNotSubmit.Any())
                {
                    action.IsSuccessed = false;
                    //action.LocaleMsg = Biz.L("送货单[{0}]未清点完成,请先清点完成,未完成清点的行号如下:{1}");
                    //action.LocaleMsg = Biz.L("送货单[{0}]没有清点完成可以提交的行,未完成清点的行号如下:{1}");
                    action.LocaleMsg = Biz.L("WMS.Count_BIZ_U9_ASN.GenerateReceipt.NoFinishCounting", orderNo, string.Join(",", noFinish.Select(q => q.LINE_NO)));
                    return action;
                }
@@ -418,7 +419,7 @@
                    IsLogin = true,
                    CreateRcvBySrcASNParam = new()
                    {
                        aSNToRcvTransDTOs = order.Details.Select(q => new ASNToRcvTransDTO
                        aSNToRcvTransDTOs = finishNotSubmit.Select(q => new ASNToRcvTransDTO
                        {
                            ASNLineKey = q.ID,
                            TransQty = new() { m_amount1 = q.QTY },
@@ -459,7 +460,7 @@
                    foreach (var item in list)
                    {
                        var asnDtl = order.Details.First(q => q.ID == item.SrcASNDocLineId.ToString());
                        var asnDtl = finishNotSubmit.First(q => q.ID == item.SrcASNDocLineId.ToString());
                        BIZ_U9_RECEIPT_DTL receiptDt = new()
                        {
                            ID = item.RcvLineId.ToString(),
@@ -475,8 +476,16 @@
                            ASN_LINE_ID = item.SrcASNDocLineId.ToString(),
                            ASN_LINE = asnDtl.LINE_NO,
                            ERP_CODE = item.ItemCode1,
                            ERP_STATUS_CODE = item.Status.ToString(),
                            ERP_STATUS_NAME = item.StatusName,
                        };
                        receipt.Details.Add(receiptDt);
                        asnDtl.STATUS = BIZ_U9_ASN.STATUSs.Finished.GetValue();
                        asnDtl.RECEIVER_ID = item.RcvId.ToString();
                        asnDtl.RECEIVER_NO = item.DocNo;
                        asnDtl.RECEIVER_LINE = item.DocLineNo.ToString();
                        asnDtl.RECEIVER = UserCode;
                        asnDtl.RECEIVE_DATE = DateTime.Now;
                    }
                    foreach (var sn in order.SnList)
@@ -529,11 +538,12 @@
                    item.TRANS_NO = receipt.ORDER_NO;
                    item.TRANS_LINE = receipt.SnList.First(q => q.SN == item.SN).LINE_NO;
                }
                order.STATUS = BIZ_U9_ASN.STATUSs.Finished.GetValue();
                order.RECEIVER_ID = receipt.ID;
                order.RECEIVER_NO = receipt.ORDER_NO;
                order.RECEIVER = UserCode;
                order.RECEIVE_DATE = DateTime.Now;
                if (!noFinish.Any())
                {
                    order.STATUS = BIZ_U9_ASN.STATUSs.Finished.GetValue();
                    order.RECEIVER = UserCode;
                    order.RECEIVE_DATE = DateTime.Now;
                }
                //使用统一的事务DB对象
                var db = GetCommitDB();
@@ -543,6 +553,7 @@
                    db.Updateable(pkgs, UserCode).UpdateColumns(q => new { q.UPDATE_TIME, q.UPDATE_USER, q.AUTH_ORG, q.TRANS_CODE, q.TRANS_NO, q.TRANS_LINE, q.SOURCE_CODE, q.SOURCE_ORDER, q.SOURCE_LINE }).ExecuteCommand();
                    db.Insertable(historys, UserCode).ExecuteCommand();
                    db.Updateable(order, UserCode).UpdateColumns(q => new { q.UPDATE_TIME, q.UPDATE_USER, q.STATUS, q.RECEIVER, q.RECEIVE_DATE, q.RECEIVER_ID, q.RECEIVER_NO }).ExecuteCommand();
                    db.Updateable(finishNotSubmit, UserCode).UpdateColumns(q => new { q.UPDATE_TIME, q.UPDATE_USER, q.STATUS, q.RECEIVER, q.RECEIVE_DATE, q.RECEIVER_ID, q.RECEIVER_NO }).ExecuteCommand();
                    db.Insertable(receipt, UserCode).ExecuteCommand();
                    db.Insertable(receipt.Details, UserCode).ExecuteCommand();
                    db.Insertable(receipt.SnList, UserCode).ExecuteCommand();
Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs
@@ -135,11 +135,21 @@
                }
                //从U9获取收货单行信息
                var u9Dtl = Biz.DataSource["YadaU9C"].Client.Queryable<mes_ReturnedDocInfo>().Where(x => x.RcvId == receipt.ID.ToDouble() && x.DocLineNo == receiptDtl.LINE_NO.ToDouble() && x.SplitFlag != 1).First();
                //收货单的状态判断是否已提交IQC审核,未通过IQC不能上架
                if (!u9Dtl.IsNullOrEmpty() && u9Dtl.Status != 3)
                {
                    action.IsSuccessed = false;
                    //action.LocaleMsg = Biz.L("收货单行状态[{0}]异常,请先提交IQC检验结果");
                    action.LocaleMsg = Biz.L("WMS.In_BIZ_U9_RECEIPT.ScanItem.U9StatusException", u9Dtl.StatusName);
                    return SetOutPutMqttMsg(action, input.Locale);
                }
                if (!u9Dtl.IsNullOrEmpty() && u9Dtl.RcvQtyTU != receiptDtl.QTY_OK)
                {
                    receiptDtl.ID = u9Dtl.RcvLineId.ToString();
                    receiptDtl.QTY_OK = u9Dtl.RcvQtyTU;
                    receiptDtl.QTY_NG = receiptDtl.QTY - receiptDtl.QTY_OK;
                    receiptDtl.ERP_STATUS_CODE = u9Dtl.Status.ToString();
                    receiptDtl.ERP_STATUS_NAME = u9Dtl.StatusName;
                }
                var nLocation = new WMS_LOCATION();
@@ -289,7 +299,7 @@
                    var db = GetCommitDB();
                    //数据保存逻辑
                    db.Updateable(receipt, UserCode).UpdateColumns(q => new { q.STATUS, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand();
                    db.Updateable(receiptDtl, UserCode).UpdateColumns(q => new { q.ID, q.STATUS, q.QTY_IN, q.QTY_OK, q.QTY_NG, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand();
                    db.Updateable(receiptDtl, UserCode).UpdateColumns(q => new { q.ID, q.STATUS, q.QTY_IN, q.QTY_OK, q.QTY_NG, q.ERP_STATUS_CODE, q.ERP_STATUS_NAME, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand();
                    db.Updateable(receiptSn, UserCode).UpdateColumns(q => new { q.STATUS, q.IS_IN, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand();
                });
Tiger.Business.WMS/Transaction/Yada/Print_BIZ_U9_ASN.cs
@@ -377,6 +377,8 @@
                            ASN_LINE_ID = item.SrcASNDocLineId.ToString(),
                            ASN_LINE = asnDtl.LINE_NO,
                            ERP_CODE = item.ItemCode1,
                            ERP_STATUS_CODE = item.Status.ToString(),
                            ERP_STATUS_NAME = item.StatusName,
                        };
                        receipt.Details.Add(receiptDt);
                    }
Tiger.Model.Net/Entitys/MES/YadaU9/mes_ReturnedDocInfo.cs
@@ -55,6 +55,14 @@
        /// </summary>
        public int DocLineNo { get; set; }
        /// <summary>
        /// 单据状态
        /// </summary>
        public int Status { get; set; }
        /// <summary>
        /// 单据状态名称
        /// </summary>
        public string StatusName { get; set; }
        /// <summary>
        /// 料号
        /// </summary>
        public string ItemCode { get; set; }
Tiger.Model.Net/Entitys/MES/YadaU9/mes_TransInLine.cs
@@ -23,83 +23,83 @@
        #region 公共属性
        /// <summary>
        ///
        /// 行ID
        /// </summary>
        public long TransferInLineId { get; set; }
        /// <summary>
        ///
        /// 单头ID
        /// </summary>
        public long TransferInId { get; set; }
        /// <summary>
        ///
        /// 行号
        /// </summary>
        public int DocLineNo { get; set; }
        /// <summary>
        ///
        /// 料号
        /// </summary>
        public string ItemCode { get; set; }
        /// <summary>
        ///
        /// 品名
        /// </summary>
        public string ItemName { get; set; }
        /// <summary>
        ///
        /// 调出数量
        /// </summary>
        public double StoreUOMQty { get; set; }
        /// <summary>
        ///
        /// 调出单位
        /// </summary>
        public string StoreUOM { get; set; }
        /// <summary>
        ///
        /// 成本数量
        /// </summary>
        public double CostUOMQty { get; set; }
        /// <summary>
        ///
        /// 成本单位
        /// </summary>
        public string CostUOM { get; set; }
        /// <summary>
        ///
        /// 调入仓库
        /// </summary>
        public string TransInWhCode { get; set; }
        /// <summary>
        ///
        /// 调入仓库名称
        /// </summary>
        public string TransInWhName { get; set; }
        /// <summary>
        ///
        /// 调出仓库
        /// </summary>
        public string TransOutWhCode { get; set; }
        /// <summary>
        ///
        /// 调出仓库名称
        /// </summary>
        public string TransOutWhName { get; set; }
        /// <summary>
        ///
        /// 调入库位
        /// </summary>
        public string TransInBin { get; set; }
        /// <summary>
        ///
        /// 调出库位
        /// </summary>
        public string TransOutBin { get; set; }
        /// <summary>
        ///
        /// 批次号
        /// </summary>
        public string LotCode { get; set; }
        /// <summary>
        ///
        /// 创建人
        /// </summary>
        public string CreatedBy { get; set; }
        /// <summary>
        ///
        /// 创建时间
        /// </summary>
        public DateTime CreatedOn { get; set; } = DateTime.MinValue;
        /// <summary>
        ///
        /// 更新人
        /// </summary>
        public string ModifiedBy { get; set; }
        /// <summary>
        ///
        /// 更新时间
        /// </summary>
        public DateTime ModifiedOn { get; set; } = DateTime.MinValue;
        #endregion
Tiger.Model.Net/Entitys/MES/YadaU9/mes_TransferIn.cs
@@ -23,51 +23,51 @@
        #region 公共属性
        /// <summary>
        ///
        /// 调入单号
        /// </summary>
        public long TransferInId { get; set; }
        /// <summary>
        ///
        /// 调入组织
        /// </summary>
        public long Org { get; set; }
        /// <summary>
        ///
        /// 业务日期
        /// </summary>
        public DateTime BusinessDate { get; set; } = DateTime.MinValue;
        /// <summary>
        ///
        /// 单号
        /// </summary>
        public string DocNo { get; set; }
        /// <summary>
        ///
        /// 单据类型
        /// </summary>
        public string TransferInDocType { get; set; }
        /// <summary>
        ///
        /// 单据类型名称
        /// </summary>
        public string TransferInDocTypeName { get; set; }
        /// <summary>
        ///
        /// 单据状态
        /// </summary>
        public int Status { get; set; }
        /// <summary>
        ///
        /// 单据状态名称
        /// </summary>
        public string StatusName { get; set; }
        /// <summary>
        ///
        /// 创建人
        /// </summary>
        public string CreatedBy { get; set; }
        /// <summary>
        ///
        /// 创建时间
        /// </summary>
        public DateTime CreatedOn { get; set; } = DateTime.MinValue;
        /// <summary>
        ///
        /// 更新人
        /// </summary>
        public string ModifiedBy { get; set; }
        /// <summary>
        ///
        /// 更新时间
        /// </summary>
        public DateTime ModifiedOn { get; set; } = DateTime.MinValue;
        #endregion
Tiger.Model.Net/Entitys/WMS/BIZ_U9_RECEIPT_DTL.cs
@@ -78,17 +78,27 @@
        /// </summary>
        [DisplayName("报废数量")]
        public double QTY_SCRAP { get; set; }
        /// <summary>
        /// 赠品数量
        /// </summary>
        [DisplayName("赠品数量")]
        public double QTY_GIFT { get; set; }
        /// <summary>
        /// 批次号
        /// </summary>
        [DisplayName("批次号")]
        /// <summary>
        /// 赠品数量
        /// </summary>
        [DisplayName("赠品数量")]
        public double QTY_GIFT { get; set; }
        /// <summary>
        /// 批次号
        /// </summary>
        [DisplayName("批次号")]
        public string LOTNO { get; set; }
        /// <summary>
        /// ERP单据状态
        /// </summary>
        [DisplayName("ERP单据状态")]
        public string ERP_STATUS_CODE { get; set; }
        /// <summary>
        /// ERP单据状态名称
        /// </summary>
        [DisplayName("ERP单据状态名称")]
        public string ERP_STATUS_NAME { get; set; }
        /// <summary>
        /// 送货单ID
        /// </summary>
        [DisplayName("送货单ID")]