Inspect.php 45 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117
  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 Inspect 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. */
  26. public function getInspectCount(){
  27. if (Request::instance()->isGet() == false){
  28. $this->error('非法请求');
  29. }
  30. $sql = 'SELECT DISTINCT DATE(sys_rq) AS sys_rq FROM `db_手工检验` ORDER BY sys_rq DESC LIMIT 30 ';
  31. $list = Db::query($sql);
  32. foreach ($list as $key => $value){
  33. $where = [$value['sys_rq'].'00:00:00',$value['sys_rq'].'24:00:00'];
  34. $dataCount = Db::name('db_手工检验')->where('sys_rq','between time',$where)->field('rtrim(sys_id) as sys_id')->order('sys_id asc')->select();
  35. $list[$key]['count'] = count($dataCount);
  36. // 提取 sys_id 列成新数组
  37. $sysIds = array_column($dataCount, 'sys_id');
  38. //统计每个不同的 sys_id 的数量
  39. $counts = array_count_values($sysIds);
  40. $i = 0;
  41. foreach ($counts as $k=>$v){
  42. $list[$key]['sys'][$i]['sys_id'] = $k;
  43. $list[$key]['sys'][$i]['count'] = $v;
  44. $i++;
  45. }
  46. }
  47. $this->success('请求成功',$list);
  48. }
  49. /**
  50. * 获取手工检验左侧菜单栏
  51. * 通过工单
  52. * @ApiMethod GET
  53. */
  54. public function getInspectCountByGdbh(){
  55. if (Request::instance()->isGet() == false){
  56. $this->error('非法请求');
  57. }
  58. $sql = 'SELECT DISTINCT sczl_gdbh FROM `db_手工检验` ORDER BY sczl_gdbh DESC LIMIT 65 ';
  59. $list = Db::query($sql);
  60. foreach ($list as $key => $value){
  61. $dataCount = Db::name('db_手工检验')->alias('d')
  62. ->where('sczl_gdbh',$value['sczl_gdbh'])
  63. ->field('rtrim(d.sys_id) as sys_id, rtrim(g.yj_yjmc) as yj_yjmc')
  64. ->join(['工单_印件资料'=>'g'],'d.sczl_gdbh=g.Yj_Gdbh')
  65. ->order('sys_id asc')
  66. ->select();
  67. $list[$key]['cpmc'] = $dataCount[0]['yj_yjmc'];
  68. // 提取 sys_id 列成新数组
  69. $sysIds = array_column($dataCount, 'sys_id');
  70. //统计每个不同的 sys_id 的数量
  71. $counts = array_count_values($sysIds);
  72. $i = 0;
  73. foreach ($counts as $k=>$v){
  74. $list[$key]['sys'][$i]['sys_id'] = $k;
  75. $list[$key]['sys'][$i]['count'] = $v;
  76. $i++;
  77. }
  78. }
  79. $this->success('请求成功',$list);
  80. }
  81. /**
  82. * 获取某个日期手工单据
  83. *
  84. * @ApiMethod GET
  85. * @params string date
  86. */
  87. public function getDateList(){
  88. if (Request::instance()->isGet() == false){
  89. $this->error('非法请求');
  90. }
  91. $params = Request::instance()->param();
  92. if (!isset($params['date']) || empty($params['date'])) $this->error('参数缺失');
  93. $pages = 1;
  94. $limit = 15;
  95. if (isset($req['pages']) && !empty($req['pages'])) $pages = $req['page'];
  96. if (isset($req['limit']) && !empty($req['limit'])) $limit = $req['limit'];
  97. if(strpos($params['date'],'-')){
  98. $where = ['a.sys_rq'=>['like','%'.$params['date'].'%']];
  99. $option = ['sys_rq'=>['like','%'.$params['date'].'%']];
  100. }else{
  101. $where = ['a.sczl_gdbh'=>$params['date']];
  102. $option = ['sczl_gdbh'=>$params['date']];
  103. }
  104. if (isset($req['sys_id']) && !empty($req['sys_id'])){
  105. $where['a.sys_id'] = ['LIKE','%'.$req['sys_id'].'%'];
  106. $option['sys_id'] = ['LIKE','%'.$req['sys_id'].'%'];
  107. }
  108. $field = 'a.sczl_gdbh,a.sczl_yjgx,rtrim(a.sczl_gxmc) as sczl_gxmc,DATE(a.sczl_rq) as sczl_rq,a.sczl_cl,a.sczl_dedh,a.sczl_废品率系数,a.sczl_检验类别,a.sczl_bh0,
  109. rtrim(a.qczl_NumDesc) as qczl_NumDesc,rtrim(a.sys_id) as sys_id,a.sys_rq,a.mod_rq,a.UniqId,b.千件工价,b.日定额,rtrim(c.员工姓名) as 员工姓名,rtrim(d.yj_yjmc) as yj_yjmc';
  110. $list = Db::name('db_手工检验')->alias('a')
  111. ->join('dic_lzde b','a.sczl_dedh = b.sys_bh','left')
  112. ->join('人事_基本资料 c','a.sczl_bh0 = c.员工编号','left')
  113. ->join('工单_印件资料 d','a.sczl_gdbh = d.Yj_Gdbh','left')
  114. ->where($where)
  115. ->where('SUBSTR(a.sczl_yjgx,1,2) = d.yj_yjno')
  116. ->field($field)->limit($limit)->page($pages)->order('a.sczl_rq,a.UniqId asc')->select();
  117. $count = Db::name('db_手工检验')->where($option)->count();
  118. $data['data'] = $list;
  119. $data['total'] = $count;
  120. $this->success('请求成功',$data);
  121. }
  122. /**
  123. * 获取某个日期手工单据
  124. * 通过工单
  125. * @ApiMethod GET
  126. * @params string gdbh
  127. */
  128. /*public function getDateListByGdbh(){
  129. if (Request::instance()->isGet() == false){
  130. $this->error('非法请求');
  131. }
  132. $params = Request::instance()->param();
  133. $gdbh = $params['gdbh'];
  134. if (!isset($gdbh)){
  135. $this->error('参数不能为空');
  136. }
  137. $limit = $params['limit'];
  138. if (empty($limit)){
  139. $limit = 15;
  140. }
  141. $pages = $params['page'];
  142. if (empty($pages)){
  143. $pages = 1;
  144. }
  145. $field = 'a.sczl_gdbh,a.sczl_yjgx,rtrim(a.sczl_gxmc) as sczl_gxmc,DATE(a.sczl_rq) as sczl_rq,a.sczl_cl,a.sczl_dedh,a.sczl_废品率系数,a.sczl_检验类别,a.sczl_bh0,
  146. rtrim(a.qczl_NumDesc) as qczl_NumDesc,rtrim(a.sys_id) as sys_id,a.sys_rq,a.mod_rq,a.UniqId,b.千件工价,b.日定额,rtrim(c.员工姓名) as 员工姓名,rtrim(d.yj_yjmc) as yj_yjmc';
  147. $list = Db::name('db_手工检验')->alias('a')
  148. ->join('dic_lzde b','a.sczl_dedh = b.sys_bh','left')
  149. ->join('人事_基本资料 c','a.sczl_bh0 = c.员工编号','left')
  150. ->join('工单_印件资料 d','a.sczl_gdbh = d.Yj_Gdbh','left')
  151. ->where('a.sczl_gdbh',$gdbh)
  152. ->where('SUBSTR(a.sczl_yjgx,1,2) = d.yj_yjno')
  153. ->field($field)->limit($limit)->page($pages)->order('a.sczl_rq,a.UniqId asc')->select();
  154. $count = Db::name('db_手工检验')->where('sczl_gdbh',$gdbh)->count();
  155. $data['data'] = $list;
  156. $data['total'] = $count;
  157. $this->success('请求成功',$data);
  158. }*/
  159. /**
  160. * 获取机器检验左侧菜单栏
  161. *
  162. * @ApiMethod GET
  163. */
  164. public function getMachineCount(){
  165. if (Request::instance()->isGet() == false){
  166. $this->error('非法请求');
  167. }
  168. $sql = 'SELECT DISTINCT DATE(sys_rq) AS sys_rq FROM `db_机器检验` ORDER BY sys_rq DESC LIMIT 30 ';
  169. $list = Db::query($sql);
  170. foreach ($list as $key => $value){
  171. $where = [$value['sys_rq'].'00:00:00',$value['sys_rq'].'24:00:00'];
  172. $dataCount = Db::name('db_机器检验')->where('sys_rq','between time',$where)->field('rtrim(sys_id) as sys_id')->order('sys_id asc')->select();
  173. $list[$key]['count'] = count($dataCount);
  174. // 提取 sys_id 列成新数组
  175. $sysIds = array_column($dataCount, 'sys_id');
  176. //统计每个不同的 sys_id 的数量
  177. $counts = array_count_values($sysIds);
  178. $i = 0;
  179. foreach ($counts as $k=>$v){
  180. $list[$key]['sys'][$i]['sys_id'] = $k;
  181. $list[$key]['sys'][$i]['count'] = $v;
  182. $i++;
  183. }
  184. }
  185. $this->success('请求成功',$list);
  186. }
  187. /**
  188. * 获取机器检验左侧菜单栏
  189. *
  190. * @ApiMethod GET
  191. */
  192. public function getMachineCountByGdbh(){
  193. if (Request::instance()->isGet() == false){
  194. $this->error('非法请求');
  195. }
  196. $sql = 'SELECT DISTINCT sczl_gdbh FROM `db_机器检验` ORDER BY sczl_gdbh DESC LIMIT 65 ';
  197. $list = Db::query($sql);
  198. foreach ($list as $key => $value){
  199. $dataCount = Db::name('db_机器检验')->alias('d')
  200. ->where('sczl_gdbh',$value['sczl_gdbh'])
  201. ->field('rtrim(d.sys_id) as sys_id, rtrim(g.Gd_cpmc) as Gd_cpmc')
  202. ->join(['工单_基本资料'=>'g'],'d.sczl_gdbh=g.Gd_gdbh')
  203. ->order('sys_id asc')
  204. ->select();
  205. $list[$key]['cpmc'] = $dataCount[0]['Gd_cpmc'];
  206. // 提取 sys_id 列成新数组
  207. $sysIds = array_column($dataCount, 'sys_id');
  208. //统计每个不同的 sys_id 的数量
  209. $counts = array_count_values($sysIds);
  210. $i = 0;
  211. foreach ($counts as $k=>$v){
  212. $list[$key]['sys'][$i]['sys_id'] = $k;
  213. $list[$key]['sys'][$i]['count'] = $v;
  214. $i++;
  215. }
  216. }
  217. $this->success('请求成功',$list);
  218. }
  219. /**
  220. * 获取某个日期机器单据
  221. *
  222. * @ApiMethod GET
  223. * @params string date
  224. */
  225. public function getDateMachine(){
  226. if (Request::instance()->isGet() == false){
  227. $this->error('非法请求');
  228. }
  229. $params = Request::instance()->param();
  230. if (!isset($params['date']) || empty($params['date'])) $this->error('参数缺失');
  231. $pages = 1;
  232. $limit = 15;
  233. if (isset($req['pages']) && !empty($req['pages'])) $pages = $req['page'];
  234. if (isset($req['limit']) && !empty($req['limit'])) $limit = $req['limit'];
  235. if(strpos($params['date'],'-')){
  236. $where = ['a.sys_rq'=>['like','%'.$params['date'].'%']];
  237. $option = ['sys_rq'=>['like','%'.$params['date'].'%']];
  238. }else{
  239. $where = ['a.sczl_gdbh'=>$params['date']];
  240. $option = ['sczl_gdbh'=>$params['date']];
  241. }
  242. if (isset($req['sys_id']) && !empty($req['sys_id'])){
  243. $where['a.sys_id'] = ['LIKE','%'.$req['sys_id'].'%'];
  244. $option['sys_id'] = ['LIKE','%'.$req['sys_id'].'%'];
  245. }
  246. $where['a.sczl_单据类型'] = '初检单';
  247. $field = 'a.sczl_gdbh,trim(a.sczl_yjgx) as sczl_yjgx,rtrim(a.sczl_gxmc) as sczl_gxmc,a.sczl_jtbh,a.sczl_bzdh,DATE(a.sczl_rq) as sczl_rq,a.sczl_cl,rtrim(a.sczl_单据类型) as sczl_单据类型,
  248. a.sczl_设备运行工时,a.sczl_dedh,a.sczl_废品率系数,rtrim(a.sczl_检验类别) as sczl_检验类别,a.sczl_bh1,a.sczl_bh2,a.sczl_bh3,a.sczl_bh4,a.qczl_NumDesc,rtrim(a.sys_id) as sys_id,
  249. a.sys_rq,a.mod_rq,a.UniqId,b.千件工价,b.日定额,rtrim(c1.员工姓名) as sczl_bh1_name,rtrim(c2.员工姓名) as sczl_bh2_name,rtrim(c3.员工姓名) as sczl_bh3_name,
  250. rtrim(c4.员工姓名) as sczl_bh4_name,rtrim(d.yj_yjmc) as yj_yjmc';
  251. $list = Db::name('db_机器检验')->alias('a')
  252. ->join('dic_lzde b','a.sczl_dedh = b.sys_bh','left')
  253. ->join('人事_基本资料 c1','a.sczl_bh1 = c1.员工编号','left')
  254. ->join('人事_基本资料 c2','a.sczl_bh2 = c2.员工编号','left')
  255. ->join('人事_基本资料 c3','a.sczl_bh3 = c3.员工编号','left')
  256. ->join('人事_基本资料 c4','a.sczl_bh4 = c4.员工编号','left')
  257. ->join('工单_印件资料 d','a.sczl_gdbh = d.Yj_Gdbh','left')
  258. ->where($where)
  259. ->where('SUBSTR(a.sczl_yjgx,1,2) = d.yj_yjno')
  260. ->field($field)->limit($limit)->page($pages)->order('a.sczl_rq asc,a.UniqId desc')->select();
  261. $option['sczl_单据类型'] = '初检单';
  262. $count = Db::name('db_机器检验')->where($option)->count();
  263. $data['data'] = $list;
  264. $data['total'] = $count;
  265. $this->success('请求成功',$data);
  266. }
  267. /**
  268. * 获取某个日期机器单据
  269. *
  270. * @ApiMethod GET
  271. * @params string date
  272. */
  273. /*public function getDateMachineByGdbh(){
  274. if (Request::instance()->isGet() == false){
  275. $this->error('非法请求');
  276. }
  277. $params = Request::instance()->param();
  278. $gdbh = $params['gdbh'];
  279. if (!isset($gdbh)){
  280. $this->error('参数不能为空');
  281. }
  282. $limit = $params['limit'];
  283. if (empty($limit)){
  284. $limit = 15;
  285. }
  286. $pages = $params['page'];
  287. if (empty($pages)){
  288. $pages = 1;
  289. }
  290. $where['a.sczl_单据类型'] = '初检单';
  291. $where['a.sczl_gdbh'] = $gdbh;
  292. $field = 'a.sczl_gdbh,trim(a.sczl_yjgx) as sczl_yjgx,rtrim(a.sczl_gxmc) as sczl_gxmc,a.sczl_jtbh,a.sczl_bzdh,DATE(a.sczl_rq) as sczl_rq,a.sczl_cl,rtrim(a.sczl_单据类型) as sczl_单据类型,
  293. a.sczl_设备运行工时,a.sczl_dedh,a.sczl_废品率系数,rtrim(a.sczl_检验类别) as sczl_检验类别,a.sczl_bh1,a.sczl_bh2,a.sczl_bh3,a.sczl_bh4,a.qczl_NumDesc,rtrim(a.sys_id) as sys_id,
  294. a.sys_rq,a.mod_rq,a.UniqId,b.千件工价,b.日定额,rtrim(c1.员工姓名) as sczl_bh1_name,rtrim(c2.员工姓名) as sczl_bh2_name,rtrim(c3.员工姓名) as sczl_bh3_name,
  295. rtrim(c4.员工姓名) as sczl_bh4_name,rtrim(d.yj_yjmc) as yj_yjmc';
  296. $list = Db::name('db_机器检验')->alias('a')
  297. ->join('dic_lzde b','a.sczl_dedh = b.sys_bh','left')
  298. ->join('人事_基本资料 c1','a.sczl_bh1 = c1.员工编号','left')
  299. ->join('人事_基本资料 c2','a.sczl_bh2 = c2.员工编号','left')
  300. ->join('人事_基本资料 c3','a.sczl_bh3 = c3.员工编号','left')
  301. ->join('人事_基本资料 c4','a.sczl_bh4 = c4.员工编号','left')
  302. ->join('工单_印件资料 d','a.sczl_gdbh = d.Yj_Gdbh','left')
  303. ->where($where)
  304. ->where('SUBSTR(a.sczl_yjgx,1,2) = d.yj_yjno')
  305. ->field($field)->limit($limit)->page($pages)->order('a.sczl_rq asc,a.UniqId desc')->select();
  306. $option['sczl_单据类型'] = '初检单';
  307. $option['sys_rq'] = $gdbh;
  308. $count = Db::name('db_机器检验')->where($option)->count();
  309. $data['data'] = $list;
  310. $data['total'] = $count;
  311. $this->success('请求成功',$data);
  312. }*/
  313. /**
  314. * 定位
  315. * @ApiMethod (GET)
  316. * @param string $gdbh 工单编号
  317. * @param string $cpmc 产品名称
  318. * @param string $page 页码
  319. * @param string $limit 数量
  320. */
  321. public function locate()
  322. {
  323. //get请求
  324. if(!$this->request->isGet()){
  325. $this->error('请求方式错误');
  326. }
  327. $req = $this->request->param();
  328. $page = 1;
  329. $limit = 15;
  330. if (isset($req['page']) && !empty($req['page'])) $page = $req['page'];
  331. if (isset($req['limit']) && !empty($req['limit'])) $limit = $req['limit'];
  332. if (isset($req['gdbh']) && !empty($req['gdbh'])){
  333. $where = [
  334. 'a.sczl_gdbh'=>[ 'like', '%' . $req['gdbh'] . '%']
  335. ];
  336. $field = 'a.sczl_gdbh,a.sczl_yjgx,rtrim(a.sczl_gxmc) as sczl_gxmc,DATE(a.sczl_rq) as sczl_rq,a.sczl_cl,a.sczl_dedh,a.sczl_废品率系数,a.sczl_检验类别,a.sczl_bh0,
  337. rtrim(a.qczl_NumDesc) as qczl_NumDesc,rtrim(a.sys_id) as sys_id,a.sys_rq,a.mod_rq,a.UniqId,b.千件工价,b.日定额,rtrim(c.员工姓名) as 员工姓名,rtrim(d.yj_yjmc) as yj_yjmc';
  338. $rows = Db::name('db_手工检验')->alias('a')
  339. ->join('dic_lzde b','a.sczl_dedh = b.sys_bh','left')
  340. ->join('人事_基本资料 c','a.sczl_bh0 = c.员工编号','left')
  341. ->join('工单_印件资料 d','a.sczl_gdbh = d.Yj_Gdbh','left')
  342. ->where($where)
  343. ->where('SUBSTR(a.sczl_yjgx,1,2) = d.yj_yjno')
  344. ->field($field)->page($page,$limit)->order('a.sczl_rq,a.UniqId asc')->select();
  345. $option['sczl_gdbh'] = [ 'like', '%' . $req['gdbh'] . '%'];
  346. $total = Db::name('db_手工检验')->where($option)->count();
  347. }else{
  348. if (isset($req['cpmc']) && !empty($req['cpmc'])){
  349. //查询工单表
  350. $gd = db()->table('工单_基本资料')
  351. ->where('Gd_cpmc', 'LIKE', '%'.$req['cpmc'].'%')
  352. ->column('Gd_gdbh');
  353. $where = [
  354. 'a.sczl_gdbh'=>['in', $gd]
  355. ];
  356. $field = 'a.sczl_gdbh,a.sczl_yjgx,rtrim(a.sczl_gxmc) as sczl_gxmc,DATE(a.sczl_rq) as sczl_rq,a.sczl_cl,a.sczl_dedh,a.sczl_废品率系数,a.sczl_检验类别,a.sczl_bh0,
  357. rtrim(a.qczl_NumDesc) as qczl_NumDesc,rtrim(a.sys_id) as sys_id,a.sys_rq,a.mod_rq,a.UniqId,b.千件工价,b.日定额,rtrim(c.员工姓名) as 员工姓名,rtrim(d.yj_yjmc) as yj_yjmc';
  358. $rows = Db::name('db_手工检验')->alias('a')
  359. ->join('dic_lzde b','a.sczl_dedh = b.sys_bh','left')
  360. ->join('人事_基本资料 c','a.sczl_bh0 = c.员工编号','left')
  361. ->join('工单_印件资料 d','a.sczl_gdbh = d.Yj_Gdbh','left')
  362. ->where($where)
  363. ->where('SUBSTR(a.sczl_yjgx,1,2) = d.yj_yjno')
  364. ->field($field)->page($page,$limit)->order('a.sczl_rq,a.UniqId asc')->select();
  365. $option['sczl_gdbh'] = ['in', $gd];
  366. $total = Db::name('db_手工检验')->where($option)->count();
  367. }else{
  368. $this->error('参数错误');
  369. }
  370. }
  371. $data = [
  372. 'total' => $total,
  373. 'rows' => $rows,
  374. ];
  375. $this->success('成功',$data);
  376. }
  377. /**
  378. * 定位
  379. * @ApiMethod (GET)
  380. * @param string $gdbh 工单编号
  381. * @param string $cpmc 产品名称
  382. * @param string $page 页码
  383. * @param string $limit 数量
  384. */
  385. public function machineLocate()
  386. {
  387. //get请求
  388. if(!$this->request->isGet()){
  389. $this->error('请求方式错误');
  390. }
  391. $req = $this->request->param();
  392. $page = 1;
  393. $limit = 15;
  394. if (isset($req['page']) && !empty($req['page'])) $page = $req['page'];
  395. if (isset($req['limit']) && !empty($req['limit'])) $limit = $req['limit'];
  396. if (isset($req['gdbh']) && !empty($req['gdbh'])){
  397. $where = [
  398. 'sczl_gdbh'=>[ 'like', '%' . $req['gdbh'] . '%']
  399. ];
  400. $where['a.sczl_单据类型'] = '初检单';
  401. $field = 'a.sczl_gdbh,trim(a.sczl_yjgx) as sczl_yjgx,rtrim(a.sczl_gxmc) as sczl_gxmc,a.sczl_jtbh,a.sczl_bzdh,DATE(a.sczl_rq) as sczl_rq,a.sczl_cl,rtrim(a.sczl_单据类型) as sczl_单据类型,
  402. a.sczl_设备运行工时,a.sczl_dedh,a.sczl_废品率系数,rtrim(a.sczl_检验类别) as sczl_检验类别,a.sczl_bh1,a.sczl_bh2,a.sczl_bh3,a.sczl_bh4,a.qczl_NumDesc,rtrim(a.sys_id) as sys_id,
  403. a.sys_rq,a.mod_rq,a.UniqId,b.千件工价,b.日定额,rtrim(c1.员工姓名) as sczl_bh1_name,rtrim(c2.员工姓名) as sczl_bh2_name,rtrim(c3.员工姓名) as sczl_bh3_name,
  404. rtrim(c4.员工姓名) as sczl_bh4_name,rtrim(d.yj_yjmc) as yj_yjmc';
  405. $rows = Db::name('db_机器检验')->alias('a')
  406. ->join('dic_lzde b','a.sczl_dedh = b.sys_bh','left')
  407. ->join('人事_基本资料 c1','a.sczl_bh1 = c1.员工编号','left')
  408. ->join('人事_基本资料 c2','a.sczl_bh2 = c2.员工编号','left')
  409. ->join('人事_基本资料 c3','a.sczl_bh3 = c3.员工编号','left')
  410. ->join('人事_基本资料 c4','a.sczl_bh4 = c4.员工编号','left')
  411. ->join('工单_印件资料 d','a.sczl_gdbh = d.Yj_Gdbh','left')
  412. ->where($where)
  413. ->where('SUBSTR(a.sczl_yjgx,1,2) = d.yj_yjno')
  414. ->field($field)->page($page,$limit)->order('a.sczl_rq asc,a.UniqId desc')->select();
  415. $option['sczl_单据类型'] = '初检单';
  416. $option['sczl_gdbh'] = [ 'like', '%' . $req['gdbh'] . '%'];
  417. $total = Db::name('db_机器检验')->where($option)->count();
  418. }else{
  419. if (isset($req['cpmc']) && !empty($req['cpmc'])){
  420. //查询工单表
  421. $gd = db()->table('工单_基本资料')
  422. ->where('Gd_cpmc', 'LIKE', '%'.$req['cpmc'].'%')
  423. ->column('Gd_gdbh');
  424. $where = [
  425. 'sczl_gdbh'=>['in', $gd]
  426. ];
  427. $where['a.sczl_单据类型'] = '初检单';
  428. $field = 'a.sczl_gdbh,trim(a.sczl_yjgx) as sczl_yjgx,rtrim(a.sczl_gxmc) as sczl_gxmc,a.sczl_jtbh,a.sczl_bzdh,DATE(a.sczl_rq) as sczl_rq,a.sczl_cl,rtrim(a.sczl_单据类型) as sczl_单据类型,
  429. a.sczl_设备运行工时,a.sczl_dedh,a.sczl_废品率系数,rtrim(a.sczl_检验类别) as sczl_检验类别,a.sczl_bh1,a.sczl_bh2,a.sczl_bh3,a.sczl_bh4,a.qczl_NumDesc,rtrim(a.sys_id) as sys_id,
  430. a.sys_rq,a.mod_rq,a.UniqId,b.千件工价,b.日定额,rtrim(c1.员工姓名) as sczl_bh1_name,rtrim(c2.员工姓名) as sczl_bh2_name,rtrim(c3.员工姓名) as sczl_bh3_name,
  431. rtrim(c4.员工姓名) as sczl_bh4_name,rtrim(d.yj_yjmc) as yj_yjmc';
  432. $rows = Db::name('db_机器检验')->alias('a')
  433. ->join('dic_lzde b','a.sczl_dedh = b.sys_bh','left')
  434. ->join('人事_基本资料 c1','a.sczl_bh1 = c1.员工编号','left')
  435. ->join('人事_基本资料 c2','a.sczl_bh2 = c2.员工编号','left')
  436. ->join('人事_基本资料 c3','a.sczl_bh3 = c3.员工编号','left')
  437. ->join('人事_基本资料 c4','a.sczl_bh4 = c4.员工编号','left')
  438. ->join('工单_印件资料 d','a.sczl_gdbh = d.Yj_Gdbh','left')
  439. ->where($where)
  440. ->where('SUBSTR(a.sczl_yjgx,1,2) = d.yj_yjno')
  441. ->field($field)->page($page,$limit)->order('a.sczl_rq asc,a.UniqId desc')->select();
  442. $option['sczl_单据类型'] = '初检单';
  443. $option['sczl_gdbh'] = ['in', $gd];
  444. $total = Db::name('db_机器检验')->where($option)->count();
  445. }else{
  446. $this->error('参数错误');
  447. }
  448. }
  449. $data = [
  450. 'total' => $total,
  451. 'rows' => $rows,
  452. ];
  453. $this->success('成功',$data);
  454. }
  455. /**
  456. * 获取信息
  457. * @ApiMethod (GET)
  458. * @param string $UniqId UniqId
  459. */
  460. public function getInfo()
  461. {
  462. //get请求
  463. if(!$this->request->isGet()){
  464. $this->error('请求方式错误');
  465. }
  466. $req = $this->request->param();
  467. if (isset($req['UniqId']) && !empty($req['UniqId'])){
  468. $UniqId = $req['UniqId'];
  469. }else{
  470. $this->error('参数错误');
  471. }
  472. $where['a.UniqId'] = $UniqId;
  473. $field = 'DATE(a.sczl_rq) as sczl_rq, a.sczl_bzdh,a.sczl_bh0, rtrim(c0.员工姓名) as sczl_bh0_name, a.sczl_cl0, a.sczl_fp0,
  474. a.sczl_gdbh,trim(a.sczl_yjgx) as sczl_yjgx,rtrim(a.sczl_gxmc) as sczl_gxmc,rtrim(d.yj_yjmc) as yj_yjmc,
  475. a.sczl_cl,rtrim(a.sczl_dedh) as sczl_dedh,rtrim(a.sczl_检验类别) as sczl_检验类别,a.sczl_废品率系数,
  476. a.sczl_jsss,a.sczl_冲定额,a.qczl_Num as 流程单号1,a.qczl_NumDesc1 as 流程单号2,a.qczl_NumDesc2 as 流程单号3,
  477. a.qczl_NumDesc3 as 流程单号4,a.qczl_NumDesc4 as 流程单号5,a.qczl_NumDesc5 as 流程单号6,
  478. a.qczl_NumDesc6 as 流程单号7,a.qczl_NumDesc7 as 流程单号8,a.qczl_NumDesc8 as 流程单号9,
  479. rtrim(a.qczl_NumDesc) as qczl_NumDesc,rtrim(a.sczl_desc) as sczl_desc,
  480. a.sczl_bh1,a.sczl_bh2,a.sczl_bh3,a.sczl_bh4,a.sczl_bh5, a.sczl_bh6,
  481. a.sczl_bh7,a.sczl_bh8,a.sczl_bh9,a.sczl_bh10,a.sczl_bh11, a.sczl_bh12,
  482. rtrim(c1.员工姓名) as sczl_bh1_name,rtrim(c2.员工姓名) as sczl_bh2_name,
  483. rtrim(c3.员工姓名) as sczl_bh3_name,rtrim(c4.员工姓名) as sczl_bh4_name,
  484. rtrim(c5.员工姓名) as sczl_bh5_name,rtrim(c6.员工姓名) as sczl_bh6_name,
  485. rtrim(c7.员工姓名) as sczl_bh7_name,rtrim(c8.员工姓名) as sczl_bh8_name,
  486. rtrim(c9.员工姓名) as sczl_bh9_name,rtrim(c10.员工姓名) as sczl_bh10_name,
  487. rtrim(c11.员工姓名) as sczl_bh11_name,rtrim(c12.员工姓名) as sczl_bh12_name,
  488. a.sczl_cl1,a.sczl_cl2,a.sczl_cl3,a.sczl_cl4,a.sczl_cl5,a.sczl_cl6,
  489. a.sczl_cl7,a.sczl_cl8,a.sczl_cl9,a.sczl_cl10,a.sczl_cl11,a.sczl_cl12,
  490. a.sczl_fp1,a.sczl_fp2,a.sczl_fp3,a.sczl_fp4,a.sczl_fp5,a.sczl_fp6,
  491. a.sczl_fp7,a.sczl_fp8,a.sczl_fp9,a.sczl_fp10,a.sczl_fp11,a.sczl_fp12';
  492. $rows = Db::name('db_手工检验')->alias('a')
  493. ->join('人事_基本资料 c0','a.sczl_bh0 = c0.员工编号','left')
  494. ->join('人事_基本资料 c1','a.sczl_bh1 = c1.员工编号','left')
  495. ->join('人事_基本资料 c2','a.sczl_bh2 = c2.员工编号','left')
  496. ->join('人事_基本资料 c3','a.sczl_bh3 = c3.员工编号','left')
  497. ->join('人事_基本资料 c4','a.sczl_bh4 = c4.员工编号','left')
  498. ->join('人事_基本资料 c5','a.sczl_bh5 = c5.员工编号','left')
  499. ->join('人事_基本资料 c6','a.sczl_bh6 = c6.员工编号','left')
  500. ->join('人事_基本资料 c7','a.sczl_bh7 = c7.员工编号','left')
  501. ->join('人事_基本资料 c8','a.sczl_bh8 = c8.员工编号','left')
  502. ->join('人事_基本资料 c9','a.sczl_bh9 = c9.员工编号','left')
  503. ->join('人事_基本资料 c10','a.sczl_bh10 = c10.员工编号','left')
  504. ->join('人事_基本资料 c11','a.sczl_bh11 = c11.员工编号','left')
  505. ->join('人事_基本资料 c12','a.sczl_bh12 = c12.员工编号','left')
  506. ->join('工单_印件资料 d','a.sczl_gdbh = d.Yj_Gdbh','left')
  507. ->where($where)
  508. ->where('SUBSTR(a.sczl_yjgx,1,2) = d.yj_yjno')
  509. ->field($field)->find();
  510. $this->success('成功',$rows);
  511. }
  512. /**
  513. * 获取信息
  514. * @ApiMethod (GET)
  515. * @param string $UniqId UniqId
  516. */
  517. public function getMachineInfo()
  518. {
  519. //get请求
  520. if(!$this->request->isGet()){
  521. $this->error('请求方式错误');
  522. }
  523. $req = $this->request->param();
  524. if (isset($req['UniqId']) && !empty($req['UniqId'])){
  525. $UniqId = $req['UniqId'];
  526. }else{
  527. $this->error('参数错误');
  528. }
  529. $where['a.UniqId'] = $UniqId;
  530. $field = 'a.sczl_gdbh,trim(a.sczl_yjgx) as sczl_yjgx,rtrim(a.sczl_gxmc) as sczl_gxmc,
  531. a.sczl_jtbh,a.sczl_bzdh,DATE(a.sczl_rq) as sczl_rq,a.sczl_cl,a.sczl_PgCl,
  532. rtrim(a.sczl_单据类型) as sczl_单据类型,rtrim(a.sczl_dedh) as sczl_dedh,
  533. a.sczl_装版工时,a.sczl_保养工时,a.sczl_异常停机工时,a.sczl_设备运行工时,
  534. a.sczl_废品率系数,rtrim(a.sczl_检验类别) as sczl_检验类别,
  535. a.sczl_bh1,a.sczl_bh2,a.sczl_bh3,a.sczl_bh4,a.sczl_bh5, a.sczl_bh6,a.sczl_bh7,a.sczl_bh8,
  536. a.qczl_Num as 流程单号1,a.qczl_NumDesc1 as 流程单号2,a.qczl_NumDesc2 as 流程单号3,
  537. a.qczl_NumDesc3 as 流程单号4,a.qczl_NumDesc4 as 流程单号5,a.qczl_NumDesc5 as 流程单号6,
  538. a.qczl_NumDesc6 as 流程单号7,a.qczl_NumDesc7 as 流程单号8,a.qczl_NumDesc8 as 流程单号9,
  539. a.qczl_NumDesc,a.sczl_desc,
  540. rtrim(c1.员工姓名) as sczl_bh1_name,rtrim(c2.员工姓名) as sczl_bh2_name,
  541. rtrim(c3.员工姓名) as sczl_bh3_name,rtrim(c4.员工姓名) as sczl_bh4_name,
  542. rtrim(c5.员工姓名) as sczl_bh5_name,rtrim(c6.员工姓名) as sczl_bh6_name,
  543. rtrim(c7.员工姓名) as sczl_bh7_name,rtrim(c8.员工姓名) as sczl_bh8_name,
  544. rtrim(d.yj_yjmc) as yj_yjmc';
  545. $rows = Db::name('db_机器检验')->alias('a')
  546. ->join('dic_lzde b','a.sczl_dedh = b.sys_bh','left')
  547. ->join('人事_基本资料 c1','a.sczl_bh1 = c1.员工编号','left')
  548. ->join('人事_基本资料 c2','a.sczl_bh2 = c2.员工编号','left')
  549. ->join('人事_基本资料 c3','a.sczl_bh3 = c3.员工编号','left')
  550. ->join('人事_基本资料 c4','a.sczl_bh4 = c4.员工编号','left')
  551. ->join('人事_基本资料 c5','a.sczl_bh5 = c5.员工编号','left')
  552. ->join('人事_基本资料 c6','a.sczl_bh6 = c6.员工编号','left')
  553. ->join('人事_基本资料 c7','a.sczl_bh7 = c7.员工编号','left')
  554. ->join('人事_基本资料 c8','a.sczl_bh8 = c8.员工编号','left')
  555. ->join('工单_印件资料 d','a.sczl_gdbh = d.Yj_Gdbh','left')
  556. ->where($where)
  557. ->where('SUBSTR(a.sczl_yjgx,1,2) = d.yj_yjno')
  558. ->field($field)->find();
  559. $this->success('成功',$rows);
  560. }
  561. /**
  562. * 查询印件工序及产品名称
  563. * @ApiMethod (GET)
  564. * @param string $gdbh 工单编号
  565. * @param string $gxmc 工序名称
  566. */
  567. public function getGxMc()
  568. {
  569. //get请求
  570. if(!$this->request->isGet()){
  571. $this->error('请求方式错误');
  572. }
  573. $req = $this->request->param();
  574. if (isset($req['gdbh']) && !empty($req['gdbh'])){
  575. $gdbh = $req['gdbh'];
  576. }else{
  577. $this->error('参数错误');
  578. }
  579. $gxmc = ['手检','手检(圆切)','次品检','抽检','大张翻检'];
  580. $gxmcs = [];
  581. foreach ($gxmc as $k=>$v){
  582. array_push($gxmcs,['like','%'.$v.'%']);
  583. }
  584. array_push($gxmcs,'OR');
  585. $rows = db()->table('工单_基本资料')->alias('g')
  586. ->field('rtrim(g.Gd_cpmc) as Gd_cpmc, c.Gy0_yjno, c.Gy0_gxh, rtrim(c.Gy0_gxmc) as Gy0_gxmc')
  587. ->where(['g.Gd_gdbh'=>$gdbh])
  588. ->where(['c.Gy0_gxmc'=>$gxmcs])
  589. ->join(['产品_印件资料'=>'j'],'g.Gd_cpdh=j.yj_yjdh and g.成品代号=j.yj_cpdh')
  590. ->join(['工单_工艺资料'=>'c'],'c.Gy0_gdbh=g.Gd_gdbh and c.Gy0_yjno=j.yj_yjno')
  591. ->select();
  592. foreach ($rows as $key=>$value){
  593. $rows[$key]['jyGx'] = sprintf("%02d", $value['Gy0_yjno']).'-'.$value['Gy0_gxh'];
  594. }
  595. $this->success('成功',$rows);
  596. }
  597. /**
  598. * 查询印件工序及产品名称
  599. * @ApiMethod (GET)
  600. * @param string $gdbh 工单编号
  601. * @param string $gxmc 工序名称
  602. */
  603. public function getMachineGxMc()
  604. {
  605. //get请求
  606. if(!$this->request->isGet()){
  607. $this->error('请求方式错误');
  608. }
  609. $req = $this->request->param();
  610. if (isset($req['gdbh']) && !empty($req['gdbh'])){
  611. $gdbh = $req['gdbh'];
  612. }else{
  613. $this->error('参数错误');
  614. }
  615. $gxmc = ['机检'];
  616. $gxmcs = [];
  617. foreach ($gxmc as $k=>$v){
  618. array_push($gxmcs,['like','%'.$v.'%']);
  619. }
  620. array_push($gxmcs,'OR');
  621. $rows = db()->table('工单_基本资料')->alias('g')
  622. ->field('rtrim(g.Gd_cpmc) as Gd_cpmc, c.Gy0_yjno, c.Gy0_gxh, rtrim(c.Gy0_gxmc) as Gy0_gxmc')
  623. ->where(['g.Gd_gdbh'=>$gdbh])
  624. ->where(['c.Gy0_gxmc'=>$gxmcs])
  625. ->join(['产品_印件资料'=>'j'],'g.Gd_cpdh=j.yj_yjdh and g.成品代号=j.yj_cpdh')
  626. ->join(['工单_工艺资料'=>'c'],'c.Gy0_gdbh=g.Gd_gdbh and c.Gy0_yjno=j.yj_yjno')
  627. ->select();
  628. foreach ($rows as $key=>$value){
  629. $rows[$key]['jyGx'] = sprintf("%02d", $value['Gy0_yjno']).'-'.$value['Gy0_gxh'];
  630. }
  631. $this->success('成功',$rows);
  632. }
  633. /**
  634. * 查询定额代号
  635. * @ApiMethod (GET)
  636. */
  637. public function getDedh()
  638. {
  639. //get请求
  640. if(!$this->request->isGet()){
  641. $this->error('请求方式错误');
  642. }
  643. $row = db()->table('dic_lzde')
  644. ->field('Key_, sys_bh, rtrim(sys_mc) as sys_mc')
  645. ->where('sys_mc','初检(手工)')
  646. ->find();
  647. $rows = db()->table('dic_lzde')
  648. ->field('sys_bh, rtrim(sys_mc) as sys_mc')
  649. ->where('Parent',$row['Key_'])
  650. ->select();
  651. $row['bh_mc'] = $rows;
  652. $this->success('成功',$row);
  653. }
  654. /**
  655. * 查询定额代号
  656. * @ApiMethod (GET)
  657. */
  658. public function getMachineDedh()
  659. {
  660. //get请求
  661. if(!$this->request->isGet()){
  662. $this->error('请求方式错误');
  663. }
  664. // $req = $this->request->param();
  665. // if (isset($req['sys_mc']) && !empty($req['sys_mc'])){
  666. // $sys_mc = $req['sys_mc'];
  667. // }else{
  668. // $this->error('参数错误');
  669. // }
  670. $row = db()->table('dic_lzde')
  671. ->field('Key_, sys_bh, rtrim(sys_mc) as sys_mc')
  672. ->where('适用机型','JP01#')
  673. ->find();
  674. $rows = db()->table('dic_lzde')
  675. ->field('sys_bh, rtrim(sys_mc) as sys_mc')
  676. ->where('Parent',$row['Key_'])
  677. ->select();
  678. $row['bh_mc'] = $rows;
  679. $this->success('成功',$row);
  680. }
  681. /**
  682. * 查询废品系数
  683. * @ApiMethod (GET)
  684. */
  685. public function getScrapFactor()
  686. {
  687. //get请求
  688. if(!$this->request->isGet()){
  689. $this->error('请求方式错误');
  690. }
  691. $req = $this->request->param();
  692. isset($req['gdbh']) && !empty($req['gdbh']) ? $gdbh = $req['gdbh'] : $this->error('参数错误');
  693. isset($req['yjno']) && !empty($req['yjno']) ? $yjno = $req['yjno'] : $this->error('参数错误');
  694. isset($req['gxh']) && !empty($req['gxh']) ? $gxh = $req['gxh'] : $this->error('参数错误');
  695. isset($req['type']) && !empty($req['type']) ? $type = $req['type'] : $this->error('参数错误');
  696. switch ($type){
  697. case '正品板':
  698. $field = '人工检_正品板 as num';
  699. case '次品板':
  700. $field = '人工检_次品板 as num';
  701. case '废品板':
  702. $field = '人工检_废检 as num';
  703. }
  704. $rows = db()->table('工单_工艺资料')
  705. ->field($field)
  706. ->where(['Gy0_gdbh'=>$gdbh, 'Gy0_yjno'=>$yjno, 'Gy0_gxh'=>$gxh])
  707. ->find();
  708. $this->success('成功',$rows);
  709. }
  710. /**
  711. * 查询废品系数
  712. * @ApiMethod (GET)
  713. */
  714. public function getMachineScrapFactor()
  715. {
  716. //get请求
  717. if(!$this->request->isGet()){
  718. $this->error('请求方式错误');
  719. }
  720. $req = $this->request->param();
  721. isset($req['gdbh']) && !empty($req['gdbh']) ? $gdbh = $req['gdbh'] : $this->error('参数错误');
  722. isset($req['yjno']) && !empty($req['yjno']) ? $yjno = $req['yjno'] : $this->error('参数错误');
  723. isset($req['gxh']) && !empty($req['gxh']) ? $gxh = $req['gxh'] : $this->error('参数错误');
  724. isset($req['type']) && !empty($req['type']) ? $type = $req['type'] : $this->error('参数错误');
  725. switch ($type){
  726. case '正品板':
  727. $field = '机检_正品板 as num';
  728. case '次品板':
  729. $field = '机检_次品板 as num';
  730. case '废品板':
  731. $field = '机检_废检 as num';
  732. }
  733. $rows = db()->table('工单_工艺资料')
  734. ->field($field)
  735. ->where(['Gy0_gdbh'=>$gdbh, 'Gy0_yjno'=>$yjno, 'Gy0_gxh'=>$gxh])
  736. ->find();
  737. $this->success('成功',$rows);
  738. }
  739. /**
  740. * 查询机台
  741. * @ApiMethod (GET)
  742. */
  743. public function getJtbh()
  744. {
  745. //get请求
  746. if(!$this->request->isGet()){
  747. $this->error('请求方式错误');
  748. }
  749. $req = $this->request->param();
  750. if (isset($req['sys_mc']) && !empty($req['sys_mc'])){
  751. $sys_mc = $req['sys_mc'];
  752. }else{
  753. $this->error('参数错误');
  754. }
  755. $row = db()->table('dic_lzde')
  756. ->field('Key_, sys_bh, rtrim(sys_mc) as sys_mc')
  757. ->where('sys_mc',$sys_mc)
  758. ->find();
  759. $rows = db()->table('dic_lzde')->alias('d')
  760. ->field('rtrim(s.设备编号) as jtbh, rtrim(s.设备名称) as jtmc')
  761. ->where('Parent',$row['Key_'])
  762. ->join(['设备_基本资料'=>'s'],'d.适用机型=s.设备编号')
  763. ->select();
  764. $this->success('成功',$rows);
  765. }
  766. /**
  767. * 新增
  768. * @ApiMethod (POST)
  769. * @param string
  770. */
  771. public function add()
  772. {
  773. if(!$this->request->isPost()){
  774. $this->error('请求方式错误');
  775. }
  776. $req = $this->request->param();
  777. //sczl_num, sczl_gs, sczl_fp
  778. $arr = [
  779. 'sys_id','sczl_rq','sczl_bzdh','sczl_bh0','sczl_cl0','sczl_fp0',
  780. 'sczl_gdbh','sczl_yjgx','sczl_gxmc',
  781. 'sczl_cl','sczl_dedh','sczl_检验类别','sczl_废品率系数',
  782. 'sczl_jsss','sczl_冲定额',
  783. 'qczl_Num','qczl_NumDesc1','qczl_NumDesc2','qczl_NumDesc3','qczl_NumDesc4',
  784. 'qczl_NumDesc5','qczl_NumDesc6','qczl_NumDesc7','qczl_NumDesc8','qczl_NumDesc',
  785. 'sczl_bh1','sczl_bh2','sczl_bh3','sczl_bh4','sczl_bh5', 'sczl_bh6',
  786. 'sczl_bh7','sczl_bh8','sczl_bh9','sczl_bh10','sczl_bh11', 'sczl_bh12',
  787. 'sczl_cl1','sczl_cl2','sczl_cl3','sczl_cl4','sczl_cl5','sczl_cl6',
  788. 'sczl_cl7','sczl_cl8','sczl_cl9','sczl_cl10','sczl_cl11','sczl_cl12',
  789. 'sczl_fp1','sczl_fp2','sczl_fp3','sczl_fp4','sczl_fp5','sczl_fp6',
  790. 'sczl_fp7','sczl_fp8','sczl_fp9','sczl_fp10','sczl_fp11','sczl_fp12','sczl_desc'
  791. ];
  792. $data = [];
  793. foreach ($arr as $key => $value){
  794. if (!(isset($req[$value]))){
  795. $this->error('参数错误',$value,$key+1);
  796. }
  797. $data[$value] = $req[$value];
  798. }
  799. $data['sys_rq'] = date('Y-m-d H:i:s');
  800. //开启事务
  801. db()->startTrans();
  802. try{
  803. $sql = db()->table('db_手工检验')->fetchSql(true)->insert($data);
  804. $bool = db()->query($sql);
  805. // 提交事务
  806. db()->commit();
  807. } catch (\Exception $e) {
  808. // 回滚事务
  809. db()->rollback();
  810. $this->error($e->getMessage());
  811. }
  812. if($bool===false) $this->error('失败');
  813. $this->success('成功');
  814. }
  815. /**
  816. * 新增
  817. * @ApiMethod (POST)
  818. * @param string
  819. */
  820. public function machineAdd()
  821. {
  822. if(!$this->request->isPost()){
  823. $this->error('请求方式错误');
  824. }
  825. $req = $this->request->param();
  826. //sczl_num, sczl_NumDesc, sczl_fp
  827. $arr = [
  828. 'sys_id','sczl_rq','sczl_bzdh',
  829. 'sczl_gdbh','sczl_yjgx','sczl_gxmc',
  830. 'sczl_jtbh','sczl_单据类型','sczl_检验类别','sczl_废品率系数',
  831. 'sczl_cl','sczl_PgCl','sczl_dedh',
  832. 'qczl_Num','qczl_NumDesc1','qczl_NumDesc2','qczl_NumDesc3','qczl_NumDesc4',
  833. 'qczl_NumDesc5','qczl_NumDesc6','qczl_NumDesc7','qczl_NumDesc8','qczl_NumDesc',
  834. 'sczl_装版工时','sczl_保养工时','sczl_异常停机工时','sczl_设备运行工时',
  835. 'sczl_bh1','sczl_bh2','sczl_bh3','sczl_bh4','sczl_bh5', 'sczl_bh6','sczl_bh7','sczl_bh8',
  836. 'sczl_desc'
  837. ];
  838. $data = [];
  839. foreach ($arr as $key => $value){
  840. if (!(isset($req[$value]))){
  841. $this->error('参数错误',$value,$key+1);
  842. }
  843. $data[$value] = $req[$value];
  844. }
  845. $data['sys_rq'] = date('Y-m-d H:i:s');
  846. //开启事务
  847. db()->startTrans();
  848. try{
  849. $sql = db()->table('db_机器检验')->fetchSql(true)->insert($data);
  850. $bool = db()->query($sql);
  851. // 提交事务
  852. db()->commit();
  853. } catch (\Exception $e) {
  854. // 回滚事务
  855. db()->rollback();
  856. $this->error($e->getMessage());
  857. }
  858. if($bool===false) $this->error('失败');
  859. $this->success('成功');
  860. }
  861. /**
  862. * 修改
  863. * @ApiMethod (POST)
  864. * @param string 'UniqId'
  865. */
  866. public function edit()
  867. {
  868. if(!$this->request->isPost()){
  869. $this->error('请求方式错误');
  870. }
  871. $req = $this->request->param();
  872. $arr = [
  873. 'sczl_rq','sczl_bzdh','sczl_bh0','sczl_cl0','sczl_fp0',
  874. 'sczl_gdbh','sczl_yjgx','sczl_gxmc',
  875. 'sczl_cl','sczl_dedh','sczl_检验类别','sczl_废品率系数',
  876. 'sczl_jsss','sczl_冲定额',
  877. 'qczl_Num','qczl_NumDesc1','qczl_NumDesc2','qczl_NumDesc3','qczl_NumDesc4',
  878. 'qczl_NumDesc5','qczl_NumDesc6','qczl_NumDesc7','qczl_NumDesc8','qczl_NumDesc',
  879. 'sczl_bh1','sczl_bh2','sczl_bh3','sczl_bh4','sczl_bh5', 'sczl_bh6',
  880. 'sczl_bh7','sczl_bh8','sczl_bh9','sczl_bh10','sczl_bh11', 'sczl_bh12',
  881. 'sczl_cl1','sczl_cl2','sczl_cl3','sczl_cl4','sczl_cl5','sczl_cl6',
  882. 'sczl_cl7','sczl_cl8','sczl_cl9','sczl_cl10','sczl_cl11','sczl_cl12',
  883. 'sczl_fp1','sczl_fp2','sczl_fp3','sczl_fp4','sczl_fp5','sczl_fp6',
  884. 'sczl_fp7','sczl_fp8','sczl_fp9','sczl_fp10','sczl_fp11','sczl_fp12','sczl_desc'
  885. ];
  886. $data = [];
  887. foreach ($arr as $key => $value){
  888. if (!(isset($req[$value]))){
  889. continue;
  890. }
  891. $data[$value] = $req[$value];
  892. }
  893. if (!(isset($req['UniqId']) && trim($req['UniqId'])!='')){
  894. $this->error('参数错误','UniqId',100);
  895. }
  896. $data['mod_rq'] = date('Y-m-d H:i:s');
  897. //开启事务
  898. db()->startTrans();
  899. try{
  900. $sql = db()->table('db_手工检验')->where('UniqId',$req['UniqId'])->fetchSql(true)->update($data);
  901. $bool = db()->query($sql);
  902. // 提交事务
  903. db()->commit();
  904. } catch (\Exception $e) {
  905. // 回滚事务
  906. db()->rollback();
  907. $this->error($e->getMessage());
  908. }
  909. if($bool===false) $this->error('失败');
  910. $this->success('成功');
  911. }
  912. /**
  913. * 修改
  914. * @ApiMethod (POST)
  915. * @param string 'UniqId'
  916. */
  917. public function machineEdit()
  918. {
  919. if(!$this->request->isPost()){
  920. $this->error('请求方式错误');
  921. }
  922. $req = $this->request->param();
  923. $arr = [
  924. 'sys_id','sczl_rq','sczl_bzdh',
  925. 'sczl_gdbh','sczl_yjgx','sczl_gxmc',
  926. 'sczl_jtbh','sczl_单据类型','sczl_检验类别','sczl_废品率系数',
  927. 'sczl_cl','sczl_PgCl','sczl_dedh',
  928. 'qczl_Num','qczl_NumDesc1','qczl_NumDesc2','qczl_NumDesc3','qczl_NumDesc4',
  929. 'qczl_NumDesc5','qczl_NumDesc6','qczl_NumDesc7','qczl_NumDesc8','qczl_NumDesc',
  930. 'sczl_装版工时','sczl_保养工时','sczl_异常停机工时','sczl_设备运行工时',
  931. 'sczl_bh1','sczl_bh2','sczl_bh3','sczl_bh4','sczl_bh5', 'sczl_bh6','sczl_bh7','sczl_bh8',
  932. 'sczl_desc'
  933. ];
  934. $data = [];
  935. foreach ($arr as $key => $value){
  936. if (!(isset($req[$value]))){
  937. continue;
  938. }
  939. $data[$value] = $req[$value];
  940. }
  941. if (!(isset($req['UniqId']) && trim($req['UniqId'])!='')){
  942. $this->error('参数错误','UniqId',100);
  943. }
  944. $data['mod_rq'] = date('Y-m-d H:i:s');
  945. //开启事务
  946. db()->startTrans();
  947. try{
  948. $sql = db()->table('db_机器检验')->where('UniqId',$req['UniqId'])->fetchSql(true)->update($data);
  949. $bool = db()->query($sql);
  950. // 提交事务
  951. db()->commit();
  952. } catch (\Exception $e) {
  953. // 回滚事务
  954. db()->rollback();
  955. $this->error($e->getMessage());
  956. }
  957. if($bool===false) $this->error('失败');
  958. $this->success('成功');
  959. }
  960. /**
  961. * 修改
  962. * @ApiMethod (POST)
  963. * @param string 'UniqId'
  964. */
  965. public function del()
  966. {
  967. if(!$this->request->isPost()){
  968. $this->error('请求方式错误');
  969. }
  970. $req = $this->request->param();
  971. if (!(isset($req['UniqId']) && trim($req['UniqId'])!='')){
  972. $this->error('参数错误','UniqId',100);
  973. }
  974. //开启事务
  975. db()->startTrans();
  976. try{
  977. $bool = db()->table('db_手工检验')->where('UniqId',$req['UniqId'])->delete();
  978. // 提交事务
  979. db()->commit();
  980. } catch (\Exception $e) {
  981. // 回滚事务
  982. db()->rollback();
  983. $this->error($e->getMessage());
  984. }
  985. if($bool===false) $this->error('失败');
  986. $this->success('成功');
  987. }
  988. /**
  989. * 修改
  990. * @ApiMethod (POST)
  991. * @param string 'UniqId'
  992. */
  993. public function machineDel()
  994. {
  995. if(!$this->request->isPost()){
  996. $this->error('请求方式错误');
  997. }
  998. $req = $this->request->param();
  999. if (!(isset($req['UniqId']) && trim($req['UniqId'])!='')){
  1000. $this->error('参数错误','UniqId',100);
  1001. }
  1002. //开启事务
  1003. db()->startTrans();
  1004. try{
  1005. $bool = db()->table('db_机器检验')->where('UniqId',$req['UniqId'])->delete();
  1006. // 提交事务
  1007. db()->commit();
  1008. } catch (\Exception $e) {
  1009. // 回滚事务
  1010. db()->rollback();
  1011. $this->error($e->getMessage());
  1012. }
  1013. if($bool===false) $this->error('失败');
  1014. $this->success('成功');
  1015. }
  1016. }