| | |
| | | import lombok.AllArgsConstructor; |
| | | import javax.validation.Valid; |
| | | |
| | | import org.springblade.common.utils.arg; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.modules.FTP.FtpUtil; |
| | | import org.springblade.modules.dispatcher.service.IDispatcherUnitService; |
| | | import org.springblade.modules.system.entity.User; |
| | | import org.springblade.modules.system.service.IUserService; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.springblade.modules.dispatcher.entity.Dispatcher; |
| | |
| | | import org.springblade.modules.dispatcher.service.IDispatcherService; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Arrays; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 控制器 |
| | |
| | | public class DispatcherController extends BladeController { |
| | | |
| | | private final IDispatcherService dispatcherService; |
| | | |
| | | private final IDispatcherUnitService dispatcherUnitService; |
| | | |
| | | private final IUserService userService; |
| | | |
| | | /** |
| | | * 详情 |
| | |
| | | } |
| | | |
| | | /** |
| | | * APP-从业单位查询(派遣单位) |
| | | */ |
| | | @GetMapping("/queryDispatcher") |
| | | @ApiOperationSupport(order = 3) |
| | | @ApiOperation(value = "分页", notes = "传入dispatcher") |
| | | public R<IPage<DispatcherVO>> queryDispatcher(DispatcherVO dispatcher, Query query) { |
| | | IPage<DispatcherVO> pages = dispatcherService.queryDispatcher(Condition.getPage(query), dispatcher); |
| | | return R.data(pages); |
| | | } |
| | | |
| | | /** |
| | | * 新增 |
| | | */ |
| | | @PostMapping("/save") |
| | | @ApiOperationSupport(order = 4) |
| | | @ApiOperation(value = "新增", notes = "传入dispatcher") |
| | | public R save(@Valid @RequestBody Dispatcher dispatcher) { |
| | | if (null != dispatcher.getUserIds() && dispatcher.getUserIds() != "") { |
| | | //计算派遣人数 |
| | | // dispatcher.setNum(Arrays.asList(dispatcher.getUserIds().split(",")).size()); |
| | | //查询派遣单位的信息,设置行政区 |
| | | } |
| | | return R.status(dispatcherService.save(dispatcher)); |
| | | } |
| | | |
| | |
| | | return R.status(dispatcherService.updateById(dispatcher)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 结束派遣 |
| | | * @param dispatcher |
| | | */ |
| | | @PostMapping("/over-dispatcher") |
| | | public R overDispatcher(@Valid @RequestBody Dispatcher dispatcher) { |
| | | dispatcher.setStatus(1); |
| | | Boolean status = dispatcherService.updateById(dispatcher); |
| | | |
| | | //查询当前用户的派遣记录,是否存在多条未结束派遣的 |
| | | Dispatcher dispatcher1 = new Dispatcher(); |
| | | dispatcher1.setUserIds(dispatcher.getUserIds()); |
| | | List<Dispatcher> dispatcherList = dispatcherService.list(Condition.getQueryWrapper(dispatcher1)); |
| | | |
| | | User user = new User(); |
| | | if (dispatcherList.size()<1){ |
| | | //用户状态改变 |
| | | user.setDispatch("1"); |
| | | }else { |
| | | //用户状态改变 |
| | | user.setDispatch("0"); |
| | | } |
| | | user.setId(Long.parseLong(dispatcher.getUserIds())); |
| | | userService.updateById(user); |
| | | |
| | | //内网同步 |
| | | String s1 = |
| | | "update sys_dispatcher set status = " + "'" + dispatcher.getStatus() + "'" + |
| | | ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + "'" + |
| | | " " +"where id = " + "'" + dispatcher.getId() + "';"+ |
| | | "update blade_user set dispatch = " + "'" + user.getDispatch() + "'" + |
| | | " " +"where id = " + "'" + user.getId() + "'"; |
| | | FtpUtil.sqlFileUpload(s1); |
| | | return R.status(status); |
| | | } |
| | | |
| | | /** |
| | | * 新增或修改 |
| | | */ |
| | |
| | | @ApiOperationSupport(order = 6) |
| | | @ApiOperation(value = "新增或修改", notes = "传入dispatcher") |
| | | public R submit(@Valid @RequestBody Dispatcher dispatcher) { |
| | | if (null!=dispatcher.getUserIds() && dispatcher.getUserIds()!=""){ |
| | | //计算派遣人数 |
| | | dispatcher.setNum(Arrays.asList(dispatcher.getUserIds().split(",")).size()); |
| | | //List<String> list = Arrays.asList(dispatcher.getUserIds().split(",")); |
| | | //计算派遣人数 |
| | | //dispatcher.setNum(list.size()); |
| | | |
| | | boolean status = false; |
| | | if (dispatcher.getId()==null){ |
| | | dispatcher.setCreateTime(new Date()); |
| | | dispatcher.setStatus(0); |
| | | |
| | | User user = new User(); |
| | | user.setId(Long.parseLong(dispatcher.getUserIds())); |
| | | user.setDispatch("0"); |
| | | userService.updateById(user); |
| | | |
| | | //新增派遣记录 |
| | | status = dispatcherService.save(dispatcher); |
| | | |
| | | //数据同步 |
| | | String s1 = |
| | | "insert into sys_dispatcher(id,dispatcherTime,dispatcher_unit_id,user_ids,end_time,dept_id,jurisdiction,create_time,status) " + |
| | | "values(" + "'" + dispatcher.getId() + "'" + "," + |
| | | "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getDispatchertime()) + "'" + "," + |
| | | "'" + dispatcher.getDispatcherUnitId() + "'" + "," + |
| | | "'" + dispatcher.getUserIds() + "'" + "," + |
| | | "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getEndTime()) + "'" + "," + |
| | | "'" + dispatcher.getDeptId() + "'" + "," + |
| | | "'" + dispatcher.getJurisdiction() + "'" + "," + |
| | | "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcher.getCreateTime()) + "'" + "," + |
| | | "'" +dispatcher.getStatus() + "'" + ");" + |
| | | "update blade_user set dispatch = " + "'" + user.getDispatch() + "'" + |
| | | " " +"where id = " + "'" + user.getId() + "'"; |
| | | FtpUtil.sqlFileUpload(s1); |
| | | }else { |
| | | dispatcher.setUpdateTime(new Date()); |
| | | |
| | | //查询当前派遣记录 |
| | | Dispatcher dispatcher1 = dispatcherService.getById(dispatcher.getId()); |
| | | if (!dispatcher1.getUserIds().equals(dispatcher.getUserIds())){ |
| | | //修改原保安人员的派遣状态 |
| | | //查询原保安人员的派遣记录,是否存在多条未结束派遣的 |
| | | Dispatcher dispatcher2 = new Dispatcher(); |
| | | dispatcher2.setUserIds(dispatcher1.getUserIds()); |
| | | dispatcher2.setStatus(0); |
| | | List<Dispatcher> dispatcherList = dispatcherService.list(Condition.getQueryWrapper(dispatcher2)); |
| | | User user = new User(); |
| | | user.setId(Long.parseLong(dispatcher1.getUserIds())); |
| | | if (dispatcherList.size()<1){ |
| | | //用户状态改变 |
| | | user.setDispatch("1"); |
| | | }else { |
| | | user.setDispatch("0"); |
| | | } |
| | | //修改原保安人员用户信息 |
| | | userService.updateById(user); |
| | | |
| | | //修改当前保安人员的派遣状态 |
| | | User user1 = new User(); |
| | | user1.setId(Long.parseLong(dispatcher.getUserIds())); |
| | | user1.setDispatch("0"); |
| | | userService.updateById(user1); |
| | | |
| | | //修改 |
| | | status = dispatcherService.updateById(dispatcher); |
| | | |
| | | //内网同步 |
| | | String s1 = |
| | | "update blade_user set dispatch = " + "'" + user.getDispatch() + "'" + |
| | | " " +"where id = " + "'" + user.getId() + "';" + |
| | | "update sys_dispatcher set dispatcherTime = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getDispatchertime()) + "'" + |
| | | ",dispatcher_unit_id = " + "'" + dispatcher.getDispatcherUnitId() + "'" + |
| | | ",user_ids = " + "'" + dispatcher.getUserIds() + "'" + |
| | | ",end_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getEndTime()) + "'" + |
| | | ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcher.getUpdateTime()) + "'" + |
| | | ",dept_id = " + "'" + dispatcher.getDeptId() + "'" + |
| | | ",jurisdiction = " + "'" + dispatcher.getJurisdiction() + "'" + |
| | | " " +"where id = " + "'" + user.getId() + "';"+ |
| | | "update blade_user set dispatch = " + "'" + user1.getDispatch() + "'" + |
| | | " " +"where id = " + "'" + user1.getId() + "'"; |
| | | FtpUtil.sqlFileUpload(s1); |
| | | } |
| | | |
| | | } |
| | | return R.status(dispatcherService.saveOrUpdate(dispatcher)); |
| | | return R.status(status); |
| | | } |
| | | |
| | | |
| | |
| | | @ApiOperationSupport(order = 8) |
| | | @ApiOperation(value = "删除", notes = "传入ids") |
| | | public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { |
| | | //内网删除 |
| | | List<Long> list = Func.toLongList(ids); |
| | | list.forEach(id ->{ |
| | | //内网同步 |
| | | String s1 = "delete from sys_dispatcher where id = " + "'" + id + "'"; |
| | | FtpUtil.sqlFileUpload(s1); |
| | | }); |
| | | return R.status(dispatcherService.removeByIds(Func.toLongList(ids))); |
| | | } |
| | | |