kazelee
2025-05-12 968d603a08117e7e6707ffe07c6da9c325e36c08
Services/MoboxService.cs
@@ -383,24 +383,48 @@
            }
        }
        /// <summary>
        /// 创建抽检单
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static SimpleResult CreateCheckOrder(CreateCheckOrderInfo model) {
            var db = DbHelper.GetDbClient();
            try {
                // 绑定操作:插入出库单、所有的出库单明细
                using (var tran = db.Ado.UseTran()) {
                var order = new TN_Check_Order {
                    S_CG_ID = model.CgId,
                    S_ITEM_NAME = model.ItemName,
                    S_BATCH_NO = model.BatchNo,
                    N_QTY = model.Qty,
                    S_END_AREA = model.EndArea,
                };
                    var order = new TN_Check_Order {
                        S_NO = model.No,
                        S_CG_ID = model.CgId,
                        S_ITEM_NAME = model.ItemName,
                        S_BATCH_NO = model.BatchNo,
                        N_COUNT = model.Count,
                        S_END_AREA = model.EndArea,
                    };
                if (db.Insertable<TN_Check_Order>(order).ExecuteCommand() > 0) {
                    return BuildSimpleResult(0, "插入抽检单成功:" + JsonConvert.SerializeObject(order));
                    if (db.Insertable<TN_Check_Order>(order).ExecuteCommand() <= 0) {
                        tran.RollbackTran();
                        return BuildSimpleResult(2, "生成 抽检单 失败:" + JsonConvert.SerializeObject(order));
                    }
                    for (int i = 0; i < model.Count; i++) {
                        var detail = new TN_Check_Detail {
                            S_NO = model.No,
                            S_CG_ID = model.CgId,
                            S_BATCH_NO = model.BatchNo,
                            S_END_AREA = model.EndArea
                        };
                        if (db.Insertable<TN_Check_Detail>(detail).ExecuteCommand() <= 0) {
                            tran.RollbackTran();
                            return BuildSimpleResult(3, "生成 抽检单明细 失败:" + JsonConvert.SerializeObject(detail));
                        }
                    }
                    tran.CommitTran();
                }
                else {
                    return BuildSimpleResult(2, "插入抽检单失败:" + JsonConvert.SerializeObject(order));
                }
                return BuildSimpleResult(0, $"创建 抽检单 成功:单号 {model.No}");
            }
            catch (Exception ex) {
                return BuildSimpleEx(ex);
@@ -425,13 +449,12 @@
                    return BuildSimpleResult(2, "出库单号不能为空");
                }
                if (model.OutboundDetails.Count == 0) {
                    return BuildSimpleResult(2, "出库单明细没有项目");
                }
                using (var tran = db.Ado.UseTran()) {
                    var order = new TN_Outbound_Order {
                        S_NO = model.No,
                        S_CG_ID = model.CgId,
                        S_BATCH_NO = model.BatchNo,
                        S_END_AREA = model.EndArea,
                        N_FORCE = model.Forced ? 1 : 0
                    };
@@ -440,16 +463,16 @@
                        return BuildSimpleResult(3, "生成出库单失败:" + JsonConvert.SerializeObject(order));
                    }
                    foreach (var detail in model.OutboundDetails) {
                        var newDetail = new TN_Outbound_Detail {
                            S_NO = order.S_NO,
                            S_CG_ID = detail.CgCode,
                            S_BATCH_NO = detail.PatchNo,
                            N_QTY = detail.Qty,
                            N_FORCE = order.N_FORCE,
                            S_END_AREA = detail.EndArea
                    for (int i = 0; i < model.Count; i++) {
                        var detail = new TN_Outbound_Detail {
                            S_NO = model.No,
                            S_CG_ID = model.CgId,
                            S_BATCH_NO = model.BatchNo,
                            N_FORCE = model.Forced ? 1 : 0,
                            S_END_AREA = model.EndArea
                        };
                        if (db.Insertable<TN_Outbound_Detail>(newDetail).ExecuteCommand() <= 0) {
                        if (db.Insertable<TN_Outbound_Detail>(detail).ExecuteCommand() <= 0) {
                            tran.RollbackTran();
                            return BuildSimpleResult(4, "生成出库单明细失败:" + JsonConvert.SerializeObject(detail));
                        }
@@ -488,19 +511,22 @@
                        return BuildSimpleResult(3, "生成出库单失败:" + JsonConvert.SerializeObject(order));
                    }
                    foreach (var detail in model.OutboundDetails) {
                        var newDetail = new TN_Outbound_Detail {
                            S_NO = order.S_NO,
                            S_CG_ID = detail.CgCode,
                            S_BATCH_NO = detail.PatchNo,
                            N_QTY = detail.Qty,
                            N_FORCE = order.N_FORCE
                    for (int i = 0; i < model.Count; i++) {
                        var detail = new TN_Outbound_Detail {
                            S_NO = model.No,
                            S_CG_ID = model.CgId,
                            S_BATCH_NO = model.BatchNo,
                            N_FORCE = model.Forced ? 1 : 0,
                            S_END_AREA = model.EndArea
                        };
                        if (db.Insertable<TN_Inbound_Order>(order).ExecuteCommand() <= 0) {
                        if (db.Insertable<TN_Outbound_Detail>(detail).ExecuteCommand() <= 0) {
                            tran.RollbackTran();
                            return BuildSimpleResult(4, "生成出库单明细失败:" + JsonConvert.SerializeObject(detail));
                        }
                    }
                    tran.CommitTran();
                }
                return BuildSimpleResult(0, "生成出库单成功");