PieceWork.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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 PieceWork 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 POST
  25. * @params string code
  26. */
  27. public function getOnePieceWork(){
  28. if (Request::instance()->isPost() == false){
  29. $this->error('非法请求');
  30. }
  31. $params = Request::instance()->param();
  32. $code = $params['code'];
  33. if (!isset($code)){
  34. $this->error('参数不能为空');
  35. }
  36. $where['sys_bh'] = $code;
  37. $field = 'rtrim(sys_bh) as sys_bh,rtrim(sys_mc) as sys_mc,rtrim(适用工序) as 适用工序,rtrim(适用机型) as 适用机型,
  38. 日定额,千件工价,补产标准,机长比例,副机比例,调墨比例,二手比例,飞达比例,辅助比例,放卷比例,分切1比例,分切2比例,检验比例';
  39. $data = Db::name('dic_lzde')->where($where)->field($field)->select();
  40. $this->success('请求成功',$data);
  41. }
  42. /**
  43. * 获取计件定额列表
  44. *
  45. * @ApiMethod GET
  46. *
  47. */
  48. public function getPieceWork(){
  49. if (Request::instance()->isGet() == false){
  50. $this->error('非法请求');
  51. }
  52. $field = 'Key_,Parent,rtrim(sys_bh) as sys_bh, rtrim(sys_mc) as sys_mc,rtrim(适用工序) as 适用工序,rtrim(适用机型) as 适用机型';
  53. $list = Db::name('dic_lzde')->field($field)->order('sys_bh')->select();
  54. $data = [];
  55. $machineData = [];
  56. $handData = [];
  57. foreach ($list as $key=>$value){
  58. if (substr($value['sys_bh'],0,3) == '020' && $value['Parent'] == '1_'){//机器作业计件定额
  59. $machineData[$key] = $value;
  60. }
  61. if (substr($value['sys_bh'],0,3) == '030' && $value['Parent'] == '196_'){//人工作业计件定额
  62. $handData[$key] = $value;
  63. }
  64. }
  65. //对机器作业计件定额的数组进行处理
  66. $machineData = array_values($machineData);
  67. foreach ($machineData as $k=>$v){
  68. $child = Db::name('dic_lzde')->where('Parent',$v['Key_'])->field($field)->select();
  69. if (!empty($child)){
  70. $machineData[$k]['child'] = $child;
  71. foreach ($child as $i=>$j){
  72. if ($v['sys_mc'] == '检验车间'){ //找出检验车间机器下面的数据
  73. $children = Db::name('dic_lzde')->where('Parent',$j['Key_'])->field($field)->select();
  74. $machineData[$k]['child'][$i]['children'] = $children;
  75. } else{
  76. $machineData[$k]['child'][$i]['children'] = [];
  77. }
  78. }
  79. }
  80. }
  81. $data['machineData'] = $machineData;
  82. //对手工作业计件定额的数组进行处理
  83. $handData = array_values($handData);
  84. foreach ($handData as $k=>$v){
  85. $child = Db::name('dic_lzde')->where('Parent',$v['Key_'])->field($field)->select();
  86. if (!empty($child)){
  87. $handData[$k]['child'] = $child;
  88. foreach ($child as $i=>$j){
  89. $children = Db::name('dic_lzde')->where('Parent',$j['Key_'])->field($field)->select();
  90. if (!empty($children)){
  91. $handData[$k]['child'][$i]['children'] = $children;
  92. } else{
  93. $handData[$k]['child'][$i]['children'] = [];
  94. }
  95. }
  96. }else{
  97. $handData[$k]['child'] = [];
  98. }
  99. }
  100. $data['handData'] = $handData;
  101. $this->success('请求成功',$data);
  102. }
  103. }