hudong
2025-06-05 f3ad86fe50a0d2ba81b203517184264eea7bf0c0
api/WmsSpaHelper.cs
@@ -3292,7 +3292,7 @@
                                        lLDReturnRoots.MSGDESP = $"物料{a.WLBM}物料主数据不存在该物料";
                                        iTEMs.Add(lLDReturnRoots);
                                        break ;
                                        continue;
                                    }
                                    po.Details.Add(new TN_Ll_detail
                                    {
@@ -3300,7 +3300,7 @@
                                        S_AREA_CODE = "HJQ",
                                        N_ROW_NO = "",
                                        S_ITEM_CODE = a.WLBM,
                                        S_ITEM_NAME = item.S_ITEM_NAME,
                                        S_ITEM_NAME = item?.S_ITEM_NAME,
                                        F_QTY = a.XQSL,
                                        S_ZJBM = a.ZJBM,
                                        S_YLBH = a.YLBH,
@@ -3320,8 +3320,23 @@
                                }
                                if (po.Details.Count()>0)
                                {
                                    LLDReturnRoot.ITEM lLDReturnRoot1 = new LLDReturnRoot.ITEM();
                                    lLDReturnRoot1.GC = itemscddll.GC;
                                    lLDReturnRoot1.LLDH = itemscddll.LLDH;
                                    lLDReturnRoot1.MSGCODE = 0;
                                    lLDReturnRoot1.MSGDESP = $"成功";
                                    iTEMs.Add(lLDReturnRoot1);
                                    var result1 = db.Insertable<TN_Ll_Order>(po).ExecuteCommand() > 0;
                                    db.Insertable<TN_Ll_detail>(po.Details).ExecuteCommand();
                                }
                                else
                                {
                                    LLDReturnRoot.ITEM lLDReturnRoot1 = new LLDReturnRoot.ITEM();
                                    lLDReturnRoot1.GC = itemscddll.GC;
                                    lLDReturnRoot1.LLDH = itemscddll.LLDH;
                                    lLDReturnRoot1.MSGCODE = 0;
                                    lLDReturnRoot1.MSGDESP = $"成功,无数据添加";
                                    iTEMs.Add(lLDReturnRoot1);
                                }
                            }
@@ -3344,7 +3359,7 @@
                                        lLDReturnRoots.MSGCODE = 1;
                                        lLDReturnRoots.MSGDESP = $"执行中领料单,物料{a.WLBM}物料不允许删除";
                                        iTEMs.Add(lLDReturnRoots);
                                        break;
                                        continue;
                                    }
                                    var po1 = po.Details.Where(s => a.WLBM == s.S_ITEM_CODE).ToList();
                                    if (po1.Count() == 0)  //无则新增物料明细
@@ -3360,7 +3375,7 @@
                                            lLDReturnRoots.MSGCODE = 1;
                                            lLDReturnRoots.MSGDESP = $"物料{a.WLBM}物料主数据不存在该物料";
                                            iTEMs.Add(lLDReturnRoots);
                                            break;
                                            continue;
                                        }
                                        TN_Ll_detail tN_Outbound_Detail = new TN_Ll_detail
                                        {
@@ -3404,7 +3419,7 @@
                                            lLDReturnRoots.MSGCODE = 1;
                                            lLDReturnRoots.MSGDESP = $"更新失败,更新数量必须大于当前物料数量{a.WLBM}";
                                            iTEMs.Add(lLDReturnRoots);
                                            break;
                                            continue;
                                        }
                                    }
                                }
@@ -3489,16 +3504,26 @@
                            //添加数据
                            if (listtn.Count() > 0)
                            {
                                LLDReturnRoot.ITEM lLDReturnRoot1 = new LLDReturnRoot.ITEM();
                                lLDReturnRoot1.GC = itemscddll.GC;
                                lLDReturnRoot1.LLDH = itemscddll.LLDH;
                                lLDReturnRoot1.MSGCODE = 0;
                                lLDReturnRoot1.MSGDESP = $"成功";
                                iTEMs.Add(lLDReturnRoot1);
                                db.Insertable<TN_Ll_detail>(listtn).ExecuteCommand();
                            }
                            else
                            {
                                LLDReturnRoot.ITEM lLDReturnRoot1 = new LLDReturnRoot.ITEM();
                                lLDReturnRoot1.GC = itemscddll.GC;
                                lLDReturnRoot1.LLDH = itemscddll.LLDH;
                                lLDReturnRoot1.MSGCODE = 0;
                                lLDReturnRoot1.MSGDESP = $"成功,无数据添加";
                                iTEMs.Add(lLDReturnRoot1);
                            }
                        }
                        lLDReturnRoots.GC = itemscddll.GC;
                        lLDReturnRoots.LLDH = itemscddll.LLDH;
                        lLDReturnRoots.MSGCODE = 0;
                        lLDReturnRoots.MSGDESP = $"成功";
                        iTEMs.Add(lLDReturnRoots);
                        db.CommitTran();
                    }
@@ -4056,6 +4081,10 @@
                        result.resultMsg = "数据不存在";
                        return result;
                    }
                    po.Details= po.Details.Where(d => model.Wlist.Any(w =>
                                w.S_ITEM_CODE == d.S_ITEM_CODE &&
                                w.N_ROW_NO == d.N_ROW_NO))
                            .ToList();
                    if (po.S_IN_TYPE == "内采入库")
                    {
                        List<NcRkDto.ITEM> listitem = new List<NcRkDto.ITEM>();
@@ -4177,22 +4206,39 @@
                        //添加凭证记录表
                        result.resultMsg = data.ROOT.ITEM.MSGDESP;
                        result.resultCode = data.ROOT.ITEM.MSGCODE;
                        MaterialVoucher materialVoucher = new MaterialVoucher();
                        //MaterialVoucher materialVoucher = new MaterialVoucher();
                        if (data.ROOT.ITEM.MSGCODE == 0)
                        {
                            materialVoucher.S_NO = model.S_NO;
                            materialVoucher.S_TYPE = po.S_IN_TYPE;
                            materialVoucher.S_WLPZBH = data.ROOT.ITEM.WLPZH;
                            materialVoucher.S_WLPZND = data.ROOT.ITEM.WLPZND;
                            materialVoucher.STATUS = 0;
                            db.Insertable<MaterialVoucher>(materialVoucher).ExecuteCommand();
                            //materialVoucher.S_NO = model.S_NO;
                            //materialVoucher.S_TYPE = po.S_IN_TYPE;
                            //materialVoucher.S_WLPZBH = data.ROOT.ITEM.WLPZH;
                            //materialVoucher.S_WLPZND = data.ROOT.ITEM.WLPZND;
                            //materialVoucher.STATUS = 0;
                            //db.Insertable<MaterialVoucher>(materialVoucher).ExecuteCommand();
                            List<MaterialVoucher> materials = new List<MaterialVoucher>();
                            foreach (var item in model.Wlist)
                            {
                                MaterialVoucher materialVoucher = new MaterialVoucher();
                                materialVoucher.S_NO = po.S_NO;
                                materialVoucher.S_WLBM = item.S_ITEM_CODE;
                                materialVoucher.S_WLH = item.N_ROW_NO;
                                materialVoucher.S_TYPE = po.S_IN_TYPE;
                                materialVoucher.S_WLPZBH = data.ROOT.ITEM.WLPZH;
                                materialVoucher.S_WLPZND = data.ROOT.ITEM.WLPZND;
                                materialVoucher.STATUS = 0;
                                materials.Add(materialVoucher);
                            }
                            if (materials.Count() > 0)
                            {
                                db.Insertable<MaterialVoucher>(materials).ExecuteCommand();
                            }
                        }
                    }
                    else
                    if (po.S_IN_TYPE == "计划外退料入库")
                    else if (po.S_IN_TYPE == "计划外退料入库")
                    {
                        DateTime dateTime;
                        DateTime dateTime1;
@@ -4317,13 +4363,25 @@
                        result.resultCode = data.ROOT.ITEM.MSGCODE;
                        if (data.ROOT.ITEM.MSGCODE == 0)
                        {
                            MaterialVoucher materialVoucher = new MaterialVoucher();
                            materialVoucher.S_NO = po.S_NO;
                            materialVoucher.S_TYPE = po.S_IN_TYPE;
                            materialVoucher.S_WLPZBH = data.ROOT.ITEM.WLPZH;
                            materialVoucher.S_WLPZND = data.ROOT.ITEM.WLPZND;
                            materialVoucher.STATUS = 0;
                            db.Insertable<MaterialVoucher>(materialVoucher).ExecuteCommand();
                            List< MaterialVoucher > materials = new List< MaterialVoucher >();
                            foreach (var item in model.Wlist)
                            {
                                MaterialVoucher materialVoucher = new MaterialVoucher();
                                materialVoucher.S_NO = po.S_NO;
                                materialVoucher.S_WLBM = item.S_ITEM_CODE;
                                materialVoucher.S_WLH = item.N_ROW_NO;
                                materialVoucher.S_TYPE = po.S_IN_TYPE;
                                materialVoucher.S_WLPZBH = data.ROOT.ITEM.WLPZH;
                                materialVoucher.S_WLPZND = data.ROOT.ITEM.WLPZND;
                                materialVoucher.STATUS = 0;
                                materials.Add( materialVoucher );
                            }
                            if (materials.Count() > 0)
                            {
                                db.Insertable<MaterialVoucher>(materials).ExecuteCommand();
                            }
                        }
                        #endregion
@@ -4448,15 +4506,34 @@
                        result.resultCode = data.ROOT.ITEM.MSGCODE;
                        if (data.ROOT.ITEM.MSGCODE == 0)
                        {
                            MaterialVoucher materialVoucher = new MaterialVoucher();
                            materialVoucher.S_NO = model.S_NO;
                            materialVoucher.S_TYPE = po.S_IN_TYPE;
                            materialVoucher.S_WLPZBH = data.ROOT.ITEM?.WLPZH;
                            LogHelper.Info("值1: " + data.ROOT.ITEM?.WLPZH);
                            LogHelper.Info("值2: " + materialVoucher.S_WLPZBH);
                            materialVoucher.S_WLPZND = data.ROOT.ITEM?.WLPZND;
                            materialVoucher.STATUS = 0;
                            db.Insertable<MaterialVoucher>(materialVoucher).ExecuteCommand();
                            //MaterialVoucher materialVoucher = new MaterialVoucher();
                            //materialVoucher.S_NO = model.S_NO;
                            //materialVoucher.S_TYPE = po.S_IN_TYPE;
                            //materialVoucher.S_WLPZBH = data.ROOT.ITEM?.WLPZH;
                            //LogHelper.Info("值1: " + data.ROOT.ITEM?.WLPZH);
                            //LogHelper.Info("值2: " + materialVoucher.S_WLPZBH);
                            //materialVoucher.S_WLPZND = data.ROOT.ITEM?.WLPZND;
                            //materialVoucher.STATUS = 0;
                            //db.Insertable<MaterialVoucher>(materialVoucher).ExecuteCommand();
                            List<MaterialVoucher> materials = new List<MaterialVoucher>();
                            foreach (var item in model.Wlist)
                            {
                                MaterialVoucher materialVoucher = new MaterialVoucher();
                                materialVoucher.S_NO = po.S_NO;
                                materialVoucher.S_WLBM = item.S_ITEM_CODE;
                                materialVoucher.S_WLH = item.N_ROW_NO;
                                materialVoucher.S_TYPE = po.S_IN_TYPE;
                                materialVoucher.S_WLPZBH = data.ROOT.ITEM.WLPZH;
                                materialVoucher.S_WLPZND = data.ROOT.ITEM.WLPZND;
                                materialVoucher.STATUS = 0;
                                materials.Add(materialVoucher);
                            }
                            if (materials.Count() > 0)
                            {
                                db.Insertable<MaterialVoucher>(materials).ExecuteCommand();
                            }
                        }
                        //else
                        //{
@@ -4669,17 +4746,18 @@
                    var po = db.Queryable<CntrItemRel>().Where(a => a.S_CNTR_CODE == S_CNTR_CODE && a.S_BS_NO == taskno).ToList();
                    LogHelper.Info("添加入库记录表po" + po.Count());
                    var pz = db.Queryable<MaterialVoucher>().Where(a => a.S_NO == taskno).First();
                    var ass = pz == null;
                    var pzs = db.Queryable<MaterialVoucher>().Where(a => a.S_NO == taskno).ToList();
                    var ass = pzs == null;
                    LogHelper.Info("添加入库记录表pz" + ass);
                    List<OutboundRecord> records = new List<OutboundRecord>();
                    foreach (var item in po)
                    {
                        var pz= pzs.Where(s=>s.S_WLBM==item.S_ITEM_CODE&&s.S_WLH==item.N_BS_ROW_NO).First();
                        OutboundRecord outboundRecord = new OutboundRecord();
                        outboundRecord.S_NO = item.S_BS_NO;
                        outboundRecord.S_TYPE = pz?.S_TYPE;
                        outboundRecord.S_WLPZBH = pz?.S_WLPZBH;
                        outboundRecord.S_WLPZBH = pz?.S_WLBM;
                        outboundRecord.S_WLPZND = pz?.S_WLPZND;
                        outboundRecord.S_WLBM = item.S_ITEM_CODE;
                        outboundRecord.S_SL = item.F_QTY;