Browse Source

功能优化221226

liuhairui 3 years ago
parent
commit
9a6912b6e8

+ 79 - 53
application/admin/controller/Feeding.php

@@ -56,62 +56,87 @@ class Feeding extends Backend
             $this->assign('cjjy',$cjjy);
             return $this->view->fetch();
         }
-        $params = $this->request->post('row/a');
-        print_r($params);die;
-        $params = $this->preExcludeFields($params);
-        $tid = Db::name('task')->where('bach',$params['bach'])->order('id desc')->find();
-        $arr = [];
-        if(empty($params['weight'])){
+//        echo "<pre>";print_r($_POST);echo "</pre>";
+        $tid = Db::name('task')->where('bach',$_POST['bach'])->order('id desc')->find();
+        if(empty($_POST['weight'])){
             $this->error('投料数据不能为空');
         }
-        foreach($params['weight'] as $k=>$v){
-            if($v){
-                $param['bach'] = $params['bach'];
-                $param['date'] = $params['date'];
-                $param['operator'] = $params['operator'];
-                $param['inspector'] = $params['inspector'];
-                $param['weight'] = $params['weight'][$k];
-                $param['nweight'] = $params['nweight'][$k];
-                $param['material'] = $params['material'][$k];
-                $param['gy_num'] = $params['gy_num'][$k];
-                $param['tid'] = $tid['id'];
-                $param['create'] = date('Y-m-d H:i:s');
-                $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;
-        Db::startTrans();
-        try {
-            //是否采用模型验证
-            if ($this->modelValidate) {
-                $name = str_replace("\\model\\", "\\validate\\", get_class($this->model));
-                $validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.add' : $name) : $this->modelValidate;
-                $this->model->validateFailException()->validate($validate);
-            }
+        $feeding = Db::name('feeding')->where('bach',$_POST['bach'])->order('id desc')->find();
+        $param['no'] = $feeding['no'] +1;//操作顺序
+        $param['tid'] = $tid['id'];//关联批次id
+        $param['bach'] = $_POST['bach'];//批次号
+        $param['date'] = $_POST['date'];//日期
+        $param['operator'] = $_POST['operator'];//操作人员
+        $param['inspector'] = $_POST['inspector'];//检验人员
+        $param['material'] = $_POST['material'];//原材料
+        $param['gy_num'] = $_POST['gy_num'];//工艺序号
+        $param['nweight'] = $_POST['nweight'];//应投重量
+        $param['weight'] = $_POST['weight'];//投料重量
+        $param['material_bach'] = $_POST['material_bach'];//原材料批次号
+        $param['remark'] = $_POST['gy_name'];//操作记录(记录批次号)
+        $param['create'] = date('Y-m-d H:i:s');//创建时间
 
-            $result = $this->model->allowField(true)->saveAll($list);
-            Db::commit();
-        } catch (ValidateException|PDOException|Exception $e) {
-            Db::rollback();
-            $this->error($e->getMessage());
-        }
-        if ($result === false) {
-            $this->error(__('No rows were inserted'));
-        }
-        $this->success();
+        echo "<pre>";print_r($param);echo "</pre>";die;
+
+        $feeding = Db::name('feeding')->insert($param);
+        if($feeding){return "添加成功";}else{return "添加失败";}
+
+//        $params = $this->request->post('row/a');
+//        $params = $this->preExcludeFields($params);
+//        $tid = Db::name('task')->where('bach',$params['bach'])->order('id desc')->find();
+//        $arr = [];
+//        if(empty($params['weight'])){
+//            $this->error('投料数据不能为空');
+//        }
+//        foreach($params['weight'] as $k=>$v){
+//            if($v){
+//                $param['bach'] = $params['bach'];
+//                $param['date'] = $params['date'];
+//                $param['operator'] = $params['operator'];
+//                $param['inspector'] = $params['inspector'];
+//                $param['weight'] = $params['weight'][$k];
+//                $param['nweight'] = $params['nweight'][$k];
+//                $param['material'] = $params['material'][$k];
+//                $param['gy_num'] = $params['gy_num'][$k];
+//                $param['tid'] = $tid['id'];
+//                $param['create'] = date('Y-m-d H:i:s');
+//                $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;
+//        Db::startTrans();
+//        try {
+//            //是否采用模型验证
+//            if ($this->modelValidate) {
+//                $name = str_replace("\\model\\", "\\validate\\", get_class($this->model));
+//                $validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.add' : $name) : $this->modelValidate;
+//                $this->model->validateFailException()->validate($validate);
+//            }
+//
+//            $result = $this->model->allowField(true)->saveAll($list);
+//            Db::commit();
+//        } catch (ValidateException|PDOException|Exception $e) {
+//            Db::rollback();
+//            $this->error($e->getMessage());
+//        }
+//        if ($result === false) {
+//            $this->error(__('No rows were inserted'));
+//        }
+//        $this->success();
     }
+
     //获取作业票信息
     public function get_task(){
         $bach = $this->request->post('bach');
@@ -129,6 +154,7 @@ class Feeding extends Backend
 
         return json($result);
     }
+
     //获取配方信息
     public function get_formula(){
         $bach = $this->request->post('bach');//批次号
@@ -158,7 +184,6 @@ class Feeding extends Backend
                     }
                 }
             }
-
             if($v['gy_name'] == null){
                 $v['gy_name'] = '';
             }
@@ -186,6 +211,7 @@ class Feeding extends Backend
         $row['process'] = $pro+1;
         return json($row);
     }
+
     public function get_material(){
         $bach = $this->request->post('bach');//批次号
         $material = $this->request->post('material');//原材料

+ 2 - 1
application/admin/lang/zh-cn/feeding.php

@@ -9,5 +9,6 @@ return [
     'Operator'  => '操作人员',
     'Inspector' => '检验人员',
     'Tid'       => '关联批次id',
-    'Nweight'   => '应投重量'
+    'Nweight'   => '应投重量',
+    'No'   => '操作顺序',
 ];

+ 1 - 1
application/admin/view/feeding/add.html

@@ -52,7 +52,7 @@
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">操作人员:</label>
         <div class="col-xs-12 col-sm-3">
-            <select style="text-align: left" id="c-operator" class="control-label col-xs-12 col-sm-8 form-control"   name="row[operator]">
+            <select style="text-align: left;" id="c-operator" class="control-label col-xs-12 col-sm-8 form-control"   name="row[operator]">
                 <option></option>
                 {foreach $cjcz as $key=>$vv}
                 <option value="{$vv.name}">{$vv.name}</option>

+ 2 - 2
application/admin/view/order/add.html

@@ -9,7 +9,7 @@
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Customer')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-customer" data-rule="required"  placeholder="请输入订货单位" data-primary-key="customer_name" data-source="order/customer_customer" data-field="customer_name" class="form-control selectpage" data-pagination="true" data-page-size="10" name="row[customer]" type="text">
+            <input id="c-customer" data-rule="required"  placeholder="请选择订货单位" readonly="readonly"  data-primary-key="customer_name" data-source="order/customer_customer" data-field="customer_name" class="form-control selectpage" data-pagination="true" data-page-size="10" name="row[customer]" type="text">
         </div>
     </div>
     <div class="form-group">
@@ -124,4 +124,4 @@
             <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
         </div>
     </div>
-</form>
+</form>

+ 93 - 18
public/assets/js/backend/feeding.js

@@ -27,6 +27,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                         {field: 'id', title: __('Id')},
                         {field: 'bach', title: __('Bach'), operate: 'LIKE'},
                         {field: 'material', title: __('Material'), operate: 'LIKE'},
+                        {field: 'no', title: __('No'), operate: 'LIKE'},
                         {field: 'nweight', title: __('Nweight'), operate: 'LIKE'},
                         {field: 'weight', title: __('Weight'), operate: 'LIKE'},
                         {field: 'gy_num', title: __('Gy_num')},
@@ -198,21 +199,26 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                                             bach: $("#c-bach").val(),
                                         },
                                         success(result) {
-                                            console.log(result)
+                                            // console.log(result);
                                             var str = '';//页面table
                                             var html = '';//打印的table
                                             for(var i=0;i<result.data.length;i++){
                                                 str += "<tr class='tablestr"+i+" tablestr'><td><input class='form-control material' type='text' name='row[material][]' readonly value='"+result.data[i].material+"'></td>";
                                                 // str += "<td><input class='form-control' type='text' name='row[nweight][]' readonly value='"+result.data[i].nweight+"'></td>";
                                                 str += "<td><input class='form-control nweight' type='text' name='row[nweight][]' readonly value='"+result.data[i].nweight+"'></td>";
-                                                str += "<input class='form-control' type='hidden' name='row[gy_num][]' value='"+result.data[i].gy_num+"'>";
+                                                str += "<td style='display: none'><input class='form-control gy_num' type='hidden' name='row[gy_num][]' value='"+result.data[i].gy_num+"'></td>";
                                                 str += "<td><input class='form-control number' type='number' name='row[weight][]' value='";
                                                 if (result.data[i].weight) {
                                                     //已操作的工序变为只读,附带实加重量
                                                     str += result.data[i].weight + "' readonly ";
                                                 }
                                                 str += "'></td>";
-                                                str += "<td><button type=\"button\" class=\"btn btn-primary btn-embossed submit \">保存</button></td>";
+                                                if(result.data[i].weight == 0){
+                                                    str += "<td><button type=\"button\" class=\"btn btn-primary btn-embossed submit \">保存</button></td>";
+                                                }else{
+                                                    str += "<td><button type=\"button\" class=\"btn btn-primary btn-embossed\">已保存</button></td>";
+                                                }
+                                                // str += "<td><button type=\"button\" class=\"btn btn-primary btn-embossed submit \">保存</button></td>";
                                                 str += "<td><input class='form-control bach' type='text' name='row[bach][]'  value=''></td>";
                                                 str += "<td><input class='form-control' type='text' name='row[gy_name][]'  value='"+result.data[i].gy_name+"'></td>";
                                                 str += "</tr>";
@@ -239,9 +245,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                                                     var string = $("#wuliao").val();
                                                     var wuliao = string.substr(0,string.indexOf('_'));  //原材料
                                                     var bach = string.substr(string.indexOf('_')+1);    //原材料批次号
-                                                    console.log(string.indexOf('_'))
-                                                    console.log(wuliao)
-                                                    console.log(bach)
+                                                    // console.log(string.indexOf('_'));
+                                                    // console.log(wuliao);
+                                                    // console.log(bach);
                                                     // return false;
                                                     $('#input').html();
                                                     $.ajax({
@@ -328,7 +334,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                                                                             $(".material")[i].setAttribute('style','color:red');
                                                                             $(".nweight")[i].setAttribute('style','color:red');
                                                                             var the_bach = document.getElementsByClassName('bach')[i];
-                                                                            console.log(the_bach)
+                                                                            // console.log(the_bach);
                                                                             the_bach.value = bach;
                                                                             $(".number")[i].focus();
                                                                             //语音播报
@@ -354,6 +360,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                                                                         //     error++;
                                                                         // }
                                                                     }
+
                                                                     //替代料变扫描的物料
                                                                     if(result.data[i].material.indexOf('/')!==-1) {
                                                                         var arr = result.data[i].material.split('/');
@@ -409,28 +416,96 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                 }
             });
             $(document).on('click','.submit',function () {
-                if ($(this).parent().siblings().eq(2).children('input').attr('readonly') == true){
-                    layer.confirm('此原材料已经保存',{
+                if($("#c-operator").val() == "" || $("#c-inspector").val() == ""){
+                    layer.confirm('请选择 操作人员 或 检验人员',{
                         title:'操作提示',
                         btn:[],
+                        area: ['60%','60%'],
                         closeBtn:0,
-                        time:2000
+                        time:3000
+                    });
+                }else{
+                    // console.log("批次号"+$("#c-bach").val());
+                    // console.log("日期"+$("#c-date").val());
+                    // console.log("操作人员"+$("#c-operator").val());
+                    // console.log("检验人员"+$("#c-inspector").val());
+                    // console.log("原材料"+$(this).parent().siblings().eq(0).children('input').val());
+                    // console.log("应投重量"+$(this).parent().siblings().eq(1).children('input').val());
+                    // console.log("工艺序号:"+$(this).parent().siblings().eq(2).children('input').val());
+                    // console.log("投料重量"+$(this).parent().siblings().eq(3).children('input').val());
+                    // console.log("原材料_批次号"$(this).parent().siblings().eq(4).children('input').val());
+                    // console.log("操作记录"+$(this).parent().siblings().eq(5).children('input').val());
+
+                    // if($(this).parent().siblings().eq(2).children('input').attr('readonly') == true){
+                    //     layer.confirm('此原材料已经保存',{
+                    //         title:'操作提示',
+                    //         btn:[],
+                    //         closeBtn:0,
+                    //         time:2000
+                    //     });
+                    //     return false;
+                    // }
+
+                    //批次号
+                    var bach = $("#c-bach").val();
+                    //日期
+                    var date = $("#c-date").val();
+                    //操作人员
+                    var operator = $("#c-operator").val();
+                    //检验人员
+                    var inspector = $("#c-inspector").val();
+                    //原材料
+                    var material = $(this).parent().siblings().eq(0).children('input').val();
+                    //应投重量
+                    var nweight = $(this).parent().siblings().eq(1).children('input').val();
+                    //工艺序号
+                    var gy_num = $(this).parent().siblings().eq(2).children('input').val();
+                    //投料重量
+                    var weight = $(this).parent().siblings().eq(3).children('input').val();
+                    //原材料批次号
+                    var material_bach = $(this).parent().siblings().eq(4).children('input').val();
+                    //操作记录
+                    var gy_name = $(this).parent().siblings().eq(5).children('input').val();
+                    if(weight == ""){
+                        layer.confirm('请输入投料重量',{
+                            title:'操作提示',
+                            btn:[],
+                            area: ['60%','60%'],
+                            closeBtn:0,
+                            time:2000
+                        });
+                    }else{
+                        $(this).text('已保存');
+                    }
+                    $.ajax({
+                        type: "POST",
+                        url: "feeding/add",
+                        data: {
+                            bach: bach,
+                            date: date,
+                            operator: operator,
+                            inspector: inspector,
+                            material: material,
+                            nweight: nweight,
+                            gy_num: gy_num,
+                            weight: weight,
+                            material_bach: material_bach,
+                            gy_name: gy_name,
+                        },
+                        success:function(data) {
+                            // console.log("ajax"+data);
+                        }
                     });
-                    return false;
                 }
-                var material = $(this).parent().siblings().eq(0).children('input').val();
-                var weight = $(this).parent().siblings().eq(2).children('input').val();
-                var bach = $(this).parent().siblings().eq(4).children('input').val();
-                console.log(material)
-                console.log(weight)
-                console.log(bach)
-            })
+            });
+
             $('input').keydown( function (e) {
                 let key = e.which;
                 if (key == 13) {
                     return false;
                 }
             });
+
             $(document).ready(function($) { 'use strict';
                 $(".print-link").on('click', function() {
                     var status = 1;