yusijie
2023-10-26 c890c969f056b949edae59c91b57cea2ccae3d06
WebTM/views/Éú²ú¹ÜÀí/Éú²ú¼Æ»®Æ½Ì¨/JIT_DayPlanPlatForm.html
@@ -246,6 +246,7 @@
            var dd = myDate.getDate();
            var SumMonth = 31; //动态两月之差 new Date(yyyy, MM, 0).getDate()
            var dateHQty = 0;
            var SumHQty = 0;//拆单数量
            for (var i = 0; i <= (SumMonth - dd); i++) {
                if (obj.field == "生产资源") {
@@ -261,16 +262,38 @@
                }
            }
            //查询所有数据相同的订单
            for (var i = 0; i < option.data.length; i++) {
                if (obj.data["生产订单号"] == option.data[i]["生产订单号"] && obj.data["生产订单明细行号"] == option.data[i]["生产订单明细行号"]) {
                    SumHQty += parseInt(option.data[i]["拆单数量"]);
                }
            }
            if (obj.value == "0" && obj.field == "拆单数量") {
                return layer.msg("拆单数量不能为0!");
            }
            if (SumHQty > (parseInt(obj.data["计划数量"]))) {
                obj.update({
                    "拆单数量": "0"
                });
                return layer.msg("拆单数量大于订单数量!");
            }
            var NowDate = obj.field;
            if (dateHQty > (parseInt(obj.data["计划数量"]))) {
                obj.update({
                    "日计划数量总量": dateHQty
                    "日计划数量总量": dateHQty - obj.value,
                    [NowDate]: 0
                });
                return layer.msg("排产数量大于订单数量!")
            }
            //修改数据
            obj.update({
                "日计划数量总量": dateHQty
                "日计划数量总量": dateHQty,
            });
        })
@@ -279,45 +302,8 @@
            btnrowDouble(obj.data);
        })
        var objData = "";
        //点击行选中数据
        table.on('row(mainTable)', function (obj) {
            //if (objData != "" && objData.tr.find(':checkbox:first').prop('checked') != obj.tr.find(':checkbox:first').prop('checked')) {
            //    objData.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
            //    objData.tr.find(':checkbox:first').prop('checked', false);//取消复选框选中样式
            //    layui.each(table.cache.mainTable, function (i, l) {
            //        if (objData.tr.index() == l.LAY_TABLE_INDEX) {
            //            l.LAY_CHECKED = false;
            //        }
            //    });
            //}
            //var flag = !obj.tr.find(':checkbox:first').prop('checked');
            //obj.tr.find(':checkbox').prop('checked', flag);
            //if (flag) {
            //    obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
            //} else {
            //    obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
            //    obj.tr.find(':checkbox:first').prop('checked', false);//取消复选框选中样式
            //}
            ////mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
            //layui.each(table.cache.mainTable, function (i, l) {
            //    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
            //        l.LAY_CHECKED = flag;
            //    }
            //});
            //for (var i = 0; i < table.cache["mainTable"].length; i++) {
            //    if (table.cache["mainTable"][i]["生产订单号"] != obj.data["生产订单号"]) {
            //        table.cache["mainTable"][i].LAY_CHECKED = false;
            //    }
            //}
            //option.data = table.cache["mainTable"];
            //table.render(option);
            //objData = obj;
            //选中行改变颜色
            var flag = !obj.tr.find(':checkbox:first').prop('checked');
@@ -354,6 +340,40 @@
                        data[0]["HSourceID"] = "";
                        data[0]["hmainid"] = "";
                        data[0]["单据号"] = "";
                        data[0]["拆单数量"] = 0;
                        var myDate = new Date();
                        //获取年
                        var yyyy = myDate.getFullYear();
                        //获取月份
                        var MM = myDate.getMonth() + 1;
                        //获取开始月份的最大天数
                        var SumMonth = new Date(yyyy, MM, 0).getDate(); //动态两月之差
                        //获取开始日期的天数
                        var HBEGINDATE = myDate.getDate(); //获取当天日期天数
                        var columns=[]
                        var k = 0;//收集循环次数
                        for (var j = 0; j <= (30 - k); j++) {
                            data[0][Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'yyyy-MM-dd')] = "";
                            //跨年的话 ä¼šä»Žä¸€æœˆä¸€å·å¼€å§‹
                            if (MM == 12 && (HBEGINDATE + j) == 31) {
                                yyyy += 1;
                                MM = 1;
                                SumMonth = new Date(yyyy, MM, 0).getDate();
                                HBEGINDATE = 0;
                                k += j;
                                j = 0;
                            } else if ((HBEGINDATE + j) == SumMonth) { //跨月 æœˆæ•°åР䏀  å¤©æ•°ä»Žä¸€å¼€å§‹
                                HBEGINDATE = 0;
                                MM += 1;
                                SumMonth = new Date(yyyy, MM, 0).getDate();
                                k += j;
                                j = 0;
                            }
                        }
                        var copydata = JSON.stringify(data);
                        var copydata2 = copydata.substring(1, copydata.length);//去除首行字符'['
                        var copyrow = copydata2.substring(0, copydata2.length - 1);//去除末尾字符']'
@@ -572,19 +592,19 @@
            columns.push({ field: '生产订单号', title: '生产订单号', width: 150, style: 'background-color: #f9f9f9;' });
            columns.push({ field: '生产订单明细行号', title: '生产订单明细行号', width: 150 });
            columns.push({ field: '优先级', title: '优先级', width: 150, edit: 'text' });
            columns.push({ field: 'HProdORGID', title: 'HProdORGID', hide: true });
            columns.push({ field: '生产组织', title: '生产组织', width:150 });
            columns.push({ field: '物料代码', title: '物料编码', width:150 });
            columns.push({ field: '物料名称', title: '物料名称', width:150 });
            columns.push({ field: '规格型号', title: '规格型号', width:150 });
            columns.push({ field: 'HUnitID', title: 'HUnitID', hide: true });
            columns.push({ field: '销售订单数量', title: '销售订单数量', width:150 });//0
            columns.push({ field: '计划数量', title: '生产订单数量', width: 150 });//0
            columns.push({field: '日计划数量总量', title: '日计划数量总量', width: 150});//0
            columns.push({ field: '今日之前日计划数量', title: '今日之前日计划数量', width: 150 });//0
            columns.push({ field: '计划开始日期', title: '预计开工日期', width: 150, templet: "<div>{{d.计划开始日期 ==null ?'':layui.util.toDateString(d.计划开始日期, 'yyyy-MM-dd')}}</div>"});
            columns.push({ field: '计划结束日期', title: '计划结束日期', width: 150, event: "HPlanEndDate"});
            columns.push({ field: 'HWorkShopID', title: 'HWorkShopID', hide: true });
            columns.push({ field: '计划结束日期', title: '计划结束日期', width: 150, event: "HPlanEndDate" });
            columns.push({ field: '订单可排数量', title: '订单可排数量', width: 150});
            columns.push({ field: '拆单数量', title: '拆单数量', width: 150, edit: 'text' });
            columns.push({ field: '昨日数量', title: '昨日数量'});
            columns.push({ field: '生产车间', title: '生产车间', width: 150});
           
            columns.push({ field: '生产资源', title: '生产资源', width: 150, edit: 'text', event: "HSourceID" });
@@ -734,14 +754,16 @@
            columns.push({ field: '电压/功率/底板', title: '电压/功率/底板', width: 150 });
            columns.push({ field: '计量单位', title: '计量单位', width: 150 });
            columns.push({ field: '拆单数量', title: '拆单数量', width: 150 });//0
            columns.push({ field: '订单可排数量', title: '订单可排数量', width: 150 });
            columns.push({ field: '未入库数量', title: '未入库数量', width: 150 });//0
            columns.push({ field: 'HICMOInterID', title: 'HICMOInterID', width: 150, hide:true });
            columns.push({ field: 'HGroupID', title: 'HGroupID', width: 150, hide:true });
            columns.push({ field: 'HGroupName', title: 'HGroupName', width: 150, hide:true });
            columns.push({ field: '生产资源代码', title: '生产资源代码', width: 150, hide: true });
            columns.push({ field: 'HSourceID', title: 'HSourceID', hide: true });
            columns.push({ field: 'HMaterID', title: 'HMaterID', hide: true });
            columns.push({ field: 'HMaterID', title: 'HMaterID', hide: true });
            columns.push({ field: 'HWorkShopID', title: 'HWorkShopID', hide: true });
            columns.push({ field: 'HUnitID', title: 'HUnitID', hide: true });
            columns.push({ field: 'HProdORGID', title: 'HProdORGID', hide: true });
            columns.push({ fixed: 'right', title: '操作', toolbar: '#barDemo' });
            option = {
@@ -1261,7 +1283,10 @@
                if (isNaN(data[i]["HICMOInterID"])) {
                    return layer.msg("请先进行保存!!")
                }
                HICOMNum.push(data[i]["HICMOInterID"] + ";" + data[i]["HICMOEntryID"]);
                if (isNaN(data[i]["HSourceID"])) {
                    return layer.msg("选择生产资源!!")
                }
                HICOMNum.push(data[i]["HICMOInterID"] + ";" + data[i]["HICMOEntryID"] + ";" + data[i]["HSourceID"]);
            }
            $('#HProgressBar').html(`
    <div class="layui-progress" lay-filter="demo-filter-progress">
@@ -1273,7 +1298,7 @@
            $.ajax({
                url: GetWEBURL() + '/JIT_DayPlanPlatFormBill/ReadyData',
                type: "GET",
                data: { "HICOMNum": HICOMNum.toString() },
                data: { "SWhere": HICOMNum.toString() },
                success: function (data1) {
                    if (data1.count == 1) {
                        for (var i = 0; i < data1.data.length; i++) {
@@ -1439,7 +1464,7 @@
                sICMOBillNo = option.data[i]["生产订单号"];
                dEndDate = Format(option.data[i]["最迟完工日期"], 'yyyy/MM/dd');
                sProdTimes = option.data[i]["生产周期"];
                sPlanQty = option.data[i]["订单可排数量"];
                sPlanQty = option.data[i]["拆单数量"];
                lHGroupID = option.data[i]["HGroupID"];
                sGroupName = option.data[i]["HGroupName"];
                lMaterID = option.data[i]["HMaterID"];
@@ -1776,7 +1801,7 @@
                                            //oClsGridValues.Add(oSub);
                                        }
                                        else {
                                            grd.data[iRow][grd.cols[0][j + HPlanDay].field] = sLeftQty;
                                            grd.data[iRow][grd.cols[0][j + HPlanDay].field] = Math.round(sLeftQty * 10) / 10;
                                            sLeftQty = 0;
                                            //oSub = new ClsGridValues();
                                            //oSub.iRow = iRow;
@@ -2075,7 +2100,7 @@
        function set_Priority() {
            var data = table.cache["mainTable"];
            for (var i = 0; i < data.length; i++) {
                data[i]["优先级"] = (i + 1);
                data[i]["优先级"] = ((i + 1) * 5);
            }
            option.data = data;
            table.render(option);
@@ -2083,7 +2108,41 @@
        //准备排序
        function set_ReadyAsc() {
            if (option.data.length != 0) {
                for (var i = 0; i < option.data.length - 1; i++) {
                    for (var j = 0; j < option.data.length - i - 1; j++) {
                        var tables = [];
                        //按照计划结束日期   ç”Ÿäº§è®¢å•号  ç”Ÿäº§è®¢å•明细行号的顺序去排
                        if (option.data[j]["计划结束日期"] > option.data[j + 1]["计划结束日期"]) {
                            tables.push(option.data[j + 1]);
                            option.data[j + 1] = option.data[j];
                            option.data[j] = tables[0];
                        } else if (option.data[j]["计划结束日期"] == option.data[j + 1]["计划结束日期"]) {
                            if (option.data[j]["生产订单号"] > option.data[j + 1]["生产订单号"]) {
                                tables.push(option.data[j + 1]);
                                option.data[j + 1] = option.data[j];
                                option.data[j] = tables[0];
                            } else if (option.data[j]["生产订单号"] == option.data[j + 1]["生产订单号"]) {
                                if (option.data[j]["生产订单明细行号"] > option.data[j + 1]["生产订单明细行号"]) {
                                    tables.push(option.data[j + 1]);
                                    option.data[j + 1] = option.data[j];
                                    option.data[j] = tables[0];
                                }
                            }
                        }
                    }
                }
                table.render(option);
            }
            else {
                return layer.msg("无数据!")
            }
        }
        //保存
@@ -2093,8 +2152,11 @@
            var num = [];
            for (var i = 0; i < table.cache["mainTable"].length; i++) {
                if (table.cache["mainTable"][i] != "") {
                    if (parseFloat(table.cache["mainTable"][i]["订单可排数量"]) < parseFloat(table.cache["mainTable"][i]["日计划数量总量"]) + parseFloat(table.cache["mainTable"][i]["今日之前日计划数量"])) {
                        return layer.msg("第" + (i + 1) + "行排产数量超出订单数量!");
                    if (parseFloat(table.cache["mainTable"][i]["拆单数量"]) == 0) {
                        return layer.msg("第" + (i + 1) + "行,拆产数量有误,请重新输入!");
                    }
                    if (parseFloat(table.cache["mainTable"][i]["拆单数量"]) < parseFloat(table.cache["mainTable"][i]["日计划数量总量"]) + parseFloat(table.cache["mainTable"][i]["今日之前日计划数量"])) {
                        return layer.msg("第" + (i + 1) + "行,排产数量超出订单数量!");
                    }
                    table.cache["mainTable"][i].LAY_TABLE_INDEX = i;
                    num.push(table.cache["mainTable"][i])