|
|
@@ -0,0 +1,124 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace app\api\controller;
|
|
|
+
|
|
|
+use app\common\controller\Api;
|
|
|
+use \think\Request;
|
|
|
+use \think\Db;
|
|
|
+/**
|
|
|
+ * 产品管理接口
|
|
|
+ */
|
|
|
+class Product extends Api
|
|
|
+{
|
|
|
+ protected $noNeedLogin = ['*'];
|
|
|
+ protected $noNeedRight = ['*'];
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 首页
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public function index()
|
|
|
+ {
|
|
|
+ $this->success('请求成功');
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 获取产品资料
|
|
|
+ *
|
|
|
+ * @ApiMethod GET
|
|
|
+ *@param string custom_code
|
|
|
+ *@param string limit
|
|
|
+ *@param string page
|
|
|
+ */
|
|
|
+ public function getProduct(){
|
|
|
+ if (Request::instance()->isGet() == false){
|
|
|
+ $this->error('非法请求');
|
|
|
+ }
|
|
|
+ $params = Request::instance()->param();
|
|
|
+ $limit = $params['limit'];
|
|
|
+ if (!isset($limit) == false){
|
|
|
+ $limit = 15;
|
|
|
+ }
|
|
|
+ if (!isset($pages) == false){
|
|
|
+ $pages = 0;
|
|
|
+ }else{
|
|
|
+ $pages = ($params['page']-1) * $limit;
|
|
|
+ }
|
|
|
+ if (isset($params['custom_code'])){
|
|
|
+ $customCode = $params['custom_code'];
|
|
|
+ $sql = "SELECT rtrim(客户编号) as 客户编号,rtrim(客户名称) as 客户名称,客户料号,rtrim(产品编号) as 产品编号,rtrim(产品名称) as 产品名称,版本号,成品规格,
|
|
|
+ rtrim(计量单位) as 计量单位,rtrim(产品类别) as 产品类别,生产类别,产品备注,投产日期,状态,U8UID,rtrim(Sys_id) as Sys_id,Sys_rq,Mod_rq,UniqID
|
|
|
+ FROM `产品_基本资料` WHERE `客户编号` = '{$customCode}' ORDER BY CASE WHEN `状态` IS NULL THEN 0 ELSE 1 END,
|
|
|
+ `客户编号`ASC,`状态` ASC,`产品编号` DESC LIMIT {$limit} OFFSET {$pages}";
|
|
|
+ }else{
|
|
|
+ $sql = "SELECT rtrim(客户编号) as 客户编号,rtrim(客户名称) as 客户名称,客户料号,rtrim(产品编号) as 产品编号,rtrim(产品名称) as 产品名称,版本号,成品规格,
|
|
|
+ rtrim(计量单位) as 计量单位,rtrim(产品类别) as 产品类别,生产类别,产品备注,投产日期,状态,U8UID,rtrim(Sys_id) as Sys_id,Sys_rq,Mod_rq,UniqID
|
|
|
+ FROM `产品_基本资料` ORDER BY CASE WHEN `状态` IS NULL THEN 0 ELSE 1 END,
|
|
|
+ `客户编号`ASC,`状态` ASC,`产品编号` DESC LIMIT {$limit} OFFSET {$pages}";
|
|
|
+ }
|
|
|
+ $list = Db::query($sql);
|
|
|
+ foreach ($list as $key=>$value){
|
|
|
+ $code = trim($value['产品编号']);
|
|
|
+ $gd_sql = "SELECT `接单日期` FROM `工单_基本资料` WHERE `成品代号` = '{$code}' ORDER BY Uniqid DESC";
|
|
|
+ $gdRes = Db::query($gd_sql);
|
|
|
+ $list[$key]['receiveDate'] = '';
|
|
|
+ if (!empty($gdRes)){
|
|
|
+ $list[$key]['receiveDate'] = $gdRes[0]['接单日期'];
|
|
|
+ }
|
|
|
+ $gy_sql = "SELECT * FROM `产品_工艺资料` WHERE Gy0_cpdh = '{$code}'";
|
|
|
+ $gyRes = Db::query($gy_sql);
|
|
|
+ $list[$key]['gyData'] = '';
|
|
|
+ if (empty($gyRes)){
|
|
|
+ $list[$key]['gyData'] = '缺';
|
|
|
+ }
|
|
|
+ $yj_sql = "SELECT COUNT(*) as total FROM `产品_印件资料` WHERE `yj_cpdh` = '{$code}'";
|
|
|
+ $yjRes = Db::query($yj_sql);
|
|
|
+ $list[$key]['yjData'] = '无';
|
|
|
+ if ($yjRes[0]['total'] > 0){
|
|
|
+ $list[$key]['yjData'] = $yjRes[0]['total'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $this->success('请求成功',$list);
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 获取产品基础数据
|
|
|
+ *
|
|
|
+ * @ApiMethod POST
|
|
|
+ *@param string product_code
|
|
|
+ */
|
|
|
+ public function getProductData(){
|
|
|
+ if (Request::instance()->isPost() == false){
|
|
|
+ $this->error('非法请求');
|
|
|
+ }
|
|
|
+ $params = Request::instance()->param();
|
|
|
+ $code = $params['product_code'];
|
|
|
+ if (!isset($code)){
|
|
|
+ $this->error('参数不能为空');
|
|
|
+ }
|
|
|
+ //工艺资料
|
|
|
+ $option['Gy0_cpdh'] = $code;
|
|
|
+ $gy_field = 'rtrim(Gy0_方案) as 方案,Gy0_yjno,Gy0_gxh,rtrim(gy0_gxmc) as gy0_gxmc,rtrim(Add_gxmc) as add_gxmc,Gy0_Ks,Gy0_ls,rtrim(工序备注) as 备注,工价系数,损耗系数,Gy0_Ms,
|
|
|
+ 人工检_正品板,人工检_次品板,人工检_废检,机检_正品板,机检_次品板,机检_废检,rtrim(Gy0_sbmc) as Gy0_sbmc,rtrim(Sys_id) as Sys_id,Sys_rq,Mod_rq';
|
|
|
+ $gyRes = Db::name('产品_工艺资料')->where($option)->field($gy_field)->order('Gy0_gxh asc')->select();
|
|
|
+ //印件资料
|
|
|
+ $where['yj_cpdh'] = $code;
|
|
|
+ $field = 'yj_yjno,rtrim(yj_yjdh) as yj_yjdh,yj_yjmc,rtrim(yj_zzdh) as yj_zzdh,rtrim(yj_zzmc) as yj_zzmc,rtrim(yj_tlgg) as yj_tlgg,
|
|
|
+ rtrim(yj_klgg) as yj_klgg,yj_ks,yj_ls,rtrim(yj_desc) as yj_desc,rtrim(sys_id) as sys_id,sys_rq,mod_rq';
|
|
|
+ $yjRes = Db::name('产品_印件资料')->where($where)->field($field)->select();
|
|
|
+ //印版资料
|
|
|
+ $filter['a.YB_Cpdh'] = $code;
|
|
|
+ $yb_field = 'a.YB_方案,a.YB_Yjno,a.存货编码,a.考核印数,a.Sys_id,a.Mod_rq,b.物料名称 as 印版名称';
|
|
|
+ $ybRes = Db::name('产品_印版资料')->alias('a')
|
|
|
+ ->join('物料_存货编码 b','a.存货编码 = b.物料代码')
|
|
|
+ ->where($filter)->field($yb_field)->select();
|
|
|
+ $list = [];
|
|
|
+ $list['yjData'] = $yjRes;
|
|
|
+ $list['gyData'] = $gyRes;
|
|
|
+ $list['ybData'] = $ybRes;
|
|
|
+ $list['jsData'] = [];
|
|
|
+ $this->success('请求成功',$list);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+}
|