wxw
5 小时以前 4c49b591b3833a2752634355cb37b0a74923e916
Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -2013,6 +2013,13 @@
            }
        }
        /// <summary>
        /// 导出xml文件
        /// </summary>
        /// <param name="id"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        /// <exception cref="Exception"></exception>
        public XmlNode AddExXmlStr(int id, int userId)
        {
            try
@@ -2022,27 +2029,80 @@
                {
                    throw new Exception("未查询到出库单据信息");
                }
                var noticeDetial = Db.Queryable<BllExportNoticeDetail>().Where(w => w.IsDel == "0" && w.SONo == notice.SONo).First();
                if (noticeDetial == null)
                {
                    throw new Exception("未查询到出库单据明细信息");
                }
                var statusLis = new List<string>() { "4", "5", "6" };
                if (!statusLis.Contains(notice.Status))
                {
                    throw new Exception("参数异常,请检查状态是否为执行完成或订单关闭/已上传");
                }
                string xmlName = string.Empty;
                switch (notice.Type)
                {
                    case "0"://成品出库/销售出库
                        xmlName = "SalesWareHouseOut";
                        break;
                    case "2"://抽检出库
                        xmlName = "CheckWareHouseOut";
                        break;
                    default:
                        throw new Exception("单据类型异常");
                }
                var materiDetial = Db.Queryable<SysMaterials>().First(w => w.IsDel == "0" && w.SkuNo == noticeDetial.SkuNo);
                var packType = Db.Queryable<SysPackag>().First(w => w.IsDel == "0" && w.PackagNo == materiDetial.PackagNo);
                int level = 0;
                if (!string.IsNullOrEmpty(packType.L2Name))
                {
                    level = 1;
                }
                if (!string.IsNullOrEmpty(packType.L3Name))
                {
                    level = 2;
                }
                if (!string.IsNullOrEmpty(packType.L4Name))
                {
                    level = 3;
                }
                //出库单明细
                var comDetail = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.SONo == notice.SONo).Select(m => m.BoxNo3).ToList();
                var comDetail = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.SONo == notice.SONo).ToList();
                var userinfo = Db.Queryable<SysUserInfor>().Where(m => m.Id == comDetail.First().CreateUser).First().RealName;
                Db.BeginTran();//开启事务
                try
                {
                    //Hashtable pars = new Hashtable();       //用来存放参数
                    var pars = new List<string>();
                    //for (int i = 0; i < 10; i++)
                    //{
                    //    pars.Add("202203240009000479940290");
                    //}
                    string[] strr = new string[comDetail.Count];
                    var dom = HttpHelper.EncodeParsToFuMa(comDetail, "ceshi", "ExInfoXml");
                    for (int i = 0; i < comDetail.Count(); i++)
                    {
                        switch (level)
                        {
                            case 1:
                                strr[i] = comDetail[i].BoxNo + "," + comDetail[i].SONo + "," + userinfo + "," + Convert.ToString(comDetail[i].CreateTime);
                                break;
                            case 2:
                                strr[i] = comDetail[i].BoxNo3 + "," + comDetail[i].SONo + "," + userinfo + "," + Convert.ToString(comDetail[i].CreateTime);
                                break;
                            case 3:
                                strr[i] = comDetail[i].BoxNo2 + "," + comDetail[i].SONo + "," + userinfo + "," + Convert.ToString(comDetail[i].CreateTime);
                                break;
                            default:
                                break;
                        }
                        pars.Add(strr[i]);
                    }
                    //string fileName = $"{xmlName}_{notice.OrderCode}_linklink";
                    var dom = HttpHelper.EncodeParsToFuMa(pars, "", xmlName, "ExInfoXml");
                    ////添加操作日志记录
                    //var k = new OperationSOServer().AddLogOperationSo("出库作业", "出库单据", notice.SONo, "关单", $"关闭了单据号为{notice.SONo}的单据信息", userId);
                    var k = new OperationSOServer().AddLogOperationSo("出库作业", "出库单据", notice.SONo, "上传", $"上传了单据号为{notice.SONo}的单据信息", userId);
                    Db.CommitTran();
                    return dom;