瀏覽代碼

新增报工等接口

huangsanjia 1 年之前
父節點
當前提交
e4da74e4d6
共有 1 個文件被更改,包括 208 次插入0 次删除
  1. 208 0
      application/api/controller/ReportingWork.php

+ 208 - 0
application/api/controller/ReportingWork.php

@@ -191,6 +191,214 @@ class ReportingWork extends Api
      * @params
     */
     public function submitPatrolRecord(){
+        if (Request::instance()->isPost() == false){
+            $this->error('非法请求');
+        }
+        $params = Request::instance()->post();
+        if (empty($params['machine']) || empty($params['type']) || empty($params['order'])) {
+            $this->error('参数错误');
+        }
+        if (empty($params['yjno']) || empty($params['process']) || empty($params['no'])) {
+            $this->error('参数错误');
+        }
+        $data = [];
+        $data['类别'] = $params['type'];
+        $data['工单编号'] = $params['order'];
+        $data['印件号'] = $params['yjno'];
+        $data['工序名称'] = '';
+        $data['班组编号'] = '';
+        $data['开工时间'] = '';
+        $data['流程单号'] = $params['process'];
+        $data['设备编号'] = $params['machine'].'#';
+        $data['检验项目'] = '['.$params['no'].'/'.$params['name'].']';
+        $data['检验备注'] = $params['remark'];
+        $data['提交时间'] = date('Y-m-d H:i:s');
+        $produce = Db::name('设备_产量采集')->where('设备编号',$params['machine'].'#')->where('工单编号',$params['order'])->order('UniqId desc')->find();
+        if (!empty($produce)){
+            $data['工序名称'] = $produce['工序名称'];
+            $data['班组编号'] = rtrim($produce['班组编号']);
+            $data['开工时间'] = $produce['开工时间'];
+        }
+        $res = Db::name('制程检验_记录')->field('UniqId')->order('UniqId desc')->find();
+        if ($res['UniqId'] < 100000000){
+            $data['UniqId'] = 100000000;
+        }else{
+            $data['UniqId'] = $res['UniqId'] + 1;
+        }
+        $sql = Db::name('制程检验_记录')->fetchSql(true)->insert($data);
+        $result = Db::query($sql);
+        if ($result === false){
+            $this->success('提交失败');
+        }else{
+            $this->error('提交成功');
+        }
+    }
+    /**
+     * 获取报工单其他信息
+     * @ApiMethod Get
+     * @params string machine
+    */
+    public function getMachineReportInfo(){
+        if (Request::instance()->isGet() == false) {
+            $this->error('非法请求');
+        }
+        $params = Request::instance()->param();
+        if (!isset($params['machine']) || empty($params['machine'])) {
+            $this->error('参数错误');
+        }
+        $machine = $params['machine'].'#';
+        $data = [];
+        $produce = Db::name('设备_产量采集')->where('设备编号',$machine)->order('UniqId desc')->find();
+        $data['order_info']['order'] = $produce['工单编号'];
+        $data['order_info']['yjno'] = $produce['印件号'];
+        $data['order_info']['gxh'] = $produce['工序号'];
+        $data['order_info']['gxmc'] = $produce['工序名称'];
+        $product = Db::name('工单_基本资料')->alias('a')
+            ->join('工单_工艺资料 b','a.Gd_Gdbh = b.Gy0_gdbh','left')
+            ->join('工单_印件资料 c','a.Gd_Gdbh = c.Yj_gdbh','left')
+            ->field('a.成品名称,b.Gy0_gxmc,c.yj_yjmc')
+            ->where('a.Gd_Gdbh',$produce['工单编号'])
+            ->where('b.Gy0_yjno',$produce['印件号'])
+            ->where('b.Gy0_gxh',$produce['工序号'])
+            ->where('c.Yj_yjno',$produce['印件号'])
+            ->select();
+        $data['order_info']['product_name'] = '';
+        $data['order_info']['yj_name'] = '';
+        $data['order_info']['gy_name'] = '';
+        if (!empty($product)){
+            $data['order_info']['product_name'] = rtrim($product[0]['成品名称']);
+            $data['order_info']['yj_name'] = rtrim($product[0]['yj_yjmc']);
+            $data['order_info']['gy_name'] = rtrim($product[0]['Gy0_gxmc']);
+        }
+        $class = Db::name('设备_班组资料')->where('UniqId',$produce['班组ID'])->find();
+        for ($i=1;$i<11;$i++){
+            $name = '';
+            if (!empty($class['sczl_bh'.$i])){
+                $name = Db::name('人事_基本资料')->where('员工编号',$class['sczl_bh'.$i])->value('员工姓名');
+            }
+            $class['sczl_name'.$i] = rtrim($name);
+        }
+        $data['class'] = $class;
+        $where['st_gdbh'] = $produce['工单编号'];
+        $machine = substr($machine,0,2);
+        if ($machine == 'JY' || $machine == 'QZ'){
+            $where['st_dpt'] = '胶印车间';
+        }elseif ($machine == 'WY' || $machine == 'DW'){
+            $where['st_dpt'] = '凹印车间';
+        }elseif ($machine == 'SY' || $machine == 'PM'){
+            $where['st_dpt'] = '丝印车间';
+        }elseif ($machine == 'MQ' || $machine == 'TJ'){
+            $where['st_dpt'] = '烫模车间';
+        }elseif ($machine == 'JP'){
+            $where['st_dpt'] = '检验车间';
+        }
+        $sql = "SELECT RTRIM(a.供方批次) as batch, rtrim(采购单号) as 采购单号,st_wlbh, MIN(a.Uniqid) AS Uniqid,rtrim(b.`BOM_物料名称`) as `BOM_物料名称`
+                FROM `物料_收发记录` a
+                LEFT JOIN `工单_bom资料` b ON a.st_gdbh = b.`BOM_工单编号` AND a.st_wlbh = b.`BOM_物料编码`
+                WHERE a.st_gdbh = '{$where['st_gdbh']}' AND a.st_dpt = '{$where['st_dpt']}'
+                GROUP BY batch ORDER BY a.st_wlbh";
+        $material = Db::query($sql);
+        $data['bom'] = $material;
+        $this->success('请求成功',$data);
+    }
+    /**
+     * 日产量上报
+     * @ApiMethod POST
+     * @params array data
+    */
+    public function submitDailyProduction(){
+        if (Request::instance()->isPost() == false){
+            $this->error('非法请求');
+        }
+        $params = Request::instance()->post();
+        $machine = $params['sczl_jtbh'].'#';
+        $batchData = []; //批次追踪数据
+        $batch = $params['bom'];
+        $data = $params;//产量数据
+        $data['sczl_type'] = $params['sczl_gxmc'];
+        $data['sczl_前工序废'] = $params['last_fp'];
+        $data['sczl_来料少数'] = $params['less_sl'];
+        $data['sczl_装版总工时'] = $params['zb_time'];
+        $data['sczl_打样总工时'] = $params['dy_time'];
+        $data['sczl_设备运行工时'] = $params['run_time'];
+        $data['sczl_jtbh'] = $machine;
+        $data['码包'] = $params['code'];
+        $data['主电表'] = $params['main_meter'];
+        $data['辅电表'] = $params['auxiliary_meter'];
+        unset($data['last_fp']);
+        unset($data['less_sl']);
+        unset($data['zb_time']);
+        unset($data['dy_time']);
+        unset($data['run_time']);
+        unset($data['code']);
+        unset($data['main_meter']);
+        unset($data['auxiliary_meter']);
+        unset($data['bom']);
+        $start_time = Db::name('设备_产量采集')->where('设备编号',$machine)->order('UniqId desc')->find();
+        $data['开工时间'] = $start_time['开工时间'];
+        $sys_id = Db::name('设备_基本资料')->where('设备编号',$machine)->value('sys_sbID');
+        $data['sys_id'] = '['.$sys_id.'/'.$machine.']';
+        $UniqId = Db::name('设备_产量计酬')->order('UniqId desc')->value('UniqId');
+        if ($UniqId < 10000000){
+            $data['UniqId'] = 10000000;
+        }else{
+            $data['UniqId'] = $UniqId + 1;
+        }
+        $data['sczl_Pgcl'] = 0;
+        $data['sczl_oil'] = 0;
+        $data['sczl_计产系数'] = 0;
+        $data['sczl_工价系数'] = 0;
+        $data['sczl_装版工时'] = 0;
+        $data['sczl_保养工时'] = 0;
+        $data['sczl_打样工时'] = 0;
+        $data['sczl_异常停机工时'] = 0;
+        $data['sczl_异常工时1'] = 0;
+        $data['sczl_异常类型1'] = '';
+        $data['sczl_废品率系数'] = '';
+        $data['sczl_desc'] = '';
+        $data['sczl_wgsj'] = '1900-01-01 00:00:00';
+        $data['码开始行'] = 0;
+        $data['码结束行'] = 0;
+        $data['mod_rq'] = '1900-01-01 00:00:00';
+        $data['sys_rq'] = date('Y-m-d H:i:s');
+
+        $batchData = explode(',',$batch);
+        $newData = [];
+        $batchUniqId = Db::name('物料_批次跟踪')->order('UniqId desc')->value('UniqId');
+        if ($batchUniqId < 10000000){
+            $batchUniqId = 10000000;
+        }
+        foreach ($batchData as $key=>$item){
+            $batchUniqId++;
+            $val = explode('-',$item);
+            $newData[$key]['wlbh'] = $val[0];
+            $newData[$key]['wlBatch'] = $val[1];
+            $newData[$key]['sczl_gdbh'] = $data['sczl_gdbh'];
+            $newData[$key]['sczl_yjno'] = $data['sczl_yjno'];
+            $newData[$key]['sczl_gxh'] = $data['sczl_gxh'];
+            $newData[$key]['sczl_gxmc'] = $data['sczl_gxmc'];
+            $newData[$key]['sczl_num'] = $data['sczl_num'];
+            $newData[$key]['sys_id'] = $data['sys_id'];
+            $newData[$key]['sys_rq'] = $data['sys_rq'];
+            $newData[$key]['UniqID'] = $batchUniqId;
+        }
+        $res = true;
+        $batch_res = true;
+        Db::startTrans();
+        try {
+            $sql = Db::name('设备_产量计酬')->fetchSql(true)->insert($data);
+            $res = Db::query($sql);
+            $batch_sql = Db::name('物料_批次跟踪')->fetchSql(true)->insertAll($newData);
+            $batch_res = Db::query($batch_sql);
+            Db::commit();
+        }catch (\Exception $e){
+            Db::rollback();
+        }
+        if ($res === false || $batch_res === false){
+            $this->error('报工失败');
+        }else{
+            $this->success('报工成功');
+        }
 
     }
 }