PhOrders.php 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. <?php
  2. namespace app\api\controller\v1;
  3. use app\api\controller\Base;
  4. use app\common\model\Worker;
  5. use app\hander\HelpHander;
  6. use think\App;
  7. use think\Db;
  8. use think\exception\Handle;
  9. class PhOrders extends Base
  10. {
  11. //护工工单列表
  12. public function todoList(){
  13. $page = input('page',1);
  14. $size = input('size',10);
  15. $status = input('status/d',-1);
  16. $model = new \app\common\model\PhOrders();
  17. $res = $model->workerOrderList($this->orgId,$status,$page,$size,$this->userId);
  18. HelpHander::success($res,'操作成功');
  19. }
  20. //护工工单详情
  21. public function todoDetail(){
  22. $id = input('id',0);
  23. $model = new \app\common\model\PhOrders();
  24. $res = $model->todoDetail($id);
  25. HelpHander::success($res,'操作成功');
  26. }
  27. public function editTodo(){
  28. $model = new \app\common\model\PhOrders();
  29. $res = $model->edit_todo($this->userId,$this->orgId);
  30. if(!$res){
  31. HelpHander::error($model->getError());
  32. }else{
  33. HelpHander::success([],'操作成功');
  34. }
  35. }
  36. //调度订单列表
  37. public function orderList(){
  38. $page = input('page',1);
  39. $size = input('size',10);
  40. $status = input('status/d',-1);
  41. $start = input('start','');
  42. $end = input('end','');
  43. $hgName = input('hgName','','trim');
  44. $brName = input('brName','','trim');
  45. $depId = input('depId/d',0);
  46. $model = new \app\common\model\PhOrders();
  47. $res = $model->orderList1($this->orgId,$this->userId,$status,$start,$end,$hgName,$brName,$depId,$page,$size);
  48. HelpHander::success($res,'操作成功');
  49. }
  50. //订单详情
  51. public function detail(){
  52. $id = input('id/d','');
  53. $model = new \app\common\model\PhOrders();
  54. $ret = $model->getInfo($id,$this->orgId);
  55. HelpHander::success($ret,'操作成功');
  56. }
  57. //取消订单
  58. public function cancel(){
  59. $note = input('cancelReason','','trim');
  60. $id = input('id/d',0);
  61. $model = new \app\common\model\PhOrders();
  62. $ret = $model->cancelOrder($id,$note,$this->userId);
  63. if(!$ret){
  64. HelpHander::error($model->getError());
  65. }else{
  66. HelpHander::success([],'操作成功');
  67. }
  68. }
  69. //确认完成
  70. public function finish(){
  71. $model = new \app\common\model\PhOrders();
  72. $res = $model->finishSave($this->userId,$this->orgId);
  73. if($res){
  74. HelpHander::success([],'操作成功');
  75. }else{
  76. HelpHander::error($model->getError());
  77. }
  78. }
  79. //发单
  80. public function add(){
  81. $model = new \app\common\model\PhOrders();
  82. $res = $model->addSave($this->userId,$this->orgId,1);
  83. if($res){
  84. HelpHander::success([],'操作成功');
  85. }else{
  86. HelpHander::error($model->getError());
  87. }
  88. }
  89. public function send(){
  90. $model = new \app\common\model\PhOrders();
  91. $res = $model->sendSave($this->userId,$this->orgId);
  92. if($res){
  93. HelpHander::success([],'操作成功');
  94. }else{
  95. HelpHander::error($model->getError());
  96. }
  97. }
  98. public function getWorkerAll(){
  99. $model = new Worker();
  100. $ret = $model->getAllByOrg($this->orgId);
  101. HelpHander::success($ret,'成功');
  102. }
  103. public function payOrder(){
  104. $id = input('id/d',0);
  105. $remark = input('remark','','trim');
  106. $money = input('money/f',0);
  107. $busType = input('busType/d',0);
  108. if($money <= 0){
  109. HelpHander::error('输入金额错误');
  110. }
  111. $res = model('PhOrderPay')->addSaveDispatch($this->orgId,$id,$money,$remark,$busType);
  112. if($res){
  113. HelpHander::success([],'操作成功');
  114. }else{
  115. HelpHander::error(model('PhOrderPay')->getError());
  116. }
  117. }
  118. /**
  119. * 退款
  120. */
  121. public function refund(){
  122. $res = model('PhOrderPay')->refundOrder($this->userId,$this->orgId);
  123. if($res){
  124. HelpHander::success([],'操作成功');
  125. }else{
  126. HelpHander::error(model('PhOrderPay')->getError());
  127. }
  128. }
  129. public function payInfo(){
  130. $id = input('id/d',0);
  131. $pay = Db::name('ph_order_pay')->where('id',$id)->find();
  132. if(!$pay){
  133. HelpHander::error('记录不存在');
  134. }
  135. HelpHander::success($pay,'成功');
  136. }
  137. //护工签名
  138. public function workerSign(){
  139. $todoId = input('id/d',0);
  140. $sign = input('img','');
  141. if(!$sign){
  142. HelpHander::error('未上传签名图');
  143. }
  144. $res = Db::name('ph_todo')
  145. ->where('id',$todoId)
  146. ->update([
  147. 'sign'=>$sign
  148. ]);
  149. if(!$res){
  150. HelpHander::error('上传失败');
  151. }
  152. HelpHander::success([],'上传成功');
  153. }
  154. //员工余额记录
  155. public function balanceRecord()
  156. {
  157. $page = input('page',1);
  158. $size = input('size',10);
  159. $id = Db::name('worker')
  160. ->where('user_id',$this->userId)
  161. ->value('id');
  162. $list = Db::name('worker_balance')
  163. ->where('org_id', $this->orgId)
  164. ->where('worker_id', $id)
  165. ->order('id', 'desc')
  166. ->limit(($page-1)*$size,$size)
  167. ->select();
  168. foreach ($list as $k => $v) {
  169. $list[$k]['userName'] = Db::name('user')
  170. ->where('id', $v['user_id'])
  171. ->value('real_name');
  172. if ($v['type'] == 1) {
  173. $list[$k]['type'] = '订单结算';
  174. }else if ($v['type'] == 2) {
  175. $list[$k]['type'] = '工资结算';
  176. }else if ($v['type'] == 3) {
  177. $list[$k]['type'] = '管理员增加';
  178. }else{
  179. $list[$k]['type'] = '管理员减少';
  180. }
  181. }
  182. HelpHander::success($list);
  183. }
  184. public function phBalanceWarning()
  185. {
  186. $page = input('page',1);
  187. $size = input('size',10);
  188. $deps = Db::name('ph_user')
  189. ->where('user', $this->userId)
  190. ->where('org_id', $this->orgId)
  191. ->value('dep');
  192. $depIds = $deps ? explode(',', $deps) : [];
  193. $list = Db::name('ph_balance_warning')
  194. ->alias('pbw')
  195. ->join('ph_orders po', 'pbw.sn = po.sn')
  196. ->where('pbw.org_id', $this->orgId)
  197. ->where('po.dep_id','in',$depIds)
  198. ->order('create_time', 'desc')
  199. ->field('pbw.*')
  200. ->limit(($page-1)*$size,$size)
  201. ->select();
  202. $list = $list?$list:[];
  203. HelpHander::success($list,'操作成功');
  204. }
  205. }