EmployeeDailySalary.php 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533
  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 EmployeeDailySalary 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('绩效工资汇总')
  32. // ->whereTime('sczl_rq', '>=', strtotime('-15 months'))
  33. // ->group('sys_ny')
  34. // ->order('sys_ny desc')
  35. // ->limit(15)
  36. // ->column('sys_ny');
  37. $rows = db()->table('db_大废品')
  38. ->whereTime('sys_rq', '>=', strtotime('-15 months'))
  39. ->group("DATE_FORMAT(`sys_rq`, '%Y%m')")
  40. ->order('sys_rq desc')
  41. ->limit(15)
  42. ->column("DATE_FORMAT(`sys_rq`, '%Y%m')");
  43. // $row = db()->table('绩效工资汇总')
  44. // ->field('sys_ny,人事_基本资料.所在部门')
  45. // ->join('人事_基本资料','人事_基本资料.员工编号=绩效工资汇总.bh','LEFT')
  46. // ->group('sys_ny,人事_基本资料.所在部门')
  47. // ->where(['sys_ny'=>['between',"$rows[14],$rows[0]"]])
  48. // ->order('sys_ny desc')
  49. // ->fetchSql(true)
  50. // ->select();
  51. foreach($rows as $k=>$v){
  52. $res[$k]['ny']=$v;
  53. $res[$k]['bh']=db()->table('绩效工资汇总')
  54. ->group('bh')
  55. ->where('sys_ny',$v)
  56. ->column('bh');
  57. }
  58. $rs = db()->table('人事_基本资料')->column('员工编号,所在部门');
  59. foreach($res as $k=>$v){
  60. foreach($v['bh'] as $value){
  61. $res[$k]['bm'][]=rtrim($rs[$value]);
  62. }
  63. }
  64. foreach($res as &$v){
  65. unset($v['bh']);
  66. $v['bm']=array_unique($v['bm']);
  67. usort($v['bm'], function($a, $b) {
  68. $order = array(
  69. '胶印车间',
  70. '凹印车间',
  71. '丝印车间',
  72. '模切车间',
  73. '检验车间',
  74. '精品试验车间',
  75. '品保部',
  76. '人力资源部',
  77. '生产部',
  78. '营销部'
  79. );
  80. $a_index = array_search($a, $order);
  81. $b_index = array_search($b, $order);
  82. return $a_index - $b_index;
  83. });
  84. }
  85. foreach($res as $k=>$v){
  86. $data[$k]['lable']=$v['ny'];
  87. foreach($v['bm'] as $value){
  88. $data[$k]['children'][]['lable']=$value;
  89. }
  90. }
  91. $this->success('成功',$data);
  92. }
  93. /**
  94. * 员工日工资查询列表
  95. * @ApiMethod (GET)
  96. * @param string $date 年月
  97. * @param string $department 部门
  98. */
  99. public function getList()
  100. {
  101. //get请求
  102. if(!$this->request->isGet()){
  103. $this->error('请求方式错误');
  104. }
  105. $req = $this->request->param();
  106. $res=db()->table('绩效工资汇总')
  107. ->join('人事_基本资料','人事_基本资料.员工编号=绩效工资汇总.bh','LEFT')
  108. ->field('bh,xm as 员工姓名,LEFT(sczl_rq, 10) as sczl_rq,sum(个人计件工资) as 计件工资,
  109. sum(个人加班工资) as 加班工资,(sum(个人计件工资)+sum(个人加班工资)) as 日工资合计')
  110. ->group('绩效工资汇总.bh,LEFT(sczl_rq, 10)')
  111. ->where('sys_ny',$req['date'])
  112. ->where('人事_基本资料.所在部门',$req['department'])
  113. ->select();
  114. if(!$res){
  115. $this->error('失败');
  116. }
  117. $year=substr($req['date'],0,4);
  118. $month=substr($req['date'],-2);
  119. if($month==12){
  120. $start_time=$year.'-12-01 00:00:00';
  121. $end_time=($year+1).'-01-01 00:00:00';
  122. }else{
  123. $start_time=$year.'-'.$month.'-01 00:00:00';
  124. $end_time=$year.'-'.($month+1).'-01 00:00:00';
  125. }
  126. $res1=db()->table('db_wgjs1')
  127. ->field('LEFT(wgjs_rq, 10) as wgjs_rq,wgjs_bh1 as wgjs_bh,wgjs_js1 as wgjs_js')
  128. ->join('人事_基本资料','人事_基本资料.员工编号=db_wgjs1.wgjs_bh1','LEFT')
  129. ->where(['wgjs_rq'=>['between',"$start_time,$end_time"],'人事_基本资料.所在部门'=>$req['department']])
  130. ->select();
  131. $res2=db()->table('db_wgjs1')
  132. ->field('LEFT(wgjs_rq, 10) as wgjs_rq,wgjs_bh2 as wgjs_bh,wgjs_js2 as wgjs_js')
  133. ->join('人事_基本资料','人事_基本资料.员工编号=db_wgjs1.wgjs_bh2','LEFT')
  134. ->where(['wgjs_rq'=>['between',"$start_time,$end_time"],'人事_基本资料.所在部门'=>$req['department']])
  135. ->select();
  136. $res3=db()->table('db_wgjs1')
  137. ->field('LEFT(wgjs_rq, 10) as wgjs_rq,wgjs_bh3 as wgjs_bh,wgjs_js3 as wgjs_js')
  138. ->join('人事_基本资料','人事_基本资料.员工编号=db_wgjs1.wgjs_bh3','LEFT')
  139. ->where(['wgjs_rq'=>['between',"$start_time,$end_time"],'人事_基本资料.所在部门'=>$req['department']])
  140. ->select();
  141. $res4=db()->table('db_wgjs1')
  142. ->field('LEFT(wgjs_rq, 10) as wgjs_rq,wgjs_bh4 as wgjs_bh,wgjs_js4 as wgjs_js')
  143. ->join('人事_基本资料','人事_基本资料.员工编号=db_wgjs1.wgjs_bh4','LEFT')
  144. ->where(['wgjs_rq'=>['between',"$start_time,$end_time"],'人事_基本资料.所在部门'=>$req['department']])
  145. ->select();
  146. $res5=db()->table('db_wgjs1')
  147. ->field('LEFT(wgjs_rq, 10) as wgjs_rq,wgjs_bh5 as wgjs_bh,wgjs_js5 as wgjs_js')
  148. ->join('人事_基本资料','人事_基本资料.员工编号=db_wgjs1.wgjs_bh5','LEFT')
  149. ->where(['wgjs_rq'=>['between',"$start_time,$end_time"],'人事_基本资料.所在部门'=>$req['department']])
  150. ->select();
  151. $res6=db()->table('db_wgjs1')
  152. ->field('LEFT(wgjs_rq, 10) as wgjs_rq,wgjs_bh6 as wgjs_bh,wgjs_js6 as wgjs_js')
  153. ->join('人事_基本资料','人事_基本资料.员工编号=db_wgjs1.wgjs_bh6','LEFT')
  154. ->where(['wgjs_rq'=>['between',"$start_time,$end_time"],'人事_基本资料.所在部门'=>$req['department']])
  155. ->select();
  156. $arr=array_merge($res1,$res2,$res3,$res4,$res5,$res6);
  157. foreach($arr as $v){
  158. if(isset($list[$v['wgjs_rq']][$v['wgjs_bh']])){
  159. $list[$v['wgjs_rq']][$v['wgjs_bh']]+=$v['wgjs_js'];
  160. }else{
  161. $list[$v['wgjs_rq']][$v['wgjs_bh']]=$v['wgjs_js'];
  162. }
  163. }
  164. foreach($res as &$v){
  165. $v['sczl_rq']=str_replace('-','.',$v['sczl_rq']);
  166. if(isset($list[$v['sczl_rq']][$v['bh']])){
  167. $v['计时']=$list[$v['sczl_rq']][$v['bh']];
  168. }else{
  169. $v['计时']='';
  170. }
  171. }
  172. $this->success('成功',$res);
  173. }
  174. /**
  175. * 员工日工资查询列表
  176. * @ApiMethod (GET)
  177. * @param string $date 年月
  178. * @param string $code 员工编号
  179. */
  180. public function getAllList()
  181. {
  182. //get请求
  183. if(!$this->request->isGet()){
  184. $this->error('请求方式错误');
  185. }
  186. $req = $this->request->param();
  187. $res=db()->table('绩效工资汇总')
  188. ->field('LEFT(sczl_rq, 10) as sczl_rq,sczl_gdbh,rtrim(g.Gd_cpmc) as Gd_cpmc,sczl_yjno,sczl_gxh,sczl_type,
  189. sczl_jtbh,sum(班组车头产量) as 班组车头产量,sum(班组换算产量) as 班组换算产量,工序难度系数,sum(个人计件工资)
  190. as 个人计件工资,sum(个人加班工资) as 个人加班工资,sum(装版工时) as 装版工时,sum(保养工时) as 保养工时,
  191. sum(打样工时) as 打样工时,sum(异常停机工时) as 异常停机工时,sum(车头产量占用机时) as 车头产量占用机时,日定额,
  192. sum(达标定额) as 达标定额,千件工价,补产标准,bh,rtrim(xm) as xm,Rate')
  193. ->join('工单_基本资料 g','g.Gd_gdbh=绩效工资汇总.sczl_gdbh','LEFT')
  194. ->group('LEFT(sczl_rq, 10),sczl_gdbh')
  195. ->where(['sys_ny'=>$req['date'],'bh'=>$req['code']])
  196. ->select();
  197. if(!$res){
  198. $this->error('失败');
  199. }
  200. foreach($res as &$v){
  201. $v['sczl_rq']=str_replace('-','.',$v['sczl_rq']);
  202. if($v['sczl_yjno']>9){
  203. $sczl_yjno=$v['sczl_yjno'];
  204. }else{
  205. $sczl_yjno='0'.$v['sczl_yjno'];
  206. }
  207. unset($v['sczl_yjno']);
  208. if($v['sczl_gxh']>9){
  209. $sczl_gxh=$v['sczl_gxh'];
  210. }else{
  211. $sczl_gxh='0'.$v['sczl_gxh'];
  212. }
  213. unset($v['sczl_gxh']);
  214. $v['sczl_type']=$sczl_yjno.'-'.$sczl_gxh.'-->'.$v['sczl_type'];
  215. }
  216. $this->success('成功',$res);
  217. }
  218. /**
  219. * 员工日工资查询详情
  220. * @ApiMethod (GET)
  221. * @param string $date 日期
  222. * @param string $code 员工编号
  223. */
  224. public function getDetail()
  225. {
  226. //get请求
  227. if(!$this->request->isGet()){
  228. $this->error('请求方式错误');
  229. }
  230. $req = $this->request->param();
  231. $start_time=$req['date'].' 00:00:00';
  232. $end_time=$req['date'].' 23:59:59';
  233. $res=db()->table('绩效工资汇总')
  234. ->field('LEFT(sczl_rq, 10) as sczl_rq,sczl_gdbh,rtrim(g.Gd_cpmc) as Gd_cpmc,sczl_yjno,sczl_gxh,sczl_type,
  235. sczl_jtbh,sum(班组车头产量) as 班组车头产量,sum(班组换算产量) as 班组换算产量,工序难度系数,sum(个人计件工资)
  236. as 个人计件工资,sum(个人加班工资) as 个人加班工资,sum(装版工时) as 装版工时,sum(保养工时) as 保养工时,
  237. sum(打样工时) as 打样工时,sum(异常停机工时) as 异常停机工时,sum(车头产量占用机时) as 车头产量占用机时,日定额,
  238. sum(达标定额) as 达标定额,千件工价,补产标准,bh,rtrim(xm) as xm,Rate')
  239. ->join('工单_基本资料 g','g.Gd_gdbh=绩效工资汇总.sczl_gdbh','LEFT')
  240. ->group('LEFT(sczl_rq, 10),sczl_gdbh')
  241. ->where(['sczl_rq'=>['between',"$start_time,$end_time"],'bh'=>$req['code']])
  242. ->select();
  243. if(!$res){
  244. $this->error('失败');
  245. }
  246. foreach($res as &$v){
  247. $v['sczl_rq']=str_replace('-','.',$v['sczl_rq']);
  248. if($v['sczl_yjno']>9){
  249. $sczl_yjno=$v['sczl_yjno'];
  250. }else{
  251. $sczl_yjno='0'.$v['sczl_yjno'];
  252. }
  253. unset($v['sczl_yjno']);
  254. if($v['sczl_gxh']>9){
  255. $sczl_gxh=$v['sczl_gxh'];
  256. }else{
  257. $sczl_gxh='0'.$v['sczl_gxh'];
  258. }
  259. unset($v['sczl_gxh']);
  260. $v['sczl_type']=$sczl_yjno.'-'.$sczl_gxh.'-->'.$v['sczl_type'];
  261. }
  262. $this->success('成功',$res);
  263. }
  264. /**
  265. * 获取计件工计时单信息
  266. * @ApiMethod (GET)
  267. * @param string $UniqId UniqId
  268. */
  269. public function getInfo()
  270. {
  271. //get请求
  272. if(!$this->request->isGet()){
  273. $this->error('请求方式错误');
  274. }
  275. $req = $this->request->param();
  276. if (isset($req['UniqId']) && !empty($req['UniqId'])){
  277. $UniqId = $req['UniqId'];
  278. }else{
  279. $this->error('参数错误');
  280. }
  281. $rows = db()->table('db_wgjs')->alias('d')
  282. ->field('d.*, ')
  283. ->join('工单_基本资料 g', 'd.')
  284. ->where('d.UniqId',$UniqId)
  285. ->select();
  286. $this->success('成功',$rows);
  287. }
  288. /**
  289. * 定位
  290. * @ApiMethod GET
  291. */
  292. public function search(){
  293. //get请求
  294. if(!$this->request->isGet()){
  295. $this->error('请求方式错误');
  296. }
  297. $req = $this->request->param();
  298. $yg = db()->table('人事_基本资料')->where('员工姓名',$req['search'])->value('员工编号');
  299. if($yg){
  300. $req['search']=$yg;
  301. }
  302. $res=db()->table('绩效工资汇总')
  303. // ->join('人事_基本资料','人事_基本资料.员工编号=绩效工资汇总.bh','LEFT')
  304. ->field('bh,xm as 员工姓名,LEFT(sczl_rq, 10) as sczl_rq,sum(个人计件工资) as 计件工资,
  305. sum(个人加班工资) as 加班工资,(sum(个人计件工资)+sum(个人加班工资)) as 日工资合计')
  306. ->group('绩效工资汇总.bh,LEFT(sczl_rq, 10)')
  307. ->where('sys_ny',$req['date'])
  308. ->where('bh',$req['search'])
  309. // ->where('人事_基本资料.所在部门',$req['department'])
  310. ->select();
  311. if(!$res){
  312. $this->error('失败');
  313. }
  314. $year=substr($req['date'],0,4);
  315. $month=substr($req['date'],-2);
  316. if($month==12){
  317. $start_time=$year.'-12-01 00:00:00';
  318. $end_time=($year+1).'-01-01 00:00:00';
  319. }else{
  320. $start_time=$year.'-'.$month.'-01 00:00:00';
  321. $end_time=$year.'-'.($month+1).'-01 00:00:00';
  322. }
  323. $res1=db()->table('db_wgjs1')
  324. ->field('LEFT(wgjs_rq, 10) as wgjs_rq,wgjs_bh1 as wgjs_bh,wgjs_js1 as wgjs_js')
  325. // ->join('人事_基本资料','人事_基本资料.员工编号=db_wgjs1.wgjs_bh1','LEFT')
  326. ->where(['wgjs_rq'=>['between',"$start_time,$end_time"],'wgjs_bh1'=>$req['search']])
  327. ->select();
  328. $res2=db()->table('db_wgjs1')
  329. ->field('LEFT(wgjs_rq, 10) as wgjs_rq,wgjs_bh2 as wgjs_bh,wgjs_js2 as wgjs_js')
  330. // ->join('人事_基本资料','人事_基本资料.员工编号=db_wgjs1.wgjs_bh2','LEFT')
  331. ->where(['wgjs_rq'=>['between',"$start_time,$end_time"],'wgjs_bh2'=>$req['search']])
  332. ->select();
  333. $res3=db()->table('db_wgjs1')
  334. ->field('LEFT(wgjs_rq, 10) as wgjs_rq,wgjs_bh3 as wgjs_bh,wgjs_js3 as wgjs_js')
  335. // ->join('人事_基本资料','人事_基本资料.员工编号=db_wgjs1.wgjs_bh3','LEFT')
  336. ->where(['wgjs_rq'=>['between',"$start_time,$end_time"],'wgjs_bh3'=>$req['search']])
  337. ->select();
  338. $res4=db()->table('db_wgjs1')
  339. ->field('LEFT(wgjs_rq, 10) as wgjs_rq,wgjs_bh4 as wgjs_bh,wgjs_js4 as wgjs_js')
  340. // ->join('人事_基本资料','人事_基本资料.员工编号=db_wgjs1.wgjs_bh4','LEFT')
  341. ->where(['wgjs_rq'=>['between',"$start_time,$end_time"],'wgjs_bh4'=>$req['search']])
  342. ->select();
  343. $res5=db()->table('db_wgjs1')
  344. ->field('LEFT(wgjs_rq, 10) as wgjs_rq,wgjs_bh5 as wgjs_bh,wgjs_js5 as wgjs_js')
  345. // ->join('人事_基本资料','人事_基本资料.员工编号=db_wgjs1.wgjs_bh5','LEFT')
  346. ->where(['wgjs_rq'=>['between',"$start_time,$end_time"],'wgjs_bh5'=>$req['search']])
  347. ->select();
  348. $res6=db()->table('db_wgjs1')
  349. ->field('LEFT(wgjs_rq, 10) as wgjs_rq,wgjs_bh6 as wgjs_bh,wgjs_js6 as wgjs_js')
  350. // ->join('人事_基本资料','人事_基本资料.员工编号=db_wgjs1.wgjs_bh6','LEFT')
  351. ->where(['wgjs_rq'=>['between',"$start_time,$end_time"],'wgjs_bh6'=>$req['search']])
  352. ->select();
  353. $arr=array_merge($res1,$res2,$res3,$res4,$res5,$res6);
  354. foreach($arr as $v){
  355. if(isset($list[$v['wgjs_rq']][$v['wgjs_bh']])){
  356. $list[$v['wgjs_rq']][$v['wgjs_bh']]+=$v['wgjs_js'];
  357. }else{
  358. $list[$v['wgjs_rq']][$v['wgjs_bh']]=$v['wgjs_js'];
  359. }
  360. }
  361. foreach($res as &$v){
  362. $v['sczl_rq']=str_replace('-','.',$v['sczl_rq']);
  363. if(isset($list[$v['sczl_rq']][$v['bh']])){
  364. $v['计时']=$list[$v['sczl_rq']][$v['bh']];
  365. }else{
  366. $v['计时']='';
  367. }
  368. }
  369. $this->success('成功',$res);
  370. }
  371. /**
  372. * 详情
  373. * @ApiMethod (GET)
  374. * @param string $wgjs_rq 日期
  375. * @param string $wgjs_bh1 员工编号
  376. */
  377. public function detail(){
  378. //get请求
  379. if(!$this->request->isGet()){
  380. $this->error('请求方式错误');
  381. }
  382. $req = $this->request->param();
  383. if (!isset($req['wgjs_rq']) || !isset($req['wgjs_bh1']) ){
  384. $this->error('参数错误');
  385. }else{
  386. }
  387. if (empty($req['wgjs_rq']) || empty($req['wgjs_bh1'])){
  388. $this->error('参数不能为空');
  389. }
  390. $rows = db()->table('db_wgjs1')
  391. ->field('LEFT(wgjs_rq, 10) as wgjs_rq,
  392. wgjs_bh1, CAST(wgjs_js1 AS SIGNED) as wgjs_js1, rtrim(wgjs_yy1) as wgjs_yy1,
  393. wgjs_bh2, CAST(wgjs_js2 AS SIGNED) as wgjs_js2, rtrim(wgjs_yy2) as wgjs_yy2,
  394. wgjs_bh3, CAST(wgjs_js3 AS SIGNED) as wgjs_js3, rtrim(wgjs_yy3) as wgjs_yy3,
  395. wgjs_bh4, CAST(wgjs_js4 AS SIGNED) as wgjs_js4, rtrim(wgjs_yy4) as wgjs_yy4,
  396. wgjs_bh5, CAST(wgjs_js5 AS SIGNED) as wgjs_js5, rtrim(wgjs_yy5) as wgjs_yy5,
  397. wgjs_bh6, CAST(wgjs_js6 AS SIGNED) as wgjs_js6, rtrim(wgjs_yy6) as wgjs_yy6,
  398. rtrim(rs1.员工姓名) as name1,rtrim(rs2.员工姓名) as name2,rtrim(rs3.员工姓名)
  399. as name3,rtrim(rs4.员工姓名) as name4,rtrim(rs5.员工姓名) as name5,rtrim(rs6.员工姓名)
  400. as name6,wgjs_冲定额1,wgjs_冲定额2,wgjs_冲定额3,wgjs_冲定额4,wgjs_冲定额5,wgjs_冲定额6')
  401. ->join('人事_基本资料 rs1','rs1.员工编号=db_wgjs1.wgjs_bh1','LEFT')
  402. ->join('人事_基本资料 rs2','rs2.员工编号=db_wgjs1.wgjs_bh2','LEFT')
  403. ->join('人事_基本资料 rs3','rs3.员工编号=db_wgjs1.wgjs_bh3','LEFT')
  404. ->join('人事_基本资料 rs4','rs4.员工编号=db_wgjs1.wgjs_bh4','LEFT')
  405. ->join('人事_基本资料 rs5','rs5.员工编号=db_wgjs1.wgjs_bh5','LEFT')
  406. ->join('人事_基本资料 rs6','rs6.员工编号=db_wgjs1.wgjs_bh6','LEFT')
  407. ->where(['wgjs_rq'=>$req['wgjs_rq'].' 00:00:00','wgjs_bh1'=>$req['wgjs_bh1']])
  408. ->find();
  409. if($rows){
  410. $this->success('成功',$rows);
  411. }else{
  412. $this->error('失败');
  413. }
  414. }
  415. /**
  416. * 修改
  417. * @ApiMethod POST
  418. */
  419. public function edit()
  420. {
  421. if(!$this->request->isPost()){
  422. $this->error('请求方式错误');
  423. }
  424. $req = $this->request->param();
  425. // $req = ['wgjs_js1'=>12,'wgjs_rq'=>'2023-10-12','wgjs_bh1'=>'ZM01269'];
  426. if (!isset($req['wgjs_rq']) || !isset($req['wgjs_bh1']) ){
  427. $this->error('参数错误');
  428. }
  429. if (empty($req['wgjs_rq']) || empty($req['wgjs_bh1'])){
  430. $this->error('参数不能为空');
  431. }
  432. $req['wgjs_rq'] = $req['wgjs_rq'].' 00:00:00';
  433. $req['mod_rq'] = date('Y-m-d H:i:s');
  434. //开启事务
  435. db()->startTrans();
  436. try{
  437. $sql = db()->table('db_wgjs1')->where(['wgjs_rq'=>$req['wgjs_rq'],'wgjs_bh1'=>$req['wgjs_bh1']])
  438. ->fetchSql(true)->update($req);
  439. $res= db()->query($sql);
  440. // 提交事务
  441. db()->commit();
  442. } catch (\Exception $e) {
  443. // 回滚事务
  444. db()->rollback();
  445. $this->error($e->getMessage());
  446. }
  447. if($res===false) $this->error('失败');
  448. $this->success('成功');
  449. }
  450. /**
  451. * 新增
  452. * @ApiMethod POST
  453. */
  454. public function add()
  455. {
  456. if(!$this->request->isPost()){
  457. $this->error('请求方式错误');
  458. }
  459. $req = $this->request->param();
  460. if (!isset($req['wgjs_rq']) || !isset($req['wgjs_bh1']) ){
  461. $this->error('参数错误');
  462. }
  463. if (empty($req['wgjs_rq']) || empty($req['wgjs_bh1'])){
  464. $this->error('参数不能为空');
  465. }
  466. $req['wgjs_rq'] = $req['wgjs_rq'].' 00:00:00';
  467. $req['sys_rq'] = date('Y-m-d H:i:s');
  468. //开启事务
  469. db()->startTrans();
  470. try{
  471. $sql = db()->table('db_wgjs1')->fetchSql(true)->insert($req);
  472. $res= db()->query($sql);
  473. // 提交事务
  474. db()->commit();
  475. } catch (\Exception $e) {
  476. // 回滚事务
  477. db()->rollback();
  478. $this->error($e->getMessage());
  479. }
  480. if($res===false) $this->error('失败');
  481. $this->success('成功');
  482. }
  483. /**
  484. * 删除
  485. * @ApiMethod (GET)
  486. * @param string $wgjs_rq 日期
  487. * @param string $wgjs_bh1 员工编号
  488. */
  489. public function del(){
  490. //get请求
  491. if(!$this->request->isGet()){
  492. $this->error('请求方式错误');
  493. }
  494. $req = $this->request->param();
  495. if (!isset($req['wgjs_rq']) || !isset($req['wgjs_bh1']) ){
  496. $this->error('参数错误');
  497. }else{
  498. }
  499. if (empty($req['wgjs_rq']) || empty($req['wgjs_bh1'])){
  500. $this->error('参数不能为空');
  501. }
  502. $rows = db()->table('db_wgjs1')->where(['wgjs_rq'=>$req['wgjs_rq'].' 00:00:00','wgjs_bh1'=>$req['wgjs_bh1']])
  503. ->delete();
  504. if($rows){
  505. $this->success('成功');
  506. }else{
  507. $this->error('失败');
  508. }
  509. }
  510. }