request->isGet() === false){ $this->error('请求错误'); } //客户列表 $ClientList = Db::table('erp_客户供应商')->where('类型','客户')->column('简称','编号'); //获取总计划中数量和总生产中数量 $productingAll = Db::table('工单_基本资料')->where('gd_statu','2-生产中')->count(); $progressAll = Db::table('工单_基本资料')->where('gd_statu','3-计划中')->count(); $data = [ 'productingAll' => $productingAll, 'progressAll' => $progressAll ]; //按客户编号查询生产中,计划中数量 foreach ($ClientList as $key=>$value){ $order = Db::table('工单_基本资料')->where('Gd_客户代号',$key)->count(); if ($order !== 0){ $productIng = Db::table('工单_基本资料')->where('Gd_客户代号',$key)->where('gd_statu','2-生产中')->count(); $proGress = Db::table('工单_基本资料')->where('Gd_客户代号',$key)->where('gd_statu','3-计划中')->count(); $Detail = [ 'Gd_khdh' => rtrim($key), 'Gd_khmc' => rtrim($value), 'producting' => rtrim($productIng), 'progress' => rtrim($proGress), ]; array_push($data,$Detail); } } $this->success('成功',$data); } /** * 工单基本资料列表 * @ApiMethod (GET) * @param string $limit 查询长度 * @param string $Gd_khdh 客户代号 * @param string $startTime 接单日期开始时间 * @param string $endTime 接单日期结束时间 * @return \think\response\Json * @throws \think\exception\DbException */ public function WorkList() { if ($this->request->isGet() === false){ $this->error('请求错误'); } $limit = input('limit'); $clientNumber = input('Gd_khdh'); $startTime = input('start'); $endTime = input('end'); $where = [ 'Gd_khdh' => $clientNumber ]; if (isset($startTime) && isset($endTime)){ $where['接单日期'] = ['between',[$startTime,$endTime]]; } $list = Db::table('工单_基本资料') ->where($where) ->order('接单日期 desc') ->paginate($limit); //工单基本资料数据整理 $data = []; foreach ($list->items() as $key=>$value){ $data[$key] = [ '工单编号' => rtrim($value['Gd_gdbh']), '生产分类' => rtrim($value['Gd_生产分类']), '销售订单号' => rtrim($value['销售订单号']), '产品代号' => rtrim($value['Gd_cpdh']), '产品名称' => rtrim($value['Gd_cpmc']), '订单数量' => rtrim($value['订单数量']), '单位' => rtrim($value['计量单位']), '折合大箱' => rtrim((int)$value['投料大箱']), '投料率' => rtrim($value['投料率']), '平均合格率' => '', '开单日期' => date('Y-m-d',strtotime(rtrim($value['接单日期']))), '交货日期' => date('Y-m-d',strtotime(rtrim($value['交货日期']))), '工单类型' => rtrim($value['Gd_lx']), '工单状态' => rtrim($value['gd_statu']), '当前生产工序' => '', '产量提交时间' => '', '建档用户' => rtrim($value['Sys_id']), '建档时间' => rtrim($value['Sys_rq']), '更新时间' => rtrim($value['Mod_rq']), ]; } $this->success('成功',$data); } /** * 印件资料 * @ApiMethod (GET) * @param string $Gd_gdbh 工单编号 * @return \think\response\Json * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */ public function Printed() { if ($this->request->isGet() === false){ $this->error('请求错误'); } $Gd_gdbh = input('Gd_gdbh'); if (empty($Gd_gdbh)){ $this->error('参数错误'); } $list = Db::table('工单_印件资料')->where('Yj_Gdbh',$Gd_gdbh)->select(); $data = []; if ($list){ foreach ($list as $key=>$value){ $data[$key] = [ '印件号' => rtrim($value['yj_Yjno']), '印件代号' => rtrim($value['yj_Yjdh']), '印件名称' => rtrim($value['yj_yjmc']), '纸张代号' => rtrim($value['yj_zzdh']), '纸张名称' => rtrim($value['yj_zzmc']), '投料规格' => rtrim($value['yj_tlgg']), '平张投料' => rtrim($value['yj_平张投料']), '开料规格' => rtrim($value['yj_klgg']), '开数*联数' => rtrim($value['yj_ks']).'*'.rtrim($value['yj_ls']), '建档用户' => rtrim($value['Sys_id']), '建档时间' => rtrim($value['Sys_rq']), '更新时间' => rtrim($value['Mod_rq']), ]; } } $this->success('成功',$data); } /** * 工艺资料 * @ApiMethod (GET) * @param string $Gd_gdbh 工单编号 * @return \think\response\Json * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */ public function Craft() { if ($this->request->isGet() === false){ $this->error('请求错误'); } $Gd_gdbh = input('Gd_gdbh'); if (empty($Gd_gdbh)){ $this->error('参数错误'); } $list = Db::table('工单_工艺资料') ->where('Gy0_gdbh',$Gd_gdbh) ->select(); $Gd_cpdh = Db::table('工单_基本资料')->where('Gd_gdbh',$Gd_gdbh)->field('Gd_cpdh')->find(); $data = []; if ($list){ foreach ($list as $key=>$value){ if ($value['Gy0_yjno']<10){ $value['Gy0_yjno'] = '0'.$value['Gy0_yjno']; } if ($value['Gy0_gxh']<10){ $value['Gy0_gxh'] = '0'.$value['Gy0_gxh']; } $where = [ 'Gy0_cpdh' => $Gd_cpdh['Gd_cpdh'], 'Gy0_yjno' => $value['Gy0_yjno'], 'Gy0_gxh' => $value['Gy0_gxh'], ]; $product = Db::table('产品_工艺资料')->where($where)->field('工价系数,损耗系数')->find(); $data[$key] = [ '重点工序' => rtrim($value['重点工序']), '印件-工序' => rtrim($value['Gy0_yjno']).'-'.rtrim($value['Gy0_gxh']), '备选工序' => '', '工序名称' => rtrim($value['Gy0_gxmc']).'【'.rtrim($value['Add_gxmc']).'】', '计划产量' => '', '基础损耗' => rtrim($value['Gy0_Rate0']), '损耗率' => rtrim($value['Gy0_Rate1']), '报废定额' => '', '允损比例' => '', '难度系数' => rtrim($product['工价系数']), '损耗系数' => rtrim($product['损耗系数']), '人工检_次品板' => (int)$value['人工检_次品板']=0?'':$value['人工检_次品板'], '人工检_废检' => (int)$value['人工检_废检']=0?'':$value['人工检_废检'], '机检_正品板' => (int)$value['机检_正品板']=0?'':$value['机检_正品板'], '机检_次品板' => (int)$value['机检_次品板']=0?'':$value['机检_次品板'], '机检_废检' => (int)$value['机检_废检']=0?'':$value['机检_废检'], '开数*联数' => rtrim($value['Gy0_ks']).'*'.rtrim($value['Gy0_ls']), '备注' => rtrim($value['工序备注']), '印刷方式' => rtrim($value['印刷方式']), '版距' => rtrim($value['版距']), '建档用户' => rtrim($value['Sys_id']), '建档日期' => rtrim($value['Sys_rq']), '更新时间' => rtrim($value['Mod_rq']), ]; } } $this->success('成功',$data); } /** * BOM资料 * @ApiMethod (GET) * @param string $Gd_gdbh 工单编号 * @return \think\response\Json * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */ public function Bom() { if ($this->request->isGet() === false){ $this->error('请求错误'); } $Gd_gdbh = input('Gd_gdbh'); if (empty($Gd_gdbh)){ $this->error('参数错误'); } $field = 'rtrim(BOM_方案) as 方案,rtrim(BOM_物料编码) as 物料编号,rtrim(BOM_物料名称) as 物料名称,BOM_投料单位, BOM_投入数,BOM_产出数,BOM_产出单位,rtrim(BOM_计划用量) as 计划用量,rtrim(Sys_ID) as 建档用户,rtrim(Sys_rq) as 建档时间,rtrim(Mod_rq) as 更新时间'; $list = Db::table('工单_bom资料') ->where('BOM_工单编号',$Gd_gdbh) ->field($field) ->select(); foreach ($list as $key=>$value){ $list[$key]['消耗定量'] = rtrim($value['BOM_投入数']).rtrim($value['BOM_投料单位']).'/'.rtrim($value['BOM_产出数']).rtrim($value['BOM_产出单位']); unset($list[$key]['BOM_投料单位'],$list[$key]['BOM_投入数'],$list[$key]['BOM_产出数'],$list[$key]['BOM_产出单位']); $list[$key]['计划用量'] = rtrim((float)$value['计划用量']); } $this->success('成功',$list); } }