Bläddra i källkod

优化配方功能

huangsanjia 3 år sedan
förälder
incheckning
f9cc5ab1ff

+ 74 - 63
application/admin/controller/Formula.php

@@ -53,12 +53,13 @@ class Formula extends Backend
             return $this->view->fetch();
         }
         // 获取搜索框的值
+        $map = [];
         $filter=input('filter');
         if($filter){
             $filter=urldecode($filter);
             $filter=json_decode($filter,TRUE);
             foreach($filter as $k=>$v){
-                $where[$k]=['like',"%{$v}%"];
+                $map[$k]=['like',"%{$v}%"];
             }
         }
         //如果发送的来源是 Selectpage,则转发到 Selectpage
@@ -67,21 +68,29 @@ class Formula extends Backend
         }
         [$where, $sort, $order, $offset, $limit] = $this->buildparams();
         $user_info = Session::get('admin');
-        $map = [];
-        if ($user_info['id'] !== 1){
+        if ($user_info['id'] !== 1){//管理员
             $map['company_id'] = $user_info['company_id'];
             $map['examine_status'] = 2;
         }
-        $sort = 'f.id';
-        $list = DB::name('formula')
-            ->where($where)
-            ->where($map)
-            ->alias('f')
-            ->group('f.id')
-            ->field('f.id,f.name,f.version,f.examine_status,f.create')
-            ->join('formula_detail fd','fd.pid=f.id','left')
-            ->order($sort, $order)
-            ->paginate($limit);
+
+        if(!empty($map['name'])){
+            $sort = 'f.id';
+            $list = DB::name('formula')
+                ->where($where)
+                ->where($map)
+                ->alias('f')
+                ->group('f.id')
+                ->field('f.id,f.name,f.version,f.examine_status,f.create')
+                ->join('formula_detail fd','fd.pid=f.id','left')
+                ->order($sort, $order)
+                ->paginate($limit);
+        }else{
+            $list = $this->model
+                ->where($where)
+                ->where($map)
+                ->order($sort, $order)
+                ->paginate($limit);
+        }
         $result = ['total' => $list->total(), 'rows' => $list->items()];
         return json($result);
     }
@@ -94,14 +103,10 @@ class Formula extends Backend
      */
     public function add()
     {
+
         if (false === $this->request->isPost()) {
             return $this->view->fetch();
         }
-//        $ceshi = encrypt('111');
-//        $ceshitwo = decode('eGWIu/HvS5g4CbzdItvkig==');
-//        print_r($ceshi);
-//        print_r('-------------------------------');
-//        print_r($ceshitwo);die;
         $base = $this->request->post('baseData/a');
         $formula = $this->request->post('formulaData/a');
         if (empty($base) || empty($formula)){
@@ -109,7 +114,7 @@ class Formula extends Backend
         }
         $params = [];
         $params['name'] = $base[0];
-        $params['formula_no'] = $base[1];
+        $params['no'] = $base[1];
         $params['charge_name'] = $base[2];
         $params['examine_name'] = $base[3];
         $params['remark'] = $base[4];
@@ -138,7 +143,7 @@ class Formula extends Backend
             }
             $data = [];
             $is_replace = 0;
-            $gy_num = 1;
+//            $gy_num = 1;
             foreach($formula as $key=>$value){
                 if (strpos($value[0],'/') === false){
                     $data[$key]['is_replace'] = 0;
@@ -149,31 +154,32 @@ class Formula extends Backend
                 $data[$key]['material'] = $value[0];
                 $data[$key]['percentage'] = encrypt($value[1]);
                 $data[$key]['gy_name'] = $value[2];
-                $data[$key]['gy_num'] = $gy_num;
+//                $data[$key]['gy_num'] = $gy_num;
+                $data[$key]['gy_num'] = $value[3];
                 $data[$key]['pid'] = $pid;
                 $data[$key]['version'] = $params['version'];
                 $data[$key]['create'] = $params['create'];
-                if(!$value[0]&&!$value[1]&&$value[2]){
-                    $gy_num++;
-                }
+//                if(!$value[0]&&!$value[1]&&$value[2]){
+//                    $gy_num++;
+//                }
             }
             $result = Db::name('formula_detail')->insertAll($data);
-            //有替代料的话  查出所有替代料  然后分解  插入到数据库
-            if ($is_replace == 1){
-                $replace = Db::name('formula_detail')->where('pid',$pid)->where('is_replace',1)->field('id,material')->select();
-                $replaceData = [];
-                $j = 0;
-                foreach ($replace as $k=>$v){
-                    $material = explode('/',$v['material']);
-                    for ($i=0;$i<count($material);$i++){
-                        $replaceData[$j]['fid'] = $v['id'];
-                        $replaceData[$j]['material'] = $material[$i];
-                        $replaceData[$j]['create'] = date('Y-m-d H:i:s');
-                        $j++;
-                    }
-                }
-                $result = Db::name('formula_replace')->insertAll($replaceData);
-            }
+            //有替代料的话  查出所有替代料  然后分解  插入到数据库  2022年9月19日14:20:37  替代料功能改变
+//            if ($is_replace == 1){
+//                $replace = Db::name('formula_detail')->where('pid',$pid)->where('is_replace',1)->field('id,material')->select();
+//                $replaceData = [];
+//                $j = 0;
+//                foreach ($replace as $k=>$v){
+//                    $material = explode('/',$v['material']);
+//                    for ($i=0;$i<count($material);$i++){
+//                        $replaceData[$j]['fid'] = $v['id'];
+//                        $replaceData[$j]['material'] = $material[$i];
+//                        $replaceData[$j]['create'] = date('Y-m-d H:i:s');
+//                        $j++;
+//                    }
+//                }
+//                $result = Db::name('formula_replace')->insertAll($replaceData);
+//            }
             Db::commit();
         } catch (Exception $e) {
             Db::rollback();
@@ -211,6 +217,7 @@ class Formula extends Backend
             foreach ($list['gyinfo'] as $key=>$value){
                 $list['gyinfo'][$key]['percentage'] = decode($value['percentage']);
             }
+//            dump($list);die;
             $this->view->assign('ids',$ids);
             $this->view->assign('name',$name);
             $this->view->assign('row', $list);
@@ -235,7 +242,7 @@ class Formula extends Backend
         //基础数据
         $params = [];
         $params['name'] = $base[0];
-        $params['formula_no'] = $base[1];
+        $params['no'] = $base[1];
         $params['charge_name'] = $base[2];
         $params['examine_name'] = $base[3];
         $params['remark'] = $base[4];
@@ -314,7 +321,7 @@ class Formula extends Backend
             }
             //新工艺信息
             $is_replace = 0;
-            $gy_num = 1;
+
             for($i=0;$i<count($formula);$i++){
                 if (strpos($formula[$i][0],'/') === false){
                     $data[$i]['is_replace'] = 0;
@@ -325,34 +332,31 @@ class Formula extends Backend
                 $data[$i]['material'] = $formula[$i][0];
                 $data[$i]['percentage'] = encrypt($formula[$i][1]);
                 $data[$i]['gy_name'] = $formula[$i][2];
-//                $data[$i]['gy_num'] = $formula[$i][3];
-                $data[$i]['gy_num'] = $gy_num;
+                $data[$i]['gy_num'] = $formula[$i][3];
+//                $data[$i]['gy_num'] = $gy_num;
                 $data[$i]['pid'] = $ids;
                 $data[$i]['version'] = 'v'.$version;
                 $data[$i]['create'] = date('Y-m-d H:i:s');
-                if(!$formula[$i][0]&&!$formula[$i][1]&&$formula[$i][2]){
-                    $gy_num++;
-                }
             }
             if ($isChange === true){
                 Db::name('formula_detail')->insertAll($data);
             }
-            //有替代料的话  查出所有替代料  然后分解  插入到数据库
-            if ($is_replace == 1 && ($materialChange == 1 || $change == 1)){
-                $replace = Db::name('formula_detail')->where('pid',$ids)->where('is_replace',1)->field('id,material')->select();
-                $replaceData = [];
-                $j = 0;
-                foreach ($replace as $k=>$v){
-                    $material = explode('/',$v['material']);
-                    for ($i=0;$i<count($material);$i++){
-                        $replaceData[$j]['fid'] = $v['id'];
-                        $replaceData[$j]['material'] = $material[$i];
-                        $replaceData[$j]['create'] = date('Y-m-d H:i:s');
-                        $j++;
-                    }
-                }
-                $result = Db::name('formula_replace')->insertAll($replaceData);
-            }
+            //有替代料的话  查出所有替代料  然后分解  插入到数据库 //2022年9月19日14:19:09 替代料更改
+//            if ($is_replace == 1 && ($materialChange == 1 || $change == 1)){
+//                $replace = Db::name('formula_detail')->where('pid',$ids)->where('is_replace',1)->field('id,material')->select();
+//                $replaceData = [];
+//                $j = 0;
+//                foreach ($replace as $k=>$v){
+//                    $material = explode('/',$v['material']);
+//                    for ($i=0;$i<count($material);$i++){
+//                        $replaceData[$j]['fid'] = $v['id'];
+//                        $replaceData[$j]['material'] = $material[$i];
+//                        $replaceData[$j]['create'] = date('Y-m-d H:i:s');
+//                        $j++;
+//                    }
+//                }
+//                $result = Db::name('formula_replace')->insertAll($replaceData);
+//            }
             Db::commit();
         } catch (Exception $e) {
             Db::rollback();
@@ -365,6 +369,13 @@ class Formula extends Backend
     }
     //生成作业单
     public function task(){
+//        $ceshi = Db::name('formula_detail')->where('id','>',52459)->limit(10000)->select();
+//        foreach ($ceshi as $key=>$value){
+//            $ceshi[$key]['percentage'] = encrypt($value['percentage']);
+//        }
+//        Db::name('formula_detail_c')->insertAll($ceshi);
+//        print_r('-------------------------------');
+//        die;
         $ids = input('ids');
         if (!$ids) {
             $this->error(__('No Results were found'));

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

@@ -7,7 +7,7 @@
         </div>
         <label class="control-label col-xs-12 col-sm-1">编号:</label>
         <div class="col-xs-12 col-sm-3">
-            <input id="c-formula_no" class="form-control" name="row[formula_no]" type="text">
+            <input id="c-no" class="form-control" name="row[no]" type="text">
         </div>
     </div>
     <div class="form-group">
@@ -58,7 +58,7 @@
                 <th class="col-xs-12 col-sm-1">原材料</th>
                 <th class="col-xs-12 col-sm-1">百分比(%)</th>
                 <th class="col-xs-12 col-sm-8">操作工艺说明</th>
-<!--                <th class="col-xs-12 col-sm-1">工序号(必填)</th>-->
+                <th class="col-xs-12 col-sm-1">工序号(必填)</th>
                 <th class="col-xs-12 col-sm-1">操作</th>
             </tr>
         </table>

+ 10 - 11
application/admin/view/formula/edit.html

@@ -26,7 +26,7 @@
         </div>
         <label class="control-label col-xs-12 col-sm-1">编号:</label>
         <div class="col-xs-12 col-sm-3">
-            <input id="c-formula_no" class="form-control" name="row[formula_no]" type="text" value="{$row['formula_no']}">
+            <input id="c-no" class="form-control" name="row[no]" type="text" value="{$row['no']}">
         </div>
     </div>
     <div class="form-group">
@@ -79,22 +79,21 @@
                 <th class="col-xs-12 col-sm-1">原材料</th>
                 <th class="col-xs-12 col-sm-1">百分比(%)</th>
                 <th class="col-xs-12 col-sm-8">操作工艺说明</th>
-<!--                <th class="col-xs-12 col-sm-1">工序号(必填)</th>-->
+                <th class="col-xs-12 col-sm-1">工序号(必填)</th>
                 <th class="col-xs-12 col-sm-1">操作</th>
             </tr>
             {foreach name='row["gyinfo"]' id='vo'}
             <tr>
                 <td><input  class="form-control material" type="text" value="{$vo.material}"></td>
                 <td><input  class="form-control percentage" type="number" value="{$vo.percentage}"></td>
-                <td><select class='form-control selectpicker' name='gy_name' id=''>
-                    <option value=''>请选择工艺</option>
-                    {foreach name='gyNameList' id='item'}
+<!--                <td><select class='form-control selectpicker' name='gy_name' id=''>-->
+<!--                    <option value=''>请选择工艺</option>-->
 
-                    <option value='{$item.title}' {if $item.title==$vo.gy_name}selected{/if}>{$item.title}</option>
-                    {/foreach}
-                    </select></td>
-<!--                <td><input  class="form-control gy_name" type="text" value="vo.gy_name"></td>-->
-<!--                <td><input  class="form-control gy_num" type="text" value="vo.gy_num"></td>-->
+
+
+<!--                    </select></td>-->
+                <td><input  class="form-control gy_name" type="text" value="{$vo.gy_name}"></td>
+                <td><input  class="form-control gy_num" type="text" value="{$vo.gy_num}"></td>
                 <td><button type="button"  class="btn btn-danger  del">删除</button></td>
             </tr>
             {/foreach}
@@ -168,7 +167,7 @@
             //给打印表头赋值
             var formula = $('#c-name').val();
             $('#formula').val(formula);
-            var formula_no = $('#c-formula_no').val();
+            var formula_no = $('#c-no').val();
             $('#formula_no').text(formula_no);
             var charge_name = $('#c-charge_name').val();
             $('#charge_name').text(charge_name);

+ 61 - 47
public/assets/js/backend/formula.js

@@ -70,24 +70,31 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
         },
         add: function () {
             $('#add').click(function () {
-                $.ajax({
-                    method:"POST",
-                    url:'formula/gyName',
-                    success(res){
-                        var html = '';
-                        html += '<tr><td><input  class="form-control material" type="text" value=""></td>';
-                        html += '<td><input  class="form-control percentage" type="number" value=""></td>';
-                        html += "<td><select class='form-control selectpicker' name='gy_name' id=''><option value=''>请选择工艺</option>";
-                        for (var key in res){
-                            html += "<option value='"+res[key].title+"'>"+res[key].title+"</option>";
-                        }
-                        html += "</select></td>";
-                        // html += '<td><input  class="form-control gy_name" type="text" value=""></td>';
-                        // html += '<td><input  class="form-control gy_num" type="text" value=""></td>';
-                        html += '<td><button type="button"  class="btn btn-danger  del">删除</button></td></tr>';
-                        $('#gy').append(html);
-                    }
-                });
+                // $.ajax({
+                //     method:"POST",
+                //     url:'formula/gyName',
+                //     success(res){
+                //         var html = '';
+                //         html += '<tr><td><input  class="form-control material" type="text" value=""></td>';
+                //         html += '<td><input  class="form-control percentage" type="number" value=""></td>';
+                //         html += "<td><select class='form-control selectpicker' name='gy_name' id=''><option value=''>请选择工艺</option>";
+                //         for (var key in res){
+                //             html += "<option value='"+res[key].title+"'>"+res[key].title+"</option>";
+                //         }
+                //         html += "</select></td>";
+                //         // html += '<td><input  class="form-control gy_name" type="text" value=""></td>';
+                //         // html += '<td><input  class="form-control gy_num" type="text" value=""></td>';
+                //         html += '<td><button type="button"  class="btn btn-danger  del">删除</button></td></tr>';
+                //         $('#gy').append(html);
+                //     }
+                // });
+                var html = '';
+                html += '<tr><td><input  class="form-control material" type="text" value=""></td>';
+                html += '<td><input  class="form-control percentage" type="number" value=""></td>';
+                html += '<td><input  class="form-control gy_name" type="text" value=""></td>';
+                html += '<td><input  class="form-control gy_num" type="text" value=""></td>';
+                html += '<td><button type="button"  class="btn btn-danger  del">删除</button></td></tr>';
+                $('#gy').append(html);
             });
             $(document).on('click','.del',function () {
                 $(this).parent().parent().remove();
@@ -105,7 +112,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                     if (name == '' || name== undefined) {
                         verify = -1;
                     }
-                    var formula_no = $('#c-formula_no').val();
+                    var formula_no = $('#c-no').val();
                     if (formula_no == '' || formula_no== undefined) {
                         verify = -1;
                     }
@@ -149,18 +156,18 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         var formulaTrArr=formulaTrList.eq(i);
                         var tdOne = formulaTrArr.children("td").eq(0).find("input").val();
                         var tdTwo = formulaTrArr.children("td").eq(1).find("input").val();
-                        var tdThr = formulaTrArr.children("td").eq(2).find("select").val();
-                        // var tdFou = formulaTrArr.children("td").eq(3).find("input").val();
+                        var tdThr = formulaTrArr.children("td").eq(2).find("input").val();
+                        var tdFou = formulaTrArr.children("td").eq(3).find("input").val();
                         if (tdOne == '' && tdTwo == '' && tdThr==''){
                             layer.confirm('工艺信息不能全部为空!');return false;
                         }
-                        /*if (tdFou == ''){
+                        if (tdFou == ''){
                             layer.confirm('工序号不能为空!');return false;
-                        }*/
+                        }
                         formulaData.push(tdOne);
                         formulaData.push(tdTwo);
                         formulaData.push(tdThr);
-                        // formulaData.push(tdFou);
+                        formulaData.push(tdFou);
                         data.push(formulaData);
                     }
                     if (data.length == 0){
@@ -190,23 +197,30 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
         },
         edit: function () {
             $('#add').click(function () {
-                $.ajax({
-                    method: "POST",
-                    url: 'formula/gyName',
-                    success(res) {
-                        var html = '';
-                        html += '<tr><td><input  class="form-control material" type="text" value=""></td>';
-                        html += '<td><input  class="form-control percentage" type="number" value=""></td>';
-                        html += "<td><select class='form-control selectpicker' name='gy_name' id=''><option value=''>请选择工艺</option>";
-                        for (var key in res) {
-                            html += "<option value='" + res[key].title + "'>" + res[key].title + "</option>";
-                        }
-                        html += "</select></td>";
-                        // html += '<td><input  class="form-control gy_num" type="text" value=""></td>';
-                        html += '<td><button type="button"  class="btn btn-danger  del">删除</button></td></tr>';
-                        $('#gy').append(html);
-                    }
-                });
+                // $.ajax({
+                //     method: "POST",
+                //     url: 'formula/gyName',
+                //     success(res) {
+                //         var html = '';
+                //         html += '<tr><td><input  class="form-control material" type="text" value=""></td>';
+                //         html += '<td><input  class="form-control percentage" type="number" value=""></td>';
+                //         html += "<td><select class='form-control selectpicker' name='gy_name' id=''><option value=''>请选择工艺</option>";
+                //         for (var key in res) {
+                //             html += "<option value='" + res[key].title + "'>" + res[key].title + "</option>";
+                //         }
+                //         html += "</select></td>";
+                //         // html += '<td><input  class="form-control gy_num" type="text" value=""></td>';
+                //         html += '<td><button type="button"  class="btn btn-danger  del">删除</button></td></tr>';
+                //         $('#gy').append(html);
+                //     }
+                // });
+                var html = '';
+                html += '<tr><td><input  class="form-control material" type="text" value=""></td>';
+                html += '<td><input  class="form-control percentage" type="number" value=""></td>';
+                html += '<td><input  class="form-control gy_name" type="text" value=""></td>';
+                html += '<td><input  class="form-control gy_num" type="text" value=""></td>';
+                html += '<td><button type="button"  class="btn btn-danger  del">删除</button></td></tr>';
+                $('#gy').append(html);
             });
             $(document).on('click','.del',function () {
                 $(this).parent().parent().remove();
@@ -225,7 +239,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                     if (name == '' || name== undefined) {
                         verify = -1;
                     }
-                    var formula_no = $('#c-formula_no').val();
+                    var formula_no = $('#c-no').val();
                     if (formula_no == '' || formula_no== undefined) {
                         verify = -1;
                     }
@@ -269,18 +283,18 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         var formulaTrArr=formulaTrList.eq(i);
                         var tdOne = formulaTrArr.children("td").eq(0).find("input").val();
                         var tdTwo = formulaTrArr.children("td").eq(1).find("input").val();
-                        var tdThr = formulaTrArr.children("td").eq(2).find("select").val();
-                        // var tdFou = formulaTrArr.children("td").eq(3).find("input").val();
+                        var tdThr = formulaTrArr.children("td").eq(2).find("input").val();
+                        var tdFou = formulaTrArr.children("td").eq(3).find("input").val();
                         if (tdOne == '' && tdTwo == '' && tdThr==''){
                             layer.confirm('工艺信息不能全部为空!');return false;
                         }
-                        /*if (tdFou == ''){
+                        if (tdFou == ''){
                             layer.confirm('工序号不能为空!');return false;
-                        }*/
+                        }
                         formulaData.push(tdOne);
                         formulaData.push(tdTwo);
                         formulaData.push(tdThr);
-                        // formulaData.push(tdFou);
+                        formulaData.push(tdFou);
                         data.push(formulaData);
                     }
                     if (data.length == 0){