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.log.LogObjectHolder; 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.model.TDispatch; import com.stylefeng.guns.modular.system.service.ITCompanyService; import com.stylefeng.guns.modular.system.service.ITDispatchService; import com.stylefeng.guns.modular.system.service.IUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; 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) .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) .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()) .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()) .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) { tDispatch.setCompanyId(ShiroKit.getUser().getObjectId()); } 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; } }