wxw
9 小时以前 7c274192786484237d4260aa2590cbbb6a64a95d
Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -746,7 +746,7 @@
                        VBELN = notice.OrderCode,
                        WERKS = notice.CustomerNo,
                        LFART = notice.Type,
                        WADAT_IST = Convert.ToDateTime(notice.CompleteTime).ToString("yyyy-MM-dd"),
                        WADAT_IST = Convert.ToDateTime(notice.UpdateTime).ToString("yyyy-MM-dd"),
                        ITEM = list
                    };
                    #region 通过接口发送至erp
@@ -1941,6 +1941,13 @@
                    foreach (var d in noticeDetail)
                    {
                        if (notice.Type == "0")//成品出库,计划数量和拣货数量必须一致
                        {
                            if (d.CompleteQty != d.Qty)
                            {
                                throw new Exception($"关单失败,物料:{d.SkuNo}计划数量和拣货数量不一致!");
                            }
                        }
                        #region MyRegion
                        //更改库存明细锁定数量
                        //var orders = dataContext.WmsExportOrder.Where(o => o.ExportDetailId == d.Id
@@ -2149,10 +2156,10 @@
                                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);
                                strr[i] = comDetail[i].BoxNo2 + "," + 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);
                                strr[i] = comDetail[i].BoxNo3 + "," + comDetail[i].SONo + "," + userinfo + "," + Convert.ToString(comDetail[i].CreateTime);
                                break;
                            default:
                                break;
@@ -2194,7 +2201,7 @@
            List<ExportXmlDto> xmlList = new List<ExportXmlDto>();
            try
            {
                string exportSql = $@"select SONo,Status,Type,case isnull(CustomerNo,'') when '' then 'null' else CustomerNo end CustomerNo
                string exportSql = $@"select SONo,Status,Type,case isnull(OrderCode,'') when '' then 'null' else OrderCode end OrderCode
   from BllExportNotice
   where IsDel='0' and Type='0'and SONo like 'SO{date.Replace("-", "")}%'
   order by SONo";
@@ -2226,9 +2233,9 @@
                    switch (type)
                    {
                        //成品出库/销售出库
                        case "0": { xmlName = "SalesWareHouseOut"; fileName = $@"SalesWareHouseOut_{dr["CustomerNo"] + ""}_linklink"; } break;
                        case "0": { xmlName = "SalesWareHouseOut"; fileName = $@"SalesWareHouseOut_{dr["OrderCode"] + ""}_linklink"; } break;
                        //抽检出库
                        case "2": { xmlName = "CheckWareHouseOut"; fileName = $@"CheckWareHouseOut_{dr["CustomerNo"] + ""}_linklink"; } break;
                        case "2": { xmlName = "CheckWareHouseOut"; fileName = $@"CheckWareHouseOut_{dr["OrderCode"] + ""}_linklink"; } break;
                        default: throw new Exception("单据类型异常");
                    }
@@ -2263,8 +2270,8 @@
                            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;
                                case 2: strr[i] = comDetail[i].BoxNo2 + "," + comDetail[i].SONo + "," + userinfo + "," + Convert.ToString(comDetail[i].CreateTime); break;
                                case 3: strr[i] = comDetail[i].BoxNo3 + "," + comDetail[i].SONo + "," + userinfo + "," + Convert.ToString(comDetail[i].CreateTime); break;
                                default: break;
                            }
                            pars.Add(strr[i]);
@@ -2971,7 +2978,10 @@
                        decimal needQty = detail.Qty - (detail.AllotQty == null ? 0 : decimal.Parse(detail.AllotQty.ToString()));
                        //排除车间库存
                        List<string> areaNoList = new List<string>() { "B06", "B07", "B09", "B24", "B26", "B27", "B28", "B29" };
                        string areaNoSql = $@"select AreaNo from SysStorageArea where IsDel='0' and AreaType='1'";
                        DataTable areaNoDt = Db.Ado.GetDataTable(areaNoSql);
                        List<string> areaNoList = areaNoDt.Rows.Cast<DataRow>().Select(e => e["AreaNo"] + "").ToList();
                        //库存明细 Status 0:待分配 1:部分分配  2:已分配 
                        var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.SkuNo == detail.SkuNo && (m.Qty - m.FrozenQty - m.LockQty + m.InspectQty) > 0 && (m.Status == "0" || m.Status == "1") && m.IsDel == "0" && !areaNoList.Contains(m.AreaNo)).ToList();