Browse Source

人事资料同步员工姓名中文简称

qiuenguang 1 year ago
parent
commit
68cc574380

+ 7 - 1
application/api/controller/Synchronization.php

@@ -4,6 +4,7 @@ namespace app\api\controller;
 
 use app\common\controller\Api;
 use think\Db;
+use Overtrue\Pinyin;
 
 /**
  * 中间表数据同步
@@ -309,6 +310,8 @@ class Synchronization extends Api
      */
     public function PersonnelData()
     {
+        //拼音类
+        $pinyin = new Pinyin\Pinyin();
         if ($this->request->isGet() === false){
             $this->error('请求错误');
         }
@@ -322,6 +325,9 @@ class Synchronization extends Api
         }
         $i = 0;
         foreach ($PersonnelDataList as $key=>$value){
+            //获取姓名首字母
+            $pycode = $pinyin->abbr($value['员工姓名']);
+            $nameCode = strtoupper($pycode);
             $data = [
                 '工卡编号'=>'',
                 '卡钟设定'=>'',
@@ -366,7 +372,7 @@ class Synchronization extends Api
                 '合同终止日期'=>'1900-01-01 00:00:00',
                 '合同备注'=>'',
                 '出生日期'=>$value['出生日期'],
-                'pycode'=>$value['pycode'],
+                'pycode'=>$nameCode,
                 '籍贯'=>'',
                 '民族'=>'',
                 '身份证号'=>$value['身份证号'],

+ 24 - 20
application/api/controller/WorkOrder.php

@@ -235,15 +235,10 @@ class WorkOrder extends Api
                 if ($value['Gy0_gxh']<10){
                     $value['Gy0_gxh'] = '0'.$value['Gy0_gxh'];
                 }
-                if ((int)$value['Gy0_ms'] === 0){
-                    $scrap = ceil(($value['Gy0_Rate0']+((int)($value['Gy0_计划接货数']/$value['Gy0_ls']))*$value['Gy0_Rate1'])*$value['损耗系数']);
-                }else{
-                    $scrap = ceil(($value['Gy0_Rate0']+((int)($value['Gy0_计划接货数']/$value['Gy0_ls']))*$value['Gy0_Rate1'])*$value['损耗系数']*$value['Gy0_ms']);
-                }
                 if (rtrim($value['Gy0_sbbh']) == '' || $value['Gy0_计划接货数'] == 0){
                     $number = 0;
                 }else{
-                    $number = round(($scrap/((int)($value['Gy0_计划接货数']/$value['Gy0_ls'])))*100,2).'%';
+                    $number = round(((int)$value['Gy0_计划损耗']/(int)($value['Gy0_计划接货数']))*100,2).'%';
                 }
                 if ($value['PD_WG'] !== '1900-01-01 00:00:00'){
                     $status = '已完工';
@@ -255,11 +250,11 @@ class WorkOrder extends Api
                     '印件-工序' => rtrim($value['Gy0_yjno']).'-'.rtrim($value['Gy0_gxh']),
                     '备选工序' => rtrim($value['备选工序']),
                     '工序名称' => rtrim($value['Gy0_gxmc']).'【'.rtrim($value['Add_gxmc']).'】',
-                    '计划产量' => (int)($value['Gy0_计划接货数']/$value['Gy0_ls']),
+                    '计划产量' => $value['Gy0_计划接货数'],
                     '基础损耗' => rtrim($value['Gy0_Rate0']),
                     '损耗率' => rtrim($value['Gy0_Rate1']),
                     '机台编号' => rtrim($value['Gy0_sbbh']),
-                    '报废定额' => $scrap,
+                    '报废定额' => rtrim($value['Gy0_计划损耗']),
                     '允损比例' => $number,
                     '难度系数' => isset($value['工价系数'])?rtrim($value['工价系数']):'',
                     '损耗系数' => isset($value['损耗系数'])?rtrim($value['损耗系数']):'',
@@ -348,25 +343,23 @@ class WorkOrder extends Api
         $field = 'rtrim(Gd_lx) as 重点工单,rtrim(Gd_gdbh) as 工单编号,rtrim(Gd_生产分类) as 生产类型,rtrim(Gd_khdh) as 客户代号,rtrim(Gd_客户名称) as 客户名称,
         rtrim(Gd_cpdh) as 印件代号,rtrim(Gd_cpmc) as 印件名称,rtrim(成品代号) as 产品代号,rtrim(成品名称) as 产品名称,rtrim(接单日期) as 开单日期,rtrim(订单数量) as 订单数量,rtrim(交货日期) as 交货日期,
         rtrim(投料率) as 投料率,rtrim(实际投料) as 万小张,rtrim(计量单位) as 单位,rtrim(投料大箱) as 投料大箱,rtrim(排产时库存) as 库存大箱,rtrim(警语版面) as 警语版面,
-        rtrim(销售订单号) as 销售订单号,rtrim(产品版本号) as 版本号,rtrim(客户ERP编码) as 客户ERP编码,rtrim(码源数量) as 码源数量,rtrim(进程备注) as 进程备注,rtrim(Gd_desc) as 备注,rtrim(Uniqid) as Uniqid';
+        rtrim(销售订单号) as 销售订单号,rtrim(产品版本号) as 版本号,rtrim(客户ERP编码) as 客户ERP编码,rtrim(码源数量) as 码源数量,rtrim(进程备注) as 进程备注,rtrim(Gd_desc) as 备注,rtrim(Uniqid) as Uniqid,rtrim(计划投料) as 平张投料';
         $list = \db('工单_基本资料')->where('Gd_gdbh',$workOrder)->field($field)->find();
         if (empty($list)){
             $this->error('未找到该工单信息');
         }
         $printData = \db('工单_印件资料')
             ->where('Yj_Gdbh',$workOrder)
-            ->field('rtrim(yj_yjmc) as 印件名称,rtrim(yj_Yjdh) as 印件代号,rtrim(yj_平张投料) as 平张投料,rtrim(Uniqid) as id')
+            ->field('rtrim(yj_yjmc) as 印件名称,rtrim(yj_Yjdh) as 印件代号,rtrim(Uniqid) as id')
             ->cache(true,84600)
             ->find();
         if (empty($printData)){
             $list['印件名称'] = '';
             $list['印件代号'] = '';
-            $list['平张投料'] = '';
             $list['印件ID'] = '';
         }else{
             $list['印件名称'] = $printData['印件名称'];
             $list['印件代号'] = $printData['印件代号'];
-            $list['平张投料'] = $printData['平张投料'];
             $list['印件ID'] = $printData['id'];
         }
         $this->success('成功',$list);
@@ -1776,18 +1769,13 @@ class WorkOrder extends Api
             $this->error('请求错误');
         }
         $param = $this->request->param();
-        if (isset($param['search']) === false){
+        if (empty($param['process'])){
             $this->error('参数错误');
         }
         $order = \db('dic_lzsh')
-            ->where('sys_mc','like',substr($param['search'],0,6).'%')
+            ->where('sys_mc','like',$param['process'].'%')
             ->value('rtrim(sys_bh) as 编号');
-        $list = \db('dic_lzsh')
-            ->where('sys_bh','like',$order.'%')
-            ->where('sys_bh','<>',$order)
-            ->field('rtrim(sys_bh) as 编号,rtrim(sys_mc) as 名称,rtrim(UniqId) as UniqId')
-            ->select();
-        $this->success('成功',$list);
+        $this->success('成功',$order);
     }
 
     /**
@@ -2087,6 +2075,11 @@ class WorkOrder extends Api
             $ProcessList[$key]['Gy0_ks'] = $value['Gy0_Ks'];
             $ProcessList[$key]['Gy0_ms'] = $value['Gy0_Ms'];
             $ProcessList[$key]['Gy0_oil'] = $value['Gy0_Oil'];
+            $ProcessList[$key]['Gy0_计划接货数'] = 0;
+            $ProcessList[$key]['Gy0_计划损耗'] = 0;
+            $ProcessList[$key]['无形损承担比例'] = 0;
+            $ProcessList[$key]['超节损承担比例'] = 0;
+            $ProcessList[$key]['超节损核算单价'] = 0;
             $ProcessList[$key]['Gy0_sj1'] = '1900-01-01 00:00:00';
             $ProcessList[$key]['Gy0_sj2'] = '1900-01-01 00:00:00';
             $ProcessList[$key]['UniqId'] = $ProcesslastId + $key + 1;
@@ -2103,10 +2096,15 @@ class WorkOrder extends Api
             $this->error('未找到印件资料');
         }
         $PrintLastId = \db('工单_印件资料')->order('Uniqid desc')->value('rtrim(Uniqid)');
+        $number = \db('工单_基本资料')
+            ->where('Gd_gdbh',$param['workorder'])
+            ->where('成品代号',$param['productCode'])
+            ->value('rtrim(计划投料)');
         foreach ($PrintList as $key => $value){
           $PrintList[$key]['Yj_Gdbh'] = $param['workorder'];
           $PrintList[$key]['yj_Yjno'] = $value['yj_yjno'];
           $PrintList[$key]['yj_Yjdh'] = $value['yj_yjdh'];
+          $PrintList[$key]['yj_平张投料'] = $number;
           $PrintList[$key]['Sys_id'] = $value['sys_id'];
           $PrintList[$key]['Uniqid'] = $PrintLastId + $key + 1;
           $PrintList[$key]['Sys_rq'] = date('Y-m-d H:i:s',time());
@@ -2124,6 +2122,12 @@ class WorkOrder extends Api
         if ($printRes === false){
             $this->error('插入印件资料失败');
         }
+        //计算工序计划生产数量
+        if ($number !== 0){
+            foreach ($PrintList as $value){
+                $this->PlannedProcessYield($param['workorder'],$value['yj_yjno'],0,$number);
+            }
+        }
         $this->success('成功');
     }