package com.stylefeng.guns.modular.system.controller.specialTrain; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.base.tips.ErrorTip; import com.stylefeng.guns.core.common.constant.factory.PageFactory; import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.util.SinataUtil; import com.stylefeng.guns.modular.system.model.TCompany; import com.stylefeng.guns.modular.system.service.ITCompanyService; import com.stylefeng.guns.modular.system.service.IUserService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.beans.factory.annotation.Autowired; import com.stylefeng.guns.core.log.LogObjectHolder; import org.springframework.web.bind.annotation.RequestParam; import com.stylefeng.guns.modular.system.model.TDispatch; import com.stylefeng.guns.modular.system.service.ITDispatchService; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; /** * 调度管理控制器 * * @author fengshuonan * @Date 2020-09-01 16:00:16 */ @Controller @RequestMapping("/tDispatch") public class TDispatchController extends BaseController { private String PREFIX = "/system/tDispatch/"; @Autowired private ITDispatchService tDispatchService; @Autowired private ITCompanyService tCompanyService; @Autowired private IUserService userService; /** * 跳转到调度管理首页 */ @RequestMapping("") public String index() { return PREFIX + "tDispatch.html"; } /** * 跳转到添加调度管理 */ @RequestMapping("/tDispatch_add") public String tDispatchAdd(Model model) { model.addAttribute("roleType",ShiroKit.getUser().getRoleType()); List companyList = tCompanyService.selectList(new EntityWrapper().eq("type", 2) .eq("isCross", 1) .last(" and state != 1 and FIND_IN_SET(flag,'1,2')")); model.addAttribute("companyList",companyList); if (2 == ShiroKit.getUser().getRoleType()){ List franchiseeList = tCompanyService.selectList(new EntityWrapper().eq("type", 3) .eq("superiorId",ShiroKit.getUser().getObjectId())); model.addAttribute("franchiseeList",franchiseeList); }else{ model.addAttribute("franchiseeList",null); } return PREFIX + "tDispatch_add.html"; } /** * 根据分公司ID获取加盟商 * @param oneId * @return */ @RequestMapping(value = "/companyChange") @ResponseBody public Object companyChange(@RequestParam Integer oneId) { List list = new ArrayList<>(); if (SinataUtil.isNotEmpty(oneId)){ list = tCompanyService.selectList(new EntityWrapper() .eq("type", 3) .eq("isCross", 1) .eq("superiorId", oneId) .last(" and state != 1 and FIND_IN_SET(flag,'1,2')")); } return list; } /** * 跳转到修改调度管理 */ @RequestMapping("/tDispatch_update/{tDispatchId}") public String tDispatchUpdate(@PathVariable Integer tDispatchId, Model model) { TDispatch tDispatch = tDispatchService.selectById(tDispatchId); model.addAttribute("item",tDispatch); LogObjectHolder.me().set(tDispatch); Integer roleType = ShiroKit.getUser().getRoleType(); model.addAttribute("roleType",roleType); if (1 == roleType){ List companyList = tCompanyService.selectList(new EntityWrapper().eq("type", 2) .eq("isCross", 1) .last(" and state != 1 and FIND_IN_SET(flag,'1,2')")); model.addAttribute("companyList",companyList); List franchiseeList = tCompanyService.selectList(new EntityWrapper().eq("type", 3) .eq("superiorId",tDispatch.getCompanyId()) .eq("isCross", 1) .last(" and state != 1 and FIND_IN_SET(flag,'1,2')")); model.addAttribute("franchiseeList",franchiseeList); }else if (2 == roleType){ List franchiseeList = tCompanyService.selectList(new EntityWrapper().eq("type", 3) .eq("superiorId",ShiroKit.getUser().getObjectId()) .eq("isCross", 1) .last(" and state != 1 and FIND_IN_SET(flag,'1,2')")); model.addAttribute("franchiseeList",franchiseeList); } return PREFIX + "tDispatch_edit.html"; } /** * 获取调度管理列表 */ @RequestMapping(value = "/list") @ResponseBody public Object list(String insertTime,String name,String companyName,String franchiseeName,String account,Integer state) { String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(insertTime)){ String[] timeArray = insertTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } Page> page = new PageFactory>().defaultPage(); page.setRecords(tDispatchService.getDispatchList(page,ShiroKit.getUser().getRoleType(),ShiroKit.getUser().getObjectId(),beginTime,endTime,name,companyName,franchiseeName,account,state)); return super.packForBT(page); } /** * 新增调度管理 */ @RequestMapping(value = "/add") @ResponseBody public Object add(TDispatch tDispatch) { //判断账号是否存在 int count = tDispatchService.selectCount(new EntityWrapper().eq("account",tDispatch.getAccount()).last(" and FIND_IN_SET(state,'1,2')")); if (count > 0){ return new ErrorTip(500,"账号已存在,请重新输入"); } Integer roleType = ShiroKit.getUser().getRoleType(); Integer objectId = ShiroKit.getUser().getObjectId(); if (2 == roleType){ tDispatch.setCompanyId(objectId); }else if (3 == roleType){ TCompany company = tCompanyService.selectById(objectId); tDispatch.setCompanyId(company.getSuperiorId()); tDispatch.setFranchiseeId(objectId); } tDispatch.setInsertTime(new Date()); tDispatch.setInsertUserId(ShiroKit.getUser().getId()); tDispatch.setInsertUserRole(roleType); tDispatch.setState(1); if(tDispatch.getCompanyId() == null){ Integer objectId1 = userService.selectById(ShiroKit.getUser().getId()).getObjectId(); tDispatch.setCompanyId(objectId1); } tDispatch.setPassword(ShiroKit.md5(tDispatch.getPassword(), "WL:x9#")); tDispatchService.insert(tDispatch); return SUCCESS_TIP; } /** * 删除调度管理 * @param tDispatchId * @param optType 1=删除 2=冻结 3=解冻 * @return */ @RequestMapping(value = "/opt") @ResponseBody public Object delete(@RequestParam Integer tDispatchId,@RequestParam Integer optType) { TDispatch dispatch = tDispatchService.selectById(tDispatchId); if (1 == optType){ dispatch.setState(3); }else if (2 == optType){ dispatch.setState(2); }else if (3 == optType){ dispatch.setState(1); } tDispatchService.updateById(dispatch); return SUCCESS_TIP; } /** * 修改调度管理 */ @RequestMapping(value = "/update") @ResponseBody public Object update(TDispatch tDispatch) { TDispatch obj = tDispatchService.selectById(tDispatch.getId()); if (!obj.getAccount().equals(tDispatch.getAccount())){ //判断账号是否存在 int count = tDispatchService.selectCount(new EntityWrapper().eq("account",tDispatch.getAccount()).last(" and FIND_IN_SET(state,'1,2')")); if (count > 0){ return new ErrorTip(500,"账号已存在,请重新输入"); } } Integer roleType = ShiroKit.getUser().getRoleType(); Integer objectId = ShiroKit.getUser().getObjectId(); if (2 == roleType){ tDispatch.setCompanyId(objectId); }else if (3 == roleType){ TCompany company = tCompanyService.selectById(objectId); tDispatch.setCompanyId(company.getSuperiorId()); tDispatch.setFranchiseeId(objectId); } if (SinataUtil.isNotEmpty(tDispatch.getPassword())){ tDispatch.setPassword(ShiroKit.md5(tDispatch.getPassword(), "WL:x9#")); } tDispatchService.updateById(tDispatch); return SUCCESS_TIP; } }