wtt
2025-06-03 44284752ff01258a513f6dcd37a62887ed0738df
三升排产,报表导出日期格式优化,添康日历批量更新优化
6个文件已修改
180 ■■■■■ 已修改文件
WebTM/WebTM.csproj.user 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/layuiadmin/Scripts/webConfig.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/三升排产/JIT_DayPlanPlatForm.html 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/日计划报表/ReportMOMaterReadysBillList.html 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/生产计划平台/Sc_BulkEditWorkTimeNew.html 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/生产计划平台/Sc_ShopCalendar.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj.user
@@ -3,8 +3,8 @@
  <PropertyGroup>
    <NameOfLastUsedPublishProfile>D:\智云迈思\MES\MES-WEB-LayUI\WebTM\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
    <NameOfLastUsedPublishProfile>D:\WorkBench\MES-WEB-LayUI\WebTM\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
    <ProjectView>ShowAllFiles</ProjectView>
    <LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
    <ProjectView>ProjectFiles</ProjectView>
    <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
    <UseIISExpress>true</UseIISExpress>
    <Use64BitIISExpress />
    <IISExpressSSLPort />
WebTM/layuiadmin/Scripts/webConfig.js
@@ -11,7 +11,7 @@
    //var WEBURL = "http://localhost:8082/LuBaoAPI/";    //杨乐本地配置
    //var WEBURL = "http://localhost:8082/API/";    //杜贺本地配置
    //var WEBURL = "http://localhost:8082/API/";    //张瑞广本地配置
    //var WEBURL = "http://localhost:81/API/"    //翁涛涛本地配置
    var WEBURL = "http://localhost:81/API/"    //翁涛涛本地配置
    //var WEBURL = "http://47.96.97.237/API/";          //智云服务器
  /*  var WEBURL = "http://localhost:8082/LuBaoAPI/";  //余思杰本地配置*/
    //var WEBURL = "http://localhost:8088/ARAPI/";      //余思杰本地配置(安瑞)
WebTM/views/Éú²ú¹ÜÀí/ÈýÉýÅŲú/JIT_DayPlanPlatForm.html
@@ -1676,7 +1676,7 @@
            columns.push({ field: '销售订单号', title: '销售订单号', width: 150, filter: true, sort: true});
            columns.push({ field: '生产订单号', title: '生产订单号', width: 150, style: 'background-color: #f9f9f9;', filter: true, sort: true });
            columns.push({ field: '客户订单号', title: '客户订单号', width: 150, style: 'background-color: #f9f9f9;', filter: true, sort: true });
            columns.push({ field: '生产组织', title: '生产组织', width: 150, filter: true, sort: true });
            columns.push({ field: '生产组织', title: '生产组织', width: 150, sort: true });
            columns.push({ field: '物料代码', title: '物料编码', width: 150, filter: true, sort: true});
            columns.push({ field: '物料名称', title: '物料名称', width: 150, filter: true, sort: true});
            columns.push({ field: '规格型号', title: '规格型号', width: 150, filter: true, sort: true });
@@ -1688,7 +1688,7 @@
            columns.push({ field: '生产订单日期', title: '生产订单日期', width: 150, templet: "<div>{{d.生产订单日期 ==null ?'':layui.util.toDateString(d.生产订单日期, 'yyyy-MM-dd')}}</div>", filter: true, sort: true });
            
            columns.push({ field: '计划结束日期', title: '计划结束日期', width: 150, templet: "<div>{{d.计划结束日期 ==null ?'':layui.util.toDateString(d.计划结束日期, 'yyyy-MM-dd')}}</div>", event: "HPlanEndDate", filter: true, sort: true });
            columns.push({ field: '订单可排数量', title: '订单可排数量', width: 150, filter: true, sort: true});
            columns.push({ field: '订单可排数量', title: '订单可排数量', width: 150, sort: true});
            columns.push({ field: '拆单数量', title: '拆单数量', width: 150, edit: 'text', filter: true, sort: true });
            columns.push({ field: '昨日数量', title: '昨日数量', filter: true, sort: true });
            columns.push({ field: '优先级', title: '优先级', width: 150, edit: 'text', filter: true, sort: true });
@@ -1715,7 +1715,7 @@
            columns.push({ field: '生产周期', title: '生产周期', width: 150 });
            columns.push({ field: '最迟开工日期', title: '最迟开工日期', width: 150, templet: "<div>{{d.最迟开工日期 =='' ?'':layui.util.toDateString(d.最迟开工日期, 'yyyy-MM-dd')}}</div>" });
            columns.push({ field: '最迟完工日期', title: '最迟完工日期', width: 150, templet: "<div>{{d.最迟完工日期 =='' ?'':layui.util.toDateString(d.最迟完工日期, 'yyyy-MM-dd')}}</div>" });
            columns.push({ field: '销售订单数量', title: '销售订单数量', width: 150, filter: true, sort: true });
            columns.push({ field: '销售订单数量', title: '销售订单数量', width: 150, sort: true });
            columns.push({ field: '生产车间', title: '生产车间', width: 150 });
            columns.push({ field: '源单主内码', title: '源单主内码', width: 150 });
            columns.push({ field: '源单子内码', title: '源单子内码', width: 150 });
@@ -1865,7 +1865,7 @@
            $.ajax({
                url: GetWEBURL() + '/JIT_DayPlanPlatFormBill/JIT_DayPlanPlatFormBillList',
                type: "GET",
                async: false,
                async: true,
                data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                success: function (data1) {
                    if (data1.count == 1) {
WebTM/views/Éú²ú¹ÜÀí/Èռƻ®±¨±í/ReportMOMaterReadysBillList.html
@@ -638,6 +638,12 @@
                                    item[itemobj] = item[itemobj].toString().replace(/[\r\n]+/g, '');  // å°†æ¢è¡Œç¬¦æ›¿æ¢ä¸ºç©ºå­—符串
                                    item[itemobj] = item[itemobj].toString().replace(/,/g, '');  // å°†æ¢è¡Œç¬¦æ›¿æ¢ä¸ºç©ºå­—符串
                                }
                                if (itemobj == "订单交期") {
                                    item[itemobj] = item[itemobj].toString().split('T')[0];
                                }
                                if (itemobj == "日计划日期") {
                                    item[itemobj] = item[itemobj].toString().split('T')[0];
                                }
                            }
                        });
WebTM/views/Éú²ú¹ÜÀí/Éú²ú¼Æ»®Æ½Ì¨/Sc_BulkEditWorkTimeNew.html
@@ -149,16 +149,6 @@
            set_SaveBill();
        })
        // ç›‘听日期选择
        $('#HBeginDate').on('change', function () {
            get_DisplayDate();
            // åœ¨è¿™é‡Œå¤„理日期选择后的逻辑
        });
        $('#HEndDate').on('change', function () {
            get_DisplayDate();
            // åœ¨è¿™é‡Œå¤„理日期选择后的逻辑
        });
        //#region æ—¥æœŸé—´éš”下拉列表监听
        form.on('select(HInitTimeCycle)', function (data) {
@@ -171,8 +161,6 @@
                $("#HBeginDate").val(Format(new Date().setDate(new Date().getDate()), "yyyy-MM-dd"));//欠料日期
                $("#HEndDate").val(Format(new Date().setDate(new Date().getDate() + HInitTimeCycle), "yyyy-MM-dd"));//至
                //执行查询方法
                get_DisplayDate();
            } else {
                //$('#HDate').prop('disabled', false);
                //$('#HDate1').prop('disabled', false);
@@ -205,7 +193,6 @@
            //获取默认车间
            GetDefValByUser();
            //查询
            get_DisplayDate();
            get_DisplaySource();
        }
        //#endregion
@@ -267,15 +254,24 @@
                , limits: [50, 500, 1000, 5000]
                //, loading: false               
                , cols: [[
                    { field: 'index', title: '序号', width: 80, sort: true },
                    { field: 'date', title: '日期', width: 120 },
                    { type: 'numbers', title: '序号', width: 80},
                    { field: 'week', title: '星期', width: 120 },
                    { field: 'workHours', title: '上班时间', width: 120, edit: 'text' }
                ]]
                , data: [
                    { "week": "星期日", "workHours": 0 },
                    { "week": "星期一", "workHours": 0 },
                    { "week": "星期二", "workHours": 0 },
                    { "week": "星期三", "workHours": 0 },
                    { "week": "星期四", "workHours": 0 },
                    { "week": "星期五", "workHours": 0 },
                    { "week": "星期六", "workHours": 0 }
                ]
                , done: function (res, curr, count) {
                    soulTable.render(this);
                }
            };
            table.render(option);
            sourceOption = {
                elem: '#SourceTable'
                //, toolbar: '#toolbarDemo'
@@ -295,63 +291,6 @@
                }
            };
        }
        //#endregion
        //#region æŸ¥è¯¢
        function get_DisplayDate() {
            var HBeginDate = $('#HBeginDate').val();
            var HEndDate = $('#HEndDate').val();
            if (!HBeginDate || !HEndDate) {
                layer.msg('请选择开始和结束日期');
                return;
            }
            if (HBeginDate > HEndDate) {
                return layer.msg("开始日期不能小于结束日期!");
            }
            // è®¡ç®—日期差并生成表格数据
            var dateArray = getDateRange(HBeginDate, HEndDate);
            var tableData = [];
            for (var i = 0; i < dateArray.length; i++) {
                tableData.push({
                    index: i + 1,
                    date: dateArray[i].date,
                    week: dateArray[i].week,
                    workHours: 0 // é»˜è®¤ä¸Šç­æ—¶é—´ä¸º0
                });
            }
            option.data = tableData;
            // æ¸²æŸ“表格
            table.render(option)
        }
        function get_DisplaySource() {
            var HDeptID = $("#HDeptID").val();
            if (HDeptID != 0 && HDeptID != "") {
                var sWhere = " and ç¦ç”¨æ ‡è®° != 'Y' and HDeptID=" + HDeptID
                //进入页面显示的缓存列表
                $.ajax({
                    url: GetWEBURL() + '/Gy_Source/list',
                    type: "GET",
                    async: false,
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.count == 1) {
                            sourceOption.data = data1.data;
                            table.render(sourceOption);
                        } else {
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
        }
        //#endregion
        //#region ç”Ÿäº§è½¦é—´é€‰æ‹©æŒ‰é’®
@@ -383,6 +322,34 @@
        }
        //#endregion
        //#region èŽ·å–å¯¹åº”è½¦é—´ç”Ÿäº§èµ„æº
        function get_DisplaySource() {
            var HDeptID = $("#HDeptID").val();
            if (HDeptID != 0 && HDeptID != "") {
                var sWhere = " and ç¦ç”¨æ ‡è®° != 'Y' and HDeptID=" + HDeptID
                //进入页面显示的缓存列表
                $.ajax({
                    url: GetWEBURL() + '/Gy_Source/list',
                    type: "GET",
                    async: false,
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.count == 1) {
                            sourceOption.data = data1.data;
                            table.render(sourceOption);
                        } else {
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
        }
        //#endregion
        //#region åˆå§‹æ—¥æœŸé—´éš” ä¸‹æ‹‰åˆ—表
        function setSelect_HInitTimeCycle() {
            var valueList = [7,30, 45, 60];
@@ -403,30 +370,32 @@
            //#endregion
        //#region æ—¶é—´åˆ—表相关函数
        function getDateRange(startDate, endDate) {
            var dateArray = [];
            var start = new Date(startDate.replace(/-/g, '/'));
            var end = new Date(endDate.replace(/-/g, '/'));
        function generateWorkHoursData(startDate, endDate, originalData) {
            const result = [];
            const currentDate = new Date(startDate);
            const lastDate = new Date(endDate);
            while (start <= end) {
                var dateStr = Format(start,"yyyy-MM-dd");
                var weekStr = getWeekDay(start);
            // åˆ›å»ºä¸€ä¸ªæ˜ŸæœŸæ˜ å°„表(中文星期名 -> workHours)
            const weekHoursMap = {};
            originalData.forEach(item => {
                weekHoursMap[item.week] = item.workHours;
            });
                dateArray.push({
                    date: dateStr,
                    week: weekStr
            // éåŽ†æ—¥æœŸèŒƒå›´
            while (currentDate <= lastDate) {
                const dayOfWeek = currentDate.toLocaleDateString('zh-CN', { weekday: 'long' }); // èŽ·å–ä¸­æ–‡æ˜ŸæœŸåï¼Œå¦‚ "星期一"
                const formattedDate = currentDate.toISOString().split('T')[0]; // æ ¼å¼åŒ–为 YYYY-MM-DD
                result.push({
                    date: formattedDate,
                    week: dayOfWeek,
                    workHours: weekHoursMap[dayOfWeek] || 0, // å¦‚果没有匹配的星期,默认 0
                });
                start.setDate(start.getDate() + 1);
                currentDate.setDate(currentDate.getDate() + 1); // ä¸‹ä¸€å¤©
            }
            return dateArray;
        }
        // èŽ·å–æ˜ŸæœŸå‡ 
        function getWeekDay(date) {
            var weekDays = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
            return weekDays[date.getDay()];
            return result;
        }
        //#endregion
@@ -459,8 +428,13 @@
        function set_SaveBill() {
            var checkStatus = table.checkStatus('SourceTable')
                , data = checkStatus.data;
            var sSubStr = JSON.stringify(table.cache["mainTable"]);
            var sMainSub = JSON.stringify(data) + ';' + sSubStr + ';' + sessionStorage["HUserName"];
            var sSubStr = table.cache["mainTable"];
            //根据开始时间结束日期生成新数据
            const newData = generateWorkHoursData($("#HBeginDate").val(), $("#HEndDate").val(), sSubStr);
            if (newData.length == 0) {
                return layer.msg("请检查开始时间和结束日期是否合理");
            }
            var sMainSub = JSON.stringify(data) + ';' + JSON.stringify(newData) + ';' + sessionStorage["HUserName"];
            if (data.length > 0) {
                $.ajax({   //异步请求
                    type: "POST",  //请求类型
WebTM/views/Éú²ú¹ÜÀí/Éú²ú¼Æ»®Æ½Ì¨/Sc_ShopCalendar.html
@@ -274,7 +274,7 @@
                    , title: "批改上班工时"  //标题
                    , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2 //弹出动画
                    , area: ["50%", "80%"] //窗体大小
                    , area: ["60%", "80%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: ['./Sc_BulkEditWorkTimeNew.html', "yes"]
                })