Browse Source

优化部分功能

huangsanjia 3 years ago
parent
commit
18f82dd668

+ 19 - 6
application/admin/controller/Feeding.php

@@ -69,9 +69,22 @@ class Feeding extends Backend
                 $param['material'] = $params['material'][$k];
                 $param['material'] = $params['material'][$k];
                 $param['gy_num'] = $params['gy_num'][$k];
                 $param['gy_num'] = $params['gy_num'][$k];
                 $param['tid'] = $tid['id'];
                 $param['tid'] = $tid['id'];
+                $param['create'] = date('Y-m-d H:i:s');
                 $arr[] = $param;
                 $arr[] = $param;
             }
             }
         }
         }
+        //去掉已经存入数据库的工艺数据
+        $list = array();
+        foreach ($arr as $key=>$value){
+            $map=[];
+            $map['bach'] = $value['bach'];
+            $map['material'] = $value['material'];
+            $map['gy_num'] = $value['gy_num'];
+            $is_feeding_gy = Db::name('feeding')->where($map)->order('id desc')->find();
+            if (!$is_feeding_gy){
+                $list[$key] = $value;
+            }
+        }
         $result = false;
         $result = false;
         Db::startTrans();
         Db::startTrans();
         try {
         try {
@@ -82,7 +95,7 @@ class Feeding extends Backend
                 $this->model->validateFailException()->validate($validate);
                 $this->model->validateFailException()->validate($validate);
             }
             }
 
 
-            $result = $this->model->allowField(true)->saveAll($arr);
+            $result = $this->model->allowField(true)->saveAll($list);
             Db::commit();
             Db::commit();
         } catch (ValidateException|PDOException|Exception $e) {
         } catch (ValidateException|PDOException|Exception $e) {
             Db::rollback();
             Db::rollback();
@@ -116,8 +129,6 @@ class Feeding extends Backend
     public function get_formula(){
     public function get_formula(){
         $bach = $this->request->post('bach');//批次号
         $bach = $this->request->post('bach');//批次号
         $num = $this->request->post('num');//生产量
         $num = $this->request->post('num');//生产量
-//        $process = unserialize(Session::get('process'));
-//        print_r($process);die;
         $process = Db::name('feeding')->where('bach',$bach)->select();
         $process = Db::name('feeding')->where('bach',$bach)->select();
         if($num){//如果有,批次号重复,需精确查找
         if($num){//如果有,批次号重复,需精确查找
             $res = Db::name('task')->alias('t')
             $res = Db::name('task')->alias('t')
@@ -134,9 +145,10 @@ class Feeding extends Backend
         $pro = 0;
         $pro = 0;
         //按照百分比计算出应投重量
         //按照百分比计算出应投重量
         foreach($res as &$v){
         foreach($res as &$v){
+            $v['weight']=0;
             if($process){ //已有工序,接上一次工序
             if($process){ //已有工序,接上一次工序
                 foreach ($process as $val){
                 foreach ($process as $val){
-                    if(($val['material']==$v['material'] || in_array($val['material'],explode('/',$v['material']))) && $val['tid']==$v['id']){
+                    if(($val['material']==$v['material'] || in_array($val['material'],explode('/',$v['material']))) && $val['tid']==$v['id'] && $val['gy_num'] == $v['gy_num']){
                         $v['weight']=$val['weight'];
                         $v['weight']=$val['weight'];
                         $pro = $val['gy_num'];
                         $pro = $val['gy_num'];
                     }
                     }
@@ -158,8 +170,9 @@ class Feeding extends Backend
             }
             }
             $num = array_sum($total);
             $num = array_sum($total);
             if($v['percentage']){
             if($v['percentage']){
-//                $v['nweight']=round($v['number']*decode($v['percentage'])/100,2);
-                $v['nweight'] = number_format(decode($v['percentage']) / $num * $v['number'],3);
+//                $v['nweight'] = number_format(decode($v['percentage']) / $num * $v['number'],3);
+                $number = ceil(decode($v['percentage']) / $num * $v['number'] *1000);
+                $v['nweight'] = number_format($number/1000,3);
             }else{
             }else{
                 $v['nweight']='';
                 $v['nweight']='';
             }
             }

+ 3 - 0
application/admin/view/feeding/add.html

@@ -63,6 +63,9 @@
         <div class="col-xs-12 col-sm-2">
         <div class="col-xs-12 col-sm-2">
             扫描物料<input class="form-control" id="wuliao" name="123" type="text">
             扫描物料<input class="form-control" id="wuliao" name="123" type="text">
         </div>
         </div>
+        <div class="col-xs-12 col-sm-6" style="margin-top: 25px;font-size: 18px">
+            <span>您本次扫描的物料是:</span><span id="input" style="color: red"></span>
+        </div>
     </div>
     </div>
     <style>
     <style>
         th,tr{
         th,tr{

+ 34 - 8
application/admin/view/formula/add.html

@@ -11,7 +11,7 @@
     .tg .tg-s5vw{font-size:22px;font-weight:bold;text-align:center;vertical-align:bottom}
     .tg .tg-s5vw{font-size:22px;font-weight:bold;text-align:center;vertical-align:bottom}
     .tg .tg-v8dz{font-size:24px;text-align:left;vertical-align:top}
     .tg .tg-v8dz{font-size:24px;text-align:left;vertical-align:top}
     .tg .tg-svyg{font-size:22px;font-weight:bold;text-align:left;text-decoration:underline;vertical-align:bottom}
     .tg .tg-svyg{font-size:22px;font-weight:bold;text-align:left;text-decoration:underline;vertical-align:bottom}
-    .tg .tg-4qqe{font-size:22px;font-weight:bold;text-align:center;vertical-align:top}
+    .tg .tg-4qqe{font-size:18px;font-weight:bold;text-align:left;vertical-align:top}
     .tg .tg-9d8n{font-size:22px;text-align:left;vertical-align:top}
     .tg .tg-9d8n{font-size:22px;text-align:left;vertical-align:top}
     .tg .tg-0pky{text-align:left;vertical-align:top;border: none;}
     .tg .tg-0pky{text-align:left;vertical-align:top;border: none;}
 </style>
 </style>
@@ -58,12 +58,17 @@
             <input id="c-date" class="form-control datetimepicker" name="row[date]" type="text" data-date-format="YYYY-MM-DD" data-use-current="true" value="{:date('Y-m-d')}">
             <input id="c-date" class="form-control datetimepicker" name="row[date]" type="text" data-date-format="YYYY-MM-DD" data-use-current="true" value="{:date('Y-m-d')}">
         </div>
         </div>
     </div>
     </div>
-
     <div class="form-group">
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-1">可用性:</label>
         <label class="control-label col-xs-12 col-sm-1">可用性:</label>
-        <div class="col-xs-12 col-sm-7">
+        <div class="col-xs-12 col-sm-3">
           <input id="c-usability" class="form-control selectpage"  data-multiple="true"  data-source="formula/getCustomer" data-field="customer_name" name="row[usability]" type="text" value="" placeholder="请选择配方对应客户,不选默认全部客户可用">
           <input id="c-usability" class="form-control selectpage"  data-multiple="true"  data-source="formula/getCustomer" data-field="customer_name" name="row[usability]" type="text" value="" placeholder="请选择配方对应客户,不选默认全部客户可用">
         </div>
         </div>
+        <label class="control-label col-xs-12 col-sm-1"></label>
+        <div class="col-xs-12 col-sm-3">
+            <label><input name="controlled" type="checkbox" value="voc标准" id="controlled_one">voc标准</label>
+            <label><input name="controlled" type="checkbox" value="受控" checked  id="controlled_two">受控</label>
+            <label><input name="controlled" type="checkbox" value="ROHS" checked id="controlled_thr">ROHS</label>
+        </div>
     </div>
     </div>
 
 
     <div class="form-group">
     <div class="form-group">
@@ -100,11 +105,12 @@
 
 
     <div style="display: none">
     <div style="display: none">
         <div class="form-group" id="print_area" >
         <div class="form-group" id="print_area" >
+
             <div id="head">
             <div id="head">
-                <table class="tg"  style="width: 800px;">
+                <table class="tg"  style="width: 850px;">
                     <thead>
                     <thead>
                     <tr>
                     <tr>
-                        <th class="tg-v8dz" colspan="6" style="border: none"><p id="no">MN/****</p>
+                        <th class="tg-v8dz" colspan="6" style="border: none">
                             <hr style="border: 1px solid;margin-top: -5px"></th>
                             <hr style="border: 1px solid;margin-top: -5px"></th>
                     </tr>
                     </tr>
                     </thead>
                     </thead>
@@ -113,8 +119,11 @@
                         <td class="tg-s5vw"  style="border: none"></td>
                         <td class="tg-s5vw"  style="border: none"></td>
                         <td class="tg-svyg"  style="border: none"></td>
                         <td class="tg-svyg"  style="border: none"></td>
                         <td class="tg-ub5w" colspan="2" rowspan="2"  style="border: none">配方单</td>
                         <td class="tg-ub5w" colspan="2" rowspan="2"  style="border: none">配方单</td>
-                        <td class="tg-4qqe"  style="border: none"></td>
-                        <td class="tg-s5vw"  style="border: none"></td>
+                        <td class="tg-4qqe" colspan="3" style="border: none;" id="str">
+
+                           </td>
+<!--                        <td class="tg-4qqe"  style="border: none"></td>-->
+<!--                        <td class="tg-s5vw"  style="border: none"></td>-->
                     </tr>
                     </tr>
                     <tr>
                     <tr>
                         <td class="tg-9d8n"  style="border: none">日期:</td>
                         <td class="tg-9d8n"  style="border: none">日期:</td>
@@ -130,12 +139,15 @@
                         <td class="tg-x1hj" id="charge_name"></td>
                         <td class="tg-x1hj" id="charge_name"></td>
                         <td class="tg-x1hj" id="examine_name"></td>
                         <td class="tg-x1hj" id="examine_name"></td>
                     </tr>
                     </tr>
+
                     </tbody>
                     </tbody>
                 </table>
                 </table>
+
             </div>
             </div>
+
             <div style="height: 20px;"></div>
             <div style="height: 20px;"></div>
             <div id="body">
             <div id="body">
-                <table class="tg" style="width: 800px;" id="print_gy">
+                <table class="tg" style="width: 850px;" id="print_gy">
 
 
 
 
                 </table>
                 </table>
@@ -174,6 +186,20 @@
             $('#examine_name').text(examine_name);
             $('#examine_name').text(examine_name);
             var date = $('#c-date').val();
             var date = $('#c-date').val();
             $('#date').text(date);
             $('#date').text(date);
+            var str = '';
+            if ($('#controlled_one').prop("checked") == true){
+                var print_controlled_one = $('#controlled_one').val();
+                str += '<span style="border:2px solid;" id="print_controlled_one">'+print_controlled_one+'</span>';
+            }
+            if ($('#controlled_two').prop("checked") == true){
+                var print_controlled_two = $('#controlled_two').val();
+                str += ' <span  style="border:2px solid;" id="print_controlled_two">'+print_controlled_two+'</span>&nbsp;';
+            }
+            if ($('#controlled_thr').prop("checked") == true){
+                var print_controlled_thr = $('#controlled_thr').val();
+                str += '<span style="border:2px solid;" id="print_controlled_thr">'+print_controlled_thr+'</span>';
+            }
+            $('#str').html(str);
             var html = '';
             var html = '';
             html += '<tr><td style="width: 100px;text-align: center">原材料</td><td  style="width: 100px;text-align: center">百分比</td><td style="width: 400px;text-align: center">操作工艺说明</td></tr>';
             html += '<tr><td style="width: 100px;text-align: center">原材料</td><td  style="width: 100px;text-align: center">百分比</td><td style="width: 400px;text-align: center">操作工艺说明</td></tr>';
             var sum = 0;
             var sum = 0;

+ 87 - 39
public/assets/js/backend/feeding.js

@@ -49,11 +49,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
             var num=0;
             var num=0;
             $('#c-bach').keydown((e)=>{
             $('#c-bach').keydown((e)=>{
                 let key = e.which;
                 let key = e.which;
-                console.log(key)
                 if(key == 13){
                 if(key == 13){
                     if(num === 0){
                     if(num === 0){
                         var bach = $("#c-bach").val();
                         var bach = $("#c-bach").val();
-                        console.log(bach)
                         if (bach == ''){
                         if (bach == ''){
                             layer.confirm('批次号不能为空,请输入批次号');return false;
                             layer.confirm('批次号不能为空,请输入批次号');return false;
                         }
                         }
@@ -195,6 +193,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                                             num:''
                                             num:''
                                         },
                                         },
                                         success(result) {
                                         success(result) {
+                                            console.log(result)
                                             var str = '';//页面table
                                             var str = '';//页面table
                                             var html = '';//打印的table
                                             var html = '';//打印的table
                                             for(var i=0;i<result.data.length;i++){
                                             for(var i=0;i<result.data.length;i++){
@@ -204,7 +203,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                                                 str += "<td><input class='form-control' type='number' name='row[weight][]' value='";
                                                 str += "<td><input class='form-control' type='number' name='row[weight][]' value='";
                                                 if (result.data[i].weight) {
                                                 if (result.data[i].weight) {
                                                     //已操作的工序变为只读,附带实加重量
                                                     //已操作的工序变为只读,附带实加重量
-                                                    str += parseFloat(result.data[i].weight) + "' readonly ";
+                                                    str += result.data[i].weight + "' readonly ";
                                                 }
                                                 }
                                                 str += "'></td>";
                                                 str += "'></td>";
                                                 str += "<td><input class='form-control' type='text' name='row[gy_name][]' readonly value='"+result.data[i].gy_name+"'></td>";
                                                 str += "<td><input class='form-control' type='text' name='row[gy_name][]' readonly value='"+result.data[i].gy_name+"'></td>";
@@ -230,49 +229,98 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                                                 var error = 0;
                                                 var error = 0;
                                                 if(key === 13){
                                                 if(key === 13){
                                                     var wuliao = $("#wuliao").val();
                                                     var wuliao = $("#wuliao").val();
-                                                    for(var i=0;i<result.data.length;i++) {
-                                                        //扫描的物料=table中的物料,,,变红,否则语音提示
-                                                        if(result.data[i].material===wuliao && result.data[i].gy_num == result.process){
-                                                            $(".material")[i].setAttribute('style','color:red');
-                                                            //语音播报
-                                                            var msg = new SpeechSynthesisUtterance("应投入物料"+result.data[i].material+"应投入重量"+result.data[i].nweight+"千克");
-                                                            window.speechSynthesis.speak(msg);
-                                                            error++;
-                                                        }else if(result.data[i].material===wuliao){
-                                                            Layer.confirm("此物料不在当前工序,请确认!",{
-                                                                area: ['60%', '60%'],
-                                                            });
-                                                            //语音播报
-                                                            var msg = new SpeechSynthesisUtterance("此物料不在当前工序,请确认!");
-                                                            window.speechSynthesis.speak(msg);
-                                                            error++;
-                                                        }
-                                                        //替代料变扫描的物料
-                                                        if(result.data[i].material.indexOf('/')!==-1){
-                                                            var arr = result.data[i].material.split('/');
-                                                            if(arr.indexOf($("#wuliao").val()) !== -1 && result.data[i].gy_num == result.process){
-                                                                $(".material")[i].value = wuliao;
-                                                                $(".material")[i].setAttribute('style','color:red');
-                                                                error++;
-                                                            }else if(arr.indexOf($("#wuliao").val()) !== -1 ){
-                                                                Layer.confirm("此物料不在当前工序,请确认!",{
-                                                                    area: ['60%', '60%'],
-                                                                });
-                                                                //语音播报
-                                                                var msg = new SpeechSynthesisUtterance("此物料不在当前工序,请确认!");
-                                                                window.speechSynthesis.speak(msg);
-                                                                error++;
+                                                    $('#input').html();
+                                                    $('#input').html(wuliao);
+                                                    for (var i=0;i<result.data.length;i++){
+                                                            //扫描的物料=table中的物料,,,变红,否则语音提示
+                                                            if(result.data[i].material===wuliao){
+                                                                if (result.data[i].gy_num == result.process){
+                                                                    $(".material")[i].setAttribute('style','color:red');
+                                                                    //语音播报
+                                                                    var msg = new SpeechSynthesisUtterance("应投入物料"+result.data[i].material+"应投入重量"+result.data[i].nweight+"千克");
+                                                                    window.speechSynthesis.speak(msg);
+                                                                    error++;
+                                                                }else if (result.data[i].gy_num > result.process){
+                                                                    Layer.confirm("此物料不在当前工序,请确认!",{
+                                                                        area: ['60%', '60%'],
+                                                                    });
+                                                                    //语音播报
+                                                                    var msg = new SpeechSynthesisUtterance("此物料不在当前工序,请确认!");
+                                                                    window.speechSynthesis.speak(msg);
+                                                                    error++;
+                                                                }else {
+                                                                    Layer.confirm("此物料已经投料,请确认此工序是否有此物料!",{
+                                                                        area: ['60%', '60%'],
+                                                                    });
+                                                                    //语音播报
+                                                                    var msg = new SpeechSynthesisUtterance("此物料不在当前工序,请确认!");
+                                                                    window.speechSynthesis.speak(msg);
+                                                                    error++;
+                                                                }
+                                                            }
+                                                            //替代料变扫描的物料
+                                                            if(result.data[i].material.indexOf('/')!==-1){
+                                                                var arr = result.data[i].material.split('/');
+                                                                if(arr.indexOf($("#wuliao").val()) !== -1 && result.data[i].gy_num == result.process){
+                                                                    $(".material")[i].value = wuliao;
+                                                                    $(".material")[i].setAttribute('style','color:red');
+                                                                    error++;
+                                                                }else if(arr.indexOf($("#wuliao").val()) !== -1 ){
+                                                                    Layer.confirm("此物料不在当前工序,请确认!",{
+                                                                        area: ['60%', '60%'],
+                                                                    });
+                                                                    //语音播报
+                                                                    var msg = new SpeechSynthesisUtterance("此物料不在当前工序,请确认!");
+                                                                    window.speechSynthesis.speak(msg);
+                                                                    error++;
+                                                                }
                                                             }
                                                             }
-                                                        }
                                                     }
                                                     }
+
+                                                    // console.log(new_data);return false;
+
+                                                    // for(var i=0;i<result.data.length;i++) {
+                                                    //     //扫描的物料=table中的物料,,,变红,否则语音提示
+                                                    //     if(result.data[i].material===wuliao && result.data[i].gy_num == result.process){
+                                                    //         $(".material")[i].setAttribute('style','color:red');
+                                                    //         //语音播报
+                                                    //         var msg = new SpeechSynthesisUtterance("应投入物料"+result.data[i].material+"应投入重量"+result.data[i].nweight+"千克");
+                                                    //         window.speechSynthesis.speak(msg);
+                                                    //         error++;
+                                                    //         break;
+                                                    //     }else if(result.data[i].material===wuliao && result.data[i].gy_num != result.process ){
+                                                    //         Layer.confirm("此物料不在当前工序,请确认!",{
+                                                    //             area: ['60%', '60%'],
+                                                    //         });
+                                                    //         //语音播报
+                                                    //         var msg = new SpeechSynthesisUtterance("此物料不在当前工序,请确认!");
+                                                    //         window.speechSynthesis.speak(msg);
+                                                    //         error++;
+                                                    //     }
+                                                    //     //替代料变扫描的物料
+                                                    //     if(result.data[i].material.indexOf('/')!==-1){
+                                                    //         var arr = result.data[i].material.split('/');
+                                                    //         if(arr.indexOf($("#wuliao").val()) !== -1 && result.data[i].gy_num == result.process){
+                                                    //             $(".material")[i].value = wuliao;
+                                                    //             $(".material")[i].setAttribute('style','color:red');
+                                                    //             error++;
+                                                    //         }else if(arr.indexOf($("#wuliao").val()) !== -1 ){
+                                                    //             Layer.confirm("此物料不在当前工序,请确认!",{
+                                                    //                 area: ['60%', '60%'],
+                                                    //             });
+                                                    //             //语音播报
+                                                    //             var msg = new SpeechSynthesisUtterance("此物料不在当前工序,请确认!");
+                                                    //             window.speechSynthesis.speak(msg);
+                                                    //             error++;
+                                                    //         }
+                                                    //     }
+                                                    // }
+
                                                     if(error===0){
                                                     if(error===0){
-                                                        // Layer.confirm("此物料不在配方中,且没有替代料,请确认!");
                                                         layer.confirm("此物料不在配方中,且没有替代料,请确认!", {//物料不存在提示错误信息
                                                         layer.confirm("此物料不在配方中,且没有替代料,请确认!", {//物料不存在提示错误信息
                                                             title: ['信息'],
                                                             title: ['信息'],
                                                             btn: ['确认'],
                                                             btn: ['确认'],
                                                             area: ['60%', '60%'],
                                                             area: ['60%', '60%'],
-                                                        // },function () {
-                                                        //     return false;
                                                         });
                                                         });
 
 
                                                         // var fn = function(){
                                                         // var fn = function(){