| | |
| | | } |
| | | } |
| | | |
| | | /// <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 |
| | |
| | | { |
| | | 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; |