LargeWasteRewardPunish.php 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. /**
  5. * 工序大废品惩奖记录接口
  6. */
  7. class LargeWasteRewardPunish extends Api
  8. {
  9. protected $noNeedLogin = ['*'];
  10. protected $noNeedRight = ['*'];
  11. /**
  12. * 首页
  13. *
  14. */
  15. public function index()
  16. {
  17. $this->success('请求成功');
  18. }
  19. /**
  20. * 获取工序大废品惩奖侧边栏
  21. * @ApiMethod (GET)
  22. */
  23. public function getTab()
  24. {
  25. //get请求
  26. if(!$this->request->isGet()){
  27. $this->error('请求方式错误');
  28. }
  29. $rows = db()->table('db_大废品')
  30. ->field('LEFT(sys_rq, 10) as date, COUNT(*) as counts')
  31. ->group('date')
  32. ->order('UniqId desc')
  33. ->limit(40)
  34. ->select();
  35. foreach($rows as $key=>$value){
  36. $rows[$key]['date'] = str_replace('-', '.', $rows[$key]['date']);
  37. }
  38. $this->success('成功',$rows);
  39. }
  40. /**
  41. * 获取工序大废品惩奖侧边栏根据工单
  42. * @ApiMethod (GET)
  43. */
  44. public function getTabByGd()
  45. {
  46. //get请求
  47. if(!$this->request->isGet()){
  48. $this->error('请求方式错误');
  49. }
  50. $rows = db()->table('db_大废品')
  51. ->field('sczl_gdbh,rtrim(g.成品名称) as 成品名称')
  52. ->join('工单_基本资料 g','g.Gd_gdbh=db_大废品.sczl_gdbh','LEFT')
  53. ->group('sczl_gdbh')
  54. ->whereTime('db_大废品.sys_rq', '>=', strtotime('-60 days'))
  55. ->order('sczl_gdbh desc')
  56. ->select();
  57. foreach($rows as $key=>$value){
  58. $data[$key]['label']=$value['sczl_gdbh'].' 【'.$value['成品名称'].'】';
  59. $data[$key]['sczl_gdbh']=$value['sczl_gdbh'];
  60. }
  61. $this->success('成功',$data);
  62. }
  63. /**
  64. * 获取工序大废品惩奖列表
  65. * @ApiMethod (GET)
  66. * @param string $date 时间
  67. */
  68. public function getList()
  69. {
  70. //get请求
  71. if(!$this->request->isGet()){
  72. $this->error('请求方式错误');
  73. }
  74. $req = $this->request->param();
  75. $page = 1;
  76. $limit = 15;
  77. if (isset($req['page']) && !empty($req['page'])) $page = $req['page'];
  78. if (isset($req['limit']) && !empty($req['limit'])) $limit = $req['limit'];
  79. $where = [];
  80. if (isset($req['date']) && !empty($req['date'])){
  81. $where['sys_rq'] = ['LIKE',$req['date'].'%'];
  82. }else{
  83. $this->error('参数错误');
  84. }
  85. $res = db()->table('db_大废品')
  86. ->field('sczl_gdbh, LEFT(sczl_rq, 10) as sczl_rq, rtrim(sczl_numDesc) as sczl_numDesc, sczl_ls, sczl_yjno,
  87. rtrim(责任部门) as 责任部门, CAST(sczl_cl AS SIGNED) as sczl_cl,
  88. rtrim(sczl_fplxA) as sczl_fplxA, sczl_fplxB, Jl_bzdh, JL_bh1,
  89. sczl_bzdh, sczl_bh1, sczl_bh2, rtrim(sys_id) as sys_id, sys_rq, UniqId')
  90. ->where('sczl_gdbh',$req['date'])
  91. ->order('UniqId desc')
  92. ->page($page,$limit)
  93. ->select();
  94. if($res){
  95. $rows=$res;
  96. $total = db()->table('db_大废品')->where('sczl_gdbh',$req['date'])->count();;
  97. }else{
  98. $rows = db()->table('db_大废品')
  99. ->field('sczl_gdbh, LEFT(sczl_rq, 10) as sczl_rq, rtrim(sczl_numDesc) as sczl_numDesc, sczl_ls, sczl_yjno,
  100. rtrim(责任部门) as 责任部门, CAST(sczl_cl AS SIGNED) as sczl_cl,
  101. rtrim(sczl_fplxA) as sczl_fplxA, sczl_fplxB, Jl_bzdh, JL_bh1,
  102. sczl_bzdh, sczl_bh1, sczl_bh2, rtrim(sys_id) as sys_id, sys_rq, UniqId')
  103. ->where($where)
  104. ->order('UniqId desc')
  105. ->page($page,$limit)
  106. ->select();
  107. $total = db()->table('db_大废品')->where($where)->count();
  108. }
  109. $gd = db()->table('工单_印件资料')->column('Yj_Gdbh, yj_yjmc');
  110. $rs = db()->table('人事_基本资料')->column('员工编号, 员工姓名');
  111. foreach ($rows as $key=>$value) {
  112. $rows[$key]['yj_yjmc'] = array_key_exists($value['sczl_gdbh'],$gd) ? sprintf("%02d", $value['sczl_yjno']).'-'.trim($gd[$value['sczl_gdbh']]) : '';
  113. $rows[$key]['JL_bh1'] = array_key_exists($value['JL_bh1'],$rs) ? trim($rs[$value['JL_bh1']]) : '';
  114. $rows[$key]['sczl_bh1'] = array_key_exists($value['sczl_bh1'],$rs) ? trim($rs[$value['sczl_bh1']]) : '';
  115. $rows[$key]['sczl_bh2'] = array_key_exists($value['sczl_bh2'],$rs) ? trim($rs[$value['sczl_bh2']]) : '';
  116. $rows[$key]['sczl_fplxB'] = $value['sczl_fplxB'] == 1 ? '制程废' : '';
  117. unset($rows[$key]['sczl_yjno']);
  118. }
  119. $data = [
  120. 'total' => $total,
  121. 'rows' => $rows,
  122. ];
  123. $this->success('成功',$data);
  124. }
  125. /**
  126. * 获取工序大废品惩奖信息
  127. * @ApiMethod (GET)
  128. * @param string $UniqId UniqId
  129. */
  130. public function getInfo()
  131. {
  132. //get请求
  133. if(!$this->request->isGet()){
  134. $this->error('请求方式错误');
  135. }
  136. $req = $this->request->param();
  137. if (isset($req['UniqId']) && !empty($req['UniqId'])){
  138. $UniqId = $req['UniqId'];
  139. }else{
  140. $this->error('参数错误');
  141. }
  142. $rows = db()->table('db_大废品')->alias('d')
  143. ->field('sczl_gdbh,rtrim(g.Gd_cpmc) as Gd_cpmc,sczl_yjno,rtrim(yj.yj_yjmc) as yj_yjmc,
  144. rtrim(sczl_gxmc) as sczl_gxmc,sczl_gxh,rtrim(sczl_numDesc) as sczl_numDesc,LEFT(sczl_rq, 10)
  145. as sczl_rq,sczl_cl,sczl_ls,rtrim(sczl_fplxA) as sczl_fplxA,sczl_fplxB,rtrim(责任部门) as 责任部门,
  146. rtrim(Jl_bzdh) as Jl_bzdh,jl_jtbh,JL_bh1,JL_bh2,JL_bh3,JL_bh4,JL_bh5,JL_bh6,JL_bh7,JL_bh8,JL_bh9,
  147. rtrim(jl1.员工姓名) as jlname1,rtrim(jl2.员工姓名) as jlname2,rtrim(jl3.员工姓名) as jlname3
  148. ,rtrim(jl4.员工姓名) as jlname4,rtrim(jl5.员工姓名) as jlname5,rtrim(jl6.员工姓名) as jlname6
  149. ,rtrim(jl7.员工姓名) as jlname7,rtrim(jl8.员工姓名) as jlname8,rtrim(jl9.员工姓名) as jlname9
  150. ,JL_Je1,JL_Je2,JL_Je3,JL_Je4,JL_Je5,JL_Je6,JL_Je7,JL_Je8,JL_Je9,rtrim(sczl_bzdh) as sczl_bzdh,
  151. sczl_jtbh,sczl_bh1,sczl_bh2,sczl_bh3,sczl_bh4,sczl_bh5,sczl_bh6,sczl_bh7,sczl_bh8,sczl_bh9,
  152. rtrim(Jl_bzdh) as Jl_bzdh,jl_jtbh,JL_bh1,JL_bh2,JL_bh3,JL_bh4,JL_bh5,JL_bh6,JL_bh7,JL_bh8,JL_bh9,
  153. rtrim(zr1.员工姓名) as zrname1,rtrim(zr2.员工姓名) as zrname2,rtrim(zr3.员工姓名) as zrname3
  154. ,rtrim(zr4.员工姓名) as zrname4,rtrim(zr5.员工姓名) as zrname5,rtrim(zr6.员工姓名) as zrname6
  155. ,rtrim(zr7.员工姓名) as zrname7,rtrim(zr8.员工姓名) as zrname8,rtrim(zr9.员工姓名) as zrname9
  156. ,sczl_je1,sczl_je2,sczl_je3,sczl_je4,sczl_je5,sczl_je6,sczl_je7,sczl_je8,sczl_je9')
  157. ->join('工单_基本资料 g','g.Gd_gdbh=db_大废品.sczl_gdbh')
  158. ->join('工单_印件资料 yj','yj.Yj_Gdbh=db_大废品.sczl_gdbh','LEFT')
  159. ->join('人事_基本资料 jl1','jl1.员工编号=db_大废品.JL_bh1','LEFT')
  160. ->join('人事_基本资料 jl2','jl2.员工编号=db_大废品.JL_bh2','LEFT')
  161. ->join('人事_基本资料 jl3','jl3.员工编号=db_大废品.JL_bh3','LEFT')
  162. ->join('人事_基本资料 jl4','jl4.员工编号=db_大废品.JL_bh4','LEFT')
  163. ->join('人事_基本资料 jl5','jl5.员工编号=db_大废品.JL_bh5','LEFT')
  164. ->join('人事_基本资料 jl6','jl6.员工编号=db_大废品.JL_bh6','LEFT')
  165. ->join('人事_基本资料 jl7','jl7.员工编号=db_大废品.JL_bh7','LEFT')
  166. ->join('人事_基本资料 jl8','jl8.员工编号=db_大废品.JL_bh8','LEFT')
  167. ->join('人事_基本资料 jl9','jl9.员工编号=db_大废品.JL_bh9','LEFT')
  168. ->join('人事_基本资料 zr1','zr1.员工编号=db_大废品.sczl_bh1','LEFT')
  169. ->join('人事_基本资料 zr2','zr2.员工编号=db_大废品.sczl_bh2','LEFT')
  170. ->join('人事_基本资料 zr3','zr3.员工编号=db_大废品.sczl_bh3','LEFT')
  171. ->join('人事_基本资料 zr4','zr4.员工编号=db_大废品.sczl_bh4','LEFT')
  172. ->join('人事_基本资料 zr5','zr5.员工编号=db_大废品.sczl_bh5','LEFT')
  173. ->join('人事_基本资料 zr6','zr6.员工编号=db_大废品.sczl_bh6','LEFT')
  174. ->join('人事_基本资料 zr7','zr7.员工编号=db_大废品.sczl_bh7','LEFT')
  175. ->join('人事_基本资料 zr8','zr8.员工编号=db_大废品.sczl_bh8','LEFT')
  176. ->join('人事_基本资料 zr9','zr9.员工编号=db_大废品.sczl_bh9','LEFT')
  177. ->where('d.UniqId',$UniqId)->limit(1)->select();
  178. $this->success('成功',$rows);
  179. }
  180. }