LargeWasteRewardPunish.php 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use think\db;
  5. use think\Request;
  6. /**
  7. * 工序大废品惩奖记录接口
  8. */
  9. class LargeWasteRewardPunish 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. * @ApiMethod (GET)
  24. */
  25. public function getTab()
  26. {
  27. //get请求
  28. if(!$this->request->isGet()){
  29. $this->error('请求方式错误');
  30. }
  31. $rows = db()->table('db_大废品')
  32. ->field('LEFT(sys_rq, 10) as date, COUNT(*) as counts')
  33. ->group('date')
  34. ->order('UniqId desc')
  35. ->limit(40)
  36. ->select();
  37. foreach($rows as $key=>$value){
  38. $rows[$key]['date'] = str_replace('-', '.', $rows[$key]['date']);
  39. }
  40. $this->success('成功',$rows);
  41. }
  42. /**
  43. * 获取工序大废品惩奖侧边栏根据工单
  44. * @ApiMethod (GET)
  45. */
  46. public function getTabByGd()
  47. {
  48. //get请求
  49. if(!$this->request->isGet()){
  50. $this->error('请求方式错误');
  51. }
  52. $rows = db()->table('db_大废品')
  53. ->field('sczl_gdbh,rtrim(g.成品名称) as 成品名称')
  54. ->join('工单_基本资料 g','g.Gd_gdbh=db_大废品.sczl_gdbh','LEFT')
  55. ->group('sczl_gdbh')
  56. ->whereTime('db_大废品.sys_rq', '>=', strtotime('-60 days'))
  57. ->order('sczl_gdbh desc')
  58. ->select();
  59. foreach($rows as $key=>$value){
  60. $data[$key]['label']=$value['sczl_gdbh'].' 【'.$value['成品名称'].'】';
  61. $data[$key]['sczl_gdbh']=$value['sczl_gdbh'];
  62. }
  63. $this->success('成功',$data);
  64. }
  65. /**
  66. * 获取工序大废品惩奖列表
  67. * @ApiMethod (GET)
  68. * @param string $date 时间
  69. */
  70. public function getList()
  71. {
  72. //get请求
  73. if(!$this->request->isGet()){
  74. $this->error('请求方式错误');
  75. }
  76. $req = $this->request->param();
  77. $page = 1;
  78. $limit = 15;
  79. if (isset($req['page']) && !empty($req['page'])) $page = $req['page'];
  80. if (isset($req['limit']) && !empty($req['limit'])) $limit = $req['limit'];
  81. $where = [];
  82. if (isset($req['date']) && !empty($req['date'])){
  83. $where['sys_rq'] = ['LIKE',$req['date'].'%'];
  84. }else{
  85. $this->error('参数错误');
  86. }
  87. $res = db()->table('db_大废品')
  88. ->field('sczl_gdbh, LEFT(sczl_rq, 10) as sczl_rq, rtrim(sczl_numDesc) as sczl_numDesc, sczl_ls, sczl_yjno,
  89. rtrim(责任部门) as 责任部门, CAST(sczl_cl AS SIGNED) as sczl_cl,
  90. rtrim(sczl_fplxA) as sczl_fplxA, sczl_fplxB, Jl_bzdh, JL_bh1,
  91. sczl_bzdh, sczl_bh1, sczl_bh2, rtrim(sys_id) as sys_id, sys_rq, UniqId')
  92. ->where('sczl_gdbh',$req['date'])
  93. ->order('UniqId desc')
  94. ->page($page,$limit)
  95. ->select();
  96. if($res){
  97. $rows=$res;
  98. $total = db()->table('db_大废品')->where('sczl_gdbh',$req['date'])->count();;
  99. }else{
  100. $rows = db()->table('db_大废品')
  101. ->field('sczl_gdbh, LEFT(sczl_rq, 10) as sczl_rq, rtrim(sczl_numDesc) as sczl_numDesc, sczl_ls, sczl_yjno,
  102. rtrim(责任部门) as 责任部门, CAST(sczl_cl AS SIGNED) as sczl_cl,
  103. rtrim(sczl_fplxA) as sczl_fplxA, sczl_fplxB, Jl_bzdh, JL_bh1,
  104. sczl_bzdh, sczl_bh1, sczl_bh2, rtrim(sys_id) as sys_id, sys_rq, UniqId')
  105. ->where($where)
  106. ->order('UniqId desc')
  107. ->page($page,$limit)
  108. ->select();
  109. $total = db()->table('db_大废品')->where($where)->count();
  110. }
  111. $gd = db()->table('工单_印件资料')->column('Yj_Gdbh, yj_yjmc');
  112. $rs = db()->table('人事_基本资料')->column('员工编号, 员工姓名');
  113. foreach ($rows as $key=>$value) {
  114. $rows[$key]['yj_yjmc'] = array_key_exists($value['sczl_gdbh'],$gd) ? sprintf("%02d", $value['sczl_yjno']).'-'.trim($gd[$value['sczl_gdbh']]) : '';
  115. $rows[$key]['JL_bh1'] = array_key_exists($value['JL_bh1'],$rs) ? trim($rs[$value['JL_bh1']]) : '';
  116. $rows[$key]['sczl_bh1'] = array_key_exists($value['sczl_bh1'],$rs) ? trim($rs[$value['sczl_bh1']]) : '';
  117. $rows[$key]['sczl_bh2'] = array_key_exists($value['sczl_bh2'],$rs) ? trim($rs[$value['sczl_bh2']]) : '';
  118. $rows[$key]['sczl_fplxB'] = $value['sczl_fplxB'] == 1 ? '制程废' : '';
  119. unset($rows[$key]['sczl_yjno']);
  120. }
  121. $data = [
  122. 'total' => $total,
  123. 'rows' => $rows,
  124. ];
  125. $this->success('成功',$data);
  126. }
  127. /**
  128. * 获取工序大废品惩奖信息
  129. * @ApiMethod (GET)
  130. * @param string $UniqId UniqId
  131. */
  132. public function getInfo()
  133. {
  134. //get请求
  135. if(!$this->request->isGet()){
  136. $this->error('请求方式错误');
  137. }
  138. $req = $this->request->param();
  139. if (isset($req['UniqId']) && !empty($req['UniqId'])){
  140. $UniqId = $req['UniqId'];
  141. }else{
  142. $this->error('参数错误');
  143. }
  144. $rows = db()->table('db_大废品')->alias('d')
  145. ->field('sczl_gdbh,rtrim(g.Gd_cpmc) as Gd_cpmc,sczl_yjno,rtrim(yj.yj_yjmc) as yj_yjmc,
  146. rtrim(sczl_gxmc) as sczl_gxmc,sczl_gxh,rtrim(sczl_numDesc) as sczl_numDesc,LEFT(sczl_rq, 10)
  147. as sczl_rq,sczl_cl,sczl_ls,rtrim(sczl_fplxA) as sczl_fplxA,sczl_fplxB,rtrim(责任部门) as 责任部门,
  148. 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,
  149. rtrim(jl1.员工姓名) as jlname1,rtrim(jl2.员工姓名) as jlname2,rtrim(jl3.员工姓名) as jlname3
  150. ,rtrim(jl4.员工姓名) as jlname4,rtrim(jl5.员工姓名) as jlname5,rtrim(jl6.员工姓名) as jlname6
  151. ,rtrim(jl7.员工姓名) as jlname7,rtrim(jl8.员工姓名) as jlname8,rtrim(jl9.员工姓名) as jlname9
  152. ,JL_Je1,JL_Je2,JL_Je3,JL_Je4,JL_Je5,JL_Je6,JL_Je7,JL_Je8,JL_Je9,rtrim(sczl_bzdh) as sczl_bzdh,
  153. sczl_jtbh,sczl_bh1,sczl_bh2,sczl_bh3,sczl_bh4,sczl_bh5,sczl_bh6,sczl_bh7,sczl_bh8,sczl_bh9,
  154. 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,
  155. rtrim(zr1.员工姓名) as zrname1,rtrim(zr2.员工姓名) as zrname2,rtrim(zr3.员工姓名) as zrname3
  156. ,rtrim(zr4.员工姓名) as zrname4,rtrim(zr5.员工姓名) as zrname5,rtrim(zr6.员工姓名) as zrname6
  157. ,rtrim(zr7.员工姓名) as zrname7,rtrim(zr8.员工姓名) as zrname8,rtrim(zr9.员工姓名) as zrname9
  158. ,sczl_je1,sczl_je2,sczl_je3,sczl_je4,sczl_je5,sczl_je6,sczl_je7,sczl_je8,sczl_je9')
  159. ->join('工单_基本资料 g','g.Gd_gdbh=db_大废品.sczl_gdbh')
  160. ->join('工单_印件资料 yj','yj.Yj_Gdbh=db_大废品.sczl_gdbh','LEFT')
  161. ->join('人事_基本资料 jl1','jl1.员工编号=db_大废品.JL_bh1','LEFT')
  162. ->join('人事_基本资料 jl2','jl2.员工编号=db_大废品.JL_bh2','LEFT')
  163. ->join('人事_基本资料 jl3','jl3.员工编号=db_大废品.JL_bh3','LEFT')
  164. ->join('人事_基本资料 jl4','jl4.员工编号=db_大废品.JL_bh4','LEFT')
  165. ->join('人事_基本资料 jl5','jl5.员工编号=db_大废品.JL_bh5','LEFT')
  166. ->join('人事_基本资料 jl6','jl6.员工编号=db_大废品.JL_bh6','LEFT')
  167. ->join('人事_基本资料 jl7','jl7.员工编号=db_大废品.JL_bh7','LEFT')
  168. ->join('人事_基本资料 jl8','jl8.员工编号=db_大废品.JL_bh8','LEFT')
  169. ->join('人事_基本资料 jl9','jl9.员工编号=db_大废品.JL_bh9','LEFT')
  170. ->join('人事_基本资料 zr1','zr1.员工编号=db_大废品.sczl_bh1','LEFT')
  171. ->join('人事_基本资料 zr2','zr2.员工编号=db_大废品.sczl_bh2','LEFT')
  172. ->join('人事_基本资料 zr3','zr3.员工编号=db_大废品.sczl_bh3','LEFT')
  173. ->join('人事_基本资料 zr4','zr4.员工编号=db_大废品.sczl_bh4','LEFT')
  174. ->join('人事_基本资料 zr5','zr5.员工编号=db_大废品.sczl_bh5','LEFT')
  175. ->join('人事_基本资料 zr6','zr6.员工编号=db_大废品.sczl_bh6','LEFT')
  176. ->join('人事_基本资料 zr7','zr7.员工编号=db_大废品.sczl_bh7','LEFT')
  177. ->join('人事_基本资料 zr8','zr8.员工编号=db_大废品.sczl_bh8','LEFT')
  178. ->join('人事_基本资料 zr9','zr9.员工编号=db_大废品.sczl_bh9','LEFT')
  179. ->where('d.UniqId',$UniqId)->limit(1)->select();
  180. $this->success('成功',$rows);
  181. }
  182. /**
  183. * 工单编号获取
  184. * @return void
  185. * @throws \think\exception\DbException
  186. * @throws db\exception\DataNotFoundException
  187. * @throws db\exception\ModelNotFoundException
  188. */
  189. public function JunkWorkOrderList()
  190. {
  191. if ($this->request->isGet() === false){
  192. $this->error('非法请求');
  193. }
  194. $params = $this->request->param();
  195. if (empty($params['search'])){
  196. $this->error('参数错误');
  197. }
  198. $list = \db('工单_基本资料')
  199. ->field('rtrim(Gd_gdbh) as 工单编号,rtrim(成品名称) as 产品名称')
  200. ->where('Gd_gdbh','like','%'.$params['search'].'%')
  201. ->select();
  202. if (empty($list)){
  203. $this->success('未找到工单信息');
  204. }
  205. $this->success('成功',$list);
  206. }
  207. /**
  208. * 印件编号获取
  209. * @return void
  210. * @throws \think\exception\DbException
  211. * @throws db\exception\DataNotFoundException
  212. * @throws db\exception\ModelNotFoundException
  213. */
  214. public function PrintCodeList()
  215. {
  216. if ($this->request->isGet() === false){
  217. $this->error('非法请求');
  218. }
  219. $param = $this->request->param();
  220. if (empty($param['workorder'])){
  221. $this->error('参数错误');
  222. }
  223. $list = \db('工单_印件资料')
  224. ->field('rtrim(yj_Yjno) as 印件号,rtrim(yj_yjmc) as 印件名称')
  225. ->where('Yj_Gdbh',$param['workorder'])
  226. ->select();
  227. if (empty($list)){
  228. $this->success('未找到该工单印件');
  229. }
  230. $this->success('成功',$list);
  231. }
  232. /**
  233. * 工单工序获取
  234. * @return void
  235. * @throws \think\exception\DbException
  236. * @throws db\exception\DataNotFoundException
  237. * @throws db\exception\ModelNotFoundException
  238. */
  239. public function ProcessList()
  240. {
  241. if ($this->request->isGet() === false){
  242. $this->error('非法请求');
  243. }
  244. $param = $this->request->param();
  245. if (empty($param['workorder']) || empty($param['yjno'])){
  246. $this->error('参数错误');
  247. }
  248. $list = \db('工单_工艺资料')
  249. ->field('rtrim(Gy0_gxh) as gxh,rtrim(Gy0_gxmc) as gxmc')
  250. ->where('Gy0_gdbh',$param['workorder'])
  251. ->where('Gy0_yjno',$param['yjno'])
  252. ->select();
  253. if (empty($list)){
  254. $this->success('未找到该工单工艺');
  255. }
  256. $data = [];
  257. foreach ($list as $key=>$value){
  258. if ((int)$value['gxh'] < 10){
  259. $value['gxh'] = '0'.$value['gxh'];
  260. }
  261. $data[$key] = $value['gxh'].'-'.$value['gxmc'];
  262. }
  263. $this->success('成功',$data);
  264. }
  265. /**
  266. * 机台编号获取
  267. * @return void
  268. * @throws \think\exception\DbException
  269. * @throws db\exception\DataNotFoundException
  270. * @throws db\exception\ModelNotFoundException
  271. */
  272. public function MachineList()
  273. {
  274. if ($this->request->isGet() === false){
  275. $this->error('非法请求');
  276. }
  277. $list = \db('设备_基本资料')
  278. ->field('rtrim(设备编号) as 设备编号')
  279. ->where('sys_sbID','<>','')
  280. ->select();
  281. if (empty($list)){
  282. $this->success('未找到机台编号');
  283. }
  284. $this->success('成功',$list);
  285. }
  286. /**
  287. * 机台班组获取
  288. * @return void
  289. * @throws \think\exception\DbException
  290. * @throws db\exception\DataNotFoundException
  291. * @throws db\exception\ModelNotFoundException
  292. */
  293. public function MachineClassList()
  294. {
  295. if ($this->request->isGet() === false){
  296. $this->error('非法请求');
  297. }
  298. $param = $this->request->param();
  299. if (empty($param['machine'])){
  300. $this->error('参数错误');
  301. }
  302. $list = \db('设备_班组资料')
  303. ->where('sczl_jtbh',$param['machine'])
  304. ->field('rtrim(sczl_bh1) as bh1,rtrim(sczl_bh2) as bh2,rtrim(sczl_bh3) as bh3,
  305. rtrim(sczl_bh4) as bh4,rtrim(sczl_bh5) as bh5,rtrim(sczl_bh6) as bh6,
  306. rtrim(sczl_bh7) as bh7,rtrim(sczl_bh8) as bh8,rtrim(sczl_bh9) as bh9,
  307. rtrim(sczl_bh10) as bh10,rtrim(sczl_bzdh) as 班组代号')
  308. ->select();
  309. if (empty($list)){
  310. $this->success('未找到该机台班组');
  311. }
  312. foreach ($list as $key=>$value){
  313. for ($i=1;$i<=10;$i++){
  314. if (!empty($value['bh'.$i])){
  315. $name = \db('人事_基本资料')->where('员工编号',$value['bh'.$i])->field('rtrim(员工姓名) as name')->find();
  316. if (isset($name['name'])){
  317. $list[$key]['组员'.$i] = [
  318. '编号' => $value['bh'.$i],
  319. '姓名' => $name['name']
  320. ];
  321. }
  322. }else{
  323. $list[$key]['组员'.$i] = [
  324. '编号' => '',
  325. '姓名' => ''
  326. ];
  327. }
  328. unset($list[$key]['bh'.$i]);
  329. }
  330. }
  331. $this->success('成功',$list);
  332. }
  333. /**
  334. * 大废品数据修改
  335. * @return void
  336. * @throws \think\Exception
  337. * @throws \think\exception\PDOException
  338. * @throws db\exception\BindParamException
  339. */
  340. public function JunkDetailEdit()
  341. {
  342. if (Request::instance()->isPost() === false){
  343. $this->error('非法请求');
  344. }
  345. $param = Request::instance()->post();
  346. if (empty($param['sczl_gdbh']) || empty($param['UniqId'])){
  347. $this->error('参数错误');
  348. }
  349. $param['mod_rq'] = date('Y-m-d H:i:s',time());
  350. $data = $param;
  351. unset($data['UniqId']);
  352. $sql = \db('db_大废品')
  353. ->where('UniqId',$param['UniqId'])
  354. ->fetchSql(true)
  355. ->update($data);
  356. $res = \db()->query($sql);
  357. if ($res !== false){
  358. $this->success('修改成功');
  359. }else{
  360. $this->error('失败');
  361. }
  362. }
  363. /**
  364. * 大废品数据添加
  365. * @return void
  366. * @throws \think\exception\PDOException
  367. * @throws db\exception\BindParamException
  368. */
  369. public function JunkDetailAdd()
  370. {
  371. if (Request::instance()->isPost() === false){
  372. $this->error('非法请求');
  373. }
  374. $param = Request::instance()->post();
  375. if (empty($param['sczl_gdbh'])){
  376. $this->error('参数错误');
  377. }
  378. $lastID = \db('db_大废品')->order('UniqId desc')->value('UniqId');
  379. $param['sys_rq'] = date('Y-m-d H:i:s',time());
  380. $param['mod_rq'] = '1900-01-01 00:00:00';
  381. $param['UniqId'] = $lastID + 1;
  382. $sql = \db('db_大废品')->fetchSql(true)->insert($param);
  383. $res = \db()->query($sql);
  384. if ($res !== false){
  385. $this->success('添加成功');
  386. }else{
  387. $this->error('失败');
  388. }
  389. }
  390. /**
  391. * 大废品数据删除
  392. * @return void
  393. * @throws \think\Exception
  394. * @throws \think\exception\PDOException
  395. */
  396. public function JunkDetailDel()
  397. {
  398. if ($this->request->isGet() === false){
  399. $this->error('非法请求');
  400. }
  401. $param = $this->request->param();
  402. if (empty($param['UniqId'])){
  403. $this->error('参数错误');
  404. }
  405. $idList = explode(',',$param['UniqId']);
  406. $res = \db('db_大废品')
  407. ->whereIn('UniqId',$idList)
  408. ->delete();
  409. if ($res !== false){
  410. $this->success('删除成功');
  411. }else{
  412. $this->error('失败');
  413. }
  414. }
  415. }