Product.php 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use \think\Request;
  5. use \think\Db;
  6. /**
  7. * 产品管理接口
  8. */
  9. class Product extends Api
  10. {
  11. protected $noNeedLogin = ['*'];
  12. protected $noNeedRight = ['*'];
  13. /**
  14. * 首页
  15. *
  16. */
  17. public function index()
  18. {
  19. $this->success('请求成功');
  20. }
  21. /**
  22. * 获取产品资料
  23. *
  24. * @ApiMethod GET
  25. *@param string custom_code
  26. *@param string limit
  27. *@param string page
  28. */
  29. public function getProduct(){
  30. if (Request::instance()->isGet() == false){
  31. $this->error('非法请求');
  32. }
  33. $params = Request::instance()->param();
  34. $limit = $params['limit'];
  35. if (!isset($limit) == false){
  36. $limit = 15;
  37. }
  38. if (!isset($pages) == false){
  39. $pages = 0;
  40. }else{
  41. $pages = ($params['page']-1) * $limit;
  42. }
  43. if (isset($params['custom_code'])){
  44. $customCode = $params['custom_code'];
  45. $sql = "SELECT rtrim(客户编号) as 客户编号,rtrim(客户名称) as 客户名称,客户料号,rtrim(产品编号) as 产品编号,rtrim(产品名称) as 产品名称,版本号,成品规格,
  46. rtrim(计量单位) as 计量单位,rtrim(产品类别) as 产品类别,生产类别,产品备注,投产日期,状态,U8UID,rtrim(Sys_id) as Sys_id,Sys_rq,Mod_rq,UniqID
  47. FROM `产品_基本资料` WHERE `客户编号` = '{$customCode}' ORDER BY CASE WHEN `状态` IS NULL THEN 0 ELSE 1 END,
  48. `客户编号`ASC,`状态` ASC,`产品编号` DESC LIMIT {$limit} OFFSET {$pages}";
  49. }else{
  50. $sql = "SELECT rtrim(客户编号) as 客户编号,rtrim(客户名称) as 客户名称,客户料号,rtrim(产品编号) as 产品编号,rtrim(产品名称) as 产品名称,版本号,成品规格,
  51. rtrim(计量单位) as 计量单位,rtrim(产品类别) as 产品类别,生产类别,产品备注,投产日期,状态,U8UID,rtrim(Sys_id) as Sys_id,Sys_rq,Mod_rq,UniqID
  52. FROM `产品_基本资料` ORDER BY CASE WHEN `状态` IS NULL THEN 0 ELSE 1 END,
  53. `客户编号`ASC,`状态` ASC,`产品编号` DESC LIMIT {$limit} OFFSET {$pages}";
  54. }
  55. $list = Db::query($sql);
  56. foreach ($list as $key=>$value){
  57. $code = trim($value['产品编号']);
  58. $gd_sql = "SELECT `接单日期` FROM `工单_基本资料` WHERE `成品代号` = '{$code}' ORDER BY Uniqid DESC";
  59. $gdRes = Db::query($gd_sql);
  60. $list[$key]['receiveDate'] = '';
  61. if (!empty($gdRes)){
  62. $list[$key]['receiveDate'] = $gdRes[0]['接单日期'];
  63. }
  64. $gy_sql = "SELECT * FROM `产品_工艺资料` WHERE Gy0_cpdh = '{$code}'";
  65. $gyRes = Db::query($gy_sql);
  66. $list[$key]['gyData'] = '';
  67. if (empty($gyRes)){
  68. $list[$key]['gyData'] = '缺';
  69. }
  70. $yj_sql = "SELECT COUNT(*) as total FROM `产品_印件资料` WHERE `yj_cpdh` = '{$code}'";
  71. $yjRes = Db::query($yj_sql);
  72. $list[$key]['yjData'] = '无';
  73. if ($yjRes[0]['total'] > 0){
  74. $list[$key]['yjData'] = $yjRes[0]['total'];
  75. }
  76. }
  77. $this->success('请求成功',$list);
  78. }
  79. /**
  80. * 获取产品基础数据
  81. *
  82. * @ApiMethod POST
  83. *@param string product_code
  84. */
  85. public function getProductData(){
  86. if (Request::instance()->isPost() == false){
  87. $this->error('非法请求');
  88. }
  89. $params = Request::instance()->param();
  90. $code = $params['product_code'];
  91. if (!isset($code)){
  92. $this->error('参数不能为空');
  93. }
  94. //工艺资料
  95. $option['Gy0_cpdh'] = $code;
  96. $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,
  97. 人工检_正品板,人工检_次品板,人工检_废检,机检_正品板,机检_次品板,机检_废检,rtrim(Gy0_sbmc) as Gy0_sbmc,rtrim(Sys_id) as Sys_id,Sys_rq,Mod_rq';
  98. $gyRes = Db::name('产品_工艺资料')->where($option)->field($gy_field)->order('Gy0_gxh asc')->select();
  99. //印件资料
  100. $where['yj_cpdh'] = $code;
  101. $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,
  102. 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';
  103. $yjRes = Db::name('产品_印件资料')->where($where)->field($field)->select();
  104. //印版资料
  105. $filter['a.YB_Cpdh'] = $code;
  106. $yb_field = 'a.YB_方案,a.YB_Yjno,a.存货编码,a.考核印数,a.Sys_id,a.Mod_rq,b.物料名称 as 印版名称';
  107. $ybRes = Db::name('产品_印版资料')->alias('a')
  108. ->join('物料_存货编码 b','a.存货编码 = b.物料代码')
  109. ->where($filter)->field($yb_field)->select();
  110. $list = [];
  111. $list['yjData'] = $yjRes;
  112. $list['gyData'] = $gyRes;
  113. $list['ybData'] = $ybRes;
  114. $list['jsData'] = [];
  115. $this->success('请求成功',$list);
  116. }
  117. }