package com.stylefeng.guns.modular.system.controller.general;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.baomidou.mybatisplus.mapper.Wrapper;
|
import com.stylefeng.guns.core.base.controller.BaseController;
|
import com.stylefeng.guns.core.base.tips.SuccessTip;
|
import com.stylefeng.guns.core.common.constant.state.ManagerStatus;
|
import com.stylefeng.guns.core.exception.GunsException;
|
import com.stylefeng.guns.core.shiro.ShiroKit;
|
import com.stylefeng.guns.core.util.SinataUtil;
|
import com.stylefeng.guns.modular.system.controller.resp.TBranchOfficeResp;
|
import com.stylefeng.guns.modular.system.enums.StatusEnum;
|
import com.stylefeng.guns.modular.system.model.*;
|
import com.stylefeng.guns.modular.system.service.*;
|
import com.stylefeng.guns.modular.system.util.DateUtil;
|
import com.stylefeng.guns.modular.system.util.RedisUtil;
|
import com.stylefeng.guns.modular.system.util.ResultUtil;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.transaction.annotation.Propagation;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.util.StringUtils;
|
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 java.util.*;
|
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.stream.Collectors;
|
|
/**
|
* 控制器
|
*
|
* @author fengshuonan
|
* @Date 2023-02-21 11:17:18
|
*/
|
@Controller
|
@RequestMapping("/tBranchOffice")
|
public class TBranchOfficeController extends BaseController {
|
|
private String PREFIX = "/system/tBranchOffice/";
|
|
@Autowired
|
private ITBranchOfficeService tBranchOfficeService;
|
@Autowired
|
private ITSystemConfigService tSystemConfigService;
|
|
@Autowired
|
private ITRegionService tRegionService;
|
@Autowired
|
private ITDriverService tDriverService;
|
@Autowired
|
private ITDriverWorkService tDriverWorkService;
|
@Autowired
|
private IUserService userService;
|
@Autowired
|
private RedisUtil redisUtil;
|
@Autowired
|
private ITBranchOfficeAreaService branchOfficeAreaService;
|
|
/**
|
* 跳转到首页
|
*/
|
@RequestMapping("")
|
public String index(Model model) {
|
model.addAttribute("userType", Objects.requireNonNull(ShiroKit.getUser()).getRoleType());
|
return PREFIX + "tBranchOffice.html";
|
}
|
|
/**
|
* 跳转到添加
|
*/
|
@RequestMapping("/tBranchOffice_add")
|
public String tBranchOfficeAdd(Model model) {
|
List<TRegion> provinceList = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0));
|
model.addAttribute("provinceList",provinceList);
|
return PREFIX + "tBranchOffice_add.html";
|
}
|
|
/**
|
* 跳转到修改
|
*/
|
@RequestMapping("/tBranchOffice_update/{tBranchOfficeId}")
|
public String tBranchOfficeUpdate(@PathVariable Integer tBranchOfficeId, Model model) {
|
|
TBranchOffice tBranchOffice = tBranchOfficeService.selectById(tBranchOfficeId);
|
TBranchOfficeResp tBranchOfficeResp = new TBranchOfficeResp();
|
BeanUtils.copyProperties(tBranchOffice,tBranchOfficeResp);
|
|
// 查询区域
|
// TRegion city = tRegionService.selectOne(new EntityWrapper<TRegion>().eq("code", tBranchOffice.getCityCode())
|
// .last("LIMIT 1"));
|
// TRegion district = tRegionService.selectOne(new EntityWrapper<TRegion>().eq("code", tBranchOffice.getDistrictCode())
|
// .last("LIMIT 1"));
|
//
|
// if(StringUtils.hasLength(tBranchOffice.getDistrictName()) && !tBranchOffice.getDistrictName().equals(tBranchOffice.getCityName())){
|
// tBranchOfficeResp.setArea(tBranchOffice.getProvinceName()+"/"+tBranchOffice.getCityName()+"/"+tBranchOffice.getDistrictName());
|
// }else {
|
// tBranchOfficeResp.setArea(tBranchOffice.getProvinceName()+"/"+tBranchOffice.getCityName());
|
// }
|
//
|
// if(Objects.nonNull(city)){
|
// if(Objects.nonNull(district) && !district.getCode().equals(city.getCode())){
|
// tBranchOfficeResp.setAreaId(city.getParentId()+"/"+city.getId()+"/"+district.getId());
|
// }else {
|
// tBranchOfficeResp.setAreaId(city.getParentId()+"/"+city.getId());
|
// }
|
// }
|
|
model.addAttribute("item",tBranchOfficeResp);
|
LogObjectHolder.me().set(tBranchOffice);
|
|
TSystemConfig tSystemConfig = tSystemConfigService.selectOne(new EntityWrapper<TSystemConfig>().eq("type", 5)
|
.eq("companyId", tBranchOfficeId).last("LIMIT 1"));
|
if(null != tSystemConfig){
|
JSONObject jsonObject = JSONObject.parseObject(tSystemConfig.getContent());
|
JSONArray array = jsonObject.getJSONArray("ChargeStandard");
|
JSONArray objects = new JSONArray();
|
for (int i = 0; i < array.size(); i++) {
|
JSONObject jsonObject1 = JSONObject.parseObject(JSONObject.toJSONString(array.get(i)));
|
if(i == 0){
|
jsonObject1.put("key",0);
|
}else {
|
jsonObject1.put("key",1);
|
}
|
objects.add(jsonObject1);
|
}
|
TSystemConfig config = tSystemConfigService.selectOne(new EntityWrapper<TSystemConfig>().eq("type", 8)
|
.eq("companyId", tBranchOfficeId).last("LIMIT 1"));
|
JSONObject jsonObj = JSONObject.parseObject(config.getContent());
|
Integer zcOne = jsonObj.getInteger("num1");
|
String serviceTel = jsonObj.getString("num2");
|
Integer zcTwo = jsonObj.getInteger("num3");
|
model.addAttribute("zcOne", zcOne);
|
model.addAttribute("serviceTel", serviceTel);
|
model.addAttribute("zcTwo", zcTwo);
|
model.addAttribute("array",objects);
|
JSONObject extraCost = JSONObject.parseObject(jsonObject.getString("ExtraCost"));
|
model.addAttribute("ExtraCost",extraCost);
|
}else{
|
model.addAttribute("zcOne",1);
|
model.addAttribute("serviceTel", "");
|
model.addAttribute("zcTwo", 1);
|
model.addAttribute("array",null);
|
model.addAttribute("ExtraCost",null);
|
}
|
|
//省
|
List<TRegion> provinceList = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0));
|
model.addAttribute("provinceList",provinceList);
|
|
//经营区域
|
AtomicInteger counter = new AtomicInteger(1);
|
List<TBranchOfficeArea> branchOfficeAreaList = branchOfficeAreaService.selectList(new EntityWrapper<TBranchOfficeArea>().eq("branchOfficeId", tBranchOfficeId));
|
branchOfficeAreaList.stream().forEach(item->{
|
item.setCreateTimeStr(DateUtil.format(item.getCreateTime(),"yyyy-MM-dd HH:mm:ss"));
|
item.setCounter(counter.getAndIncrement());
|
});
|
model.addAttribute("scopeList",branchOfficeAreaList);
|
|
return PREFIX + "tBranchOffice_edit.html";
|
}
|
|
/**
|
* 跳转到详情
|
*/
|
@RequestMapping("/tBranchOfficeDetail")
|
public String tBranchOfficeDetail(Integer tBranchOfficeId, Model model) {
|
Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType();
|
Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId();
|
tBranchOfficeService.tBranchOfficeDetail(tBranchOfficeId,model);
|
TSystemConfig tSystemConfig = tSystemConfigService.selectOne(new EntityWrapper<TSystemConfig>().eq("type", 3)
|
.eq("companyType",2)
|
.eq("companyId",tBranchOfficeId)
|
.last("LIMIT 1"));
|
JSONObject jsonObject = JSONObject.parseObject(tSystemConfig.getContent());
|
// model.addAttribute("num2",jsonObject.getInteger("num2"));
|
Integer num4 = jsonObject.getInteger("num4");
|
if(num4 == 1){
|
model.addAttribute("num3",jsonObject.getString("num2"));
|
}else {
|
model.addAttribute("num3",jsonObject.getString("num3"));
|
}
|
|
TSystemConfig tSystemConfig1 = tSystemConfigService.selectOne(new EntityWrapper<TSystemConfig>().eq("type", 5)
|
.eq("companyId", tBranchOfficeId)
|
.eq("companyType", 2)
|
.last("LIMIT 1"));
|
if(null != tSystemConfig1){
|
JSONObject jsonObject2 = JSONObject.parseObject(tSystemConfig1.getContent());
|
JSONArray array = jsonObject2.getJSONArray("ChargeStandard");
|
JSONArray objects = new JSONArray();
|
for (int i = 0; i < array.size(); i++) {
|
JSONObject jsonObject1 = JSONObject.parseObject(JSONObject.toJSONString(array.get(i)));
|
if(i == 0){
|
jsonObject1.put("key",0);
|
}else {
|
jsonObject1.put("key",1);
|
}
|
objects.add(jsonObject1);
|
}
|
TSystemConfig config = tSystemConfigService.selectOne(new EntityWrapper<TSystemConfig>().eq("type", 8)
|
.eq("companyId", tBranchOfficeId).last("LIMIT 1"));
|
JSONObject jsonObj = JSONObject.parseObject(config.getContent());
|
Integer zcOne = jsonObj.getInteger("num1");
|
String serviceTel = jsonObj.getString("num2");
|
Integer zcTwo = jsonObj.getInteger("num3");
|
model.addAttribute("zcOne", zcOne);
|
model.addAttribute("serviceTel", serviceTel);
|
model.addAttribute("zcTwo", zcTwo);
|
model.addAttribute("array",objects);
|
JSONObject extraCost = JSONObject.parseObject(jsonObject2.getString("ExtraCost"));
|
model.addAttribute("ExtraCost",extraCost);
|
}else{
|
model.addAttribute("zcOne",1);
|
model.addAttribute("serviceTel", "");
|
model.addAttribute("zcTwo", 1);
|
model.addAttribute("array",null);
|
model.addAttribute("ExtraCost",null);
|
}
|
return PREFIX + "tBranchOfficeDetail.html";
|
}
|
|
/**
|
* 跳转到抽成规则
|
*/
|
@RequestMapping("/extractionRules")
|
public String extractionRules(Model model,Integer tBranchOfficeId) {
|
Integer roleType = ShiroKit.getUser().getRoleType();
|
Integer objectId = ShiroKit.getUser().getObjectId();
|
model.addAttribute("roleType",roleType);
|
model.addAttribute("branchOfficeId",tBranchOfficeId);
|
TSystemConfig tSystemConfig = tSystemConfigService.selectOne(new EntityWrapper<TSystemConfig>().eq("type", 3)
|
.eq("companyType",1)
|
.eq("companyId",1)
|
.eq("branchOfficeId",tBranchOfficeId)
|
.last("LIMIT 1"));
|
if(Objects.nonNull(tSystemConfig)){
|
JSONObject jsonObject = JSONObject.parseObject(tSystemConfig.getContent());
|
model.addAttribute("num1",jsonObject.getInteger("num1"));
|
model.addAttribute("num2",jsonObject.getInteger("num2"));
|
model.addAttribute("num3",jsonObject.getString("num3"));
|
model.addAttribute("num4",jsonObject.getString("num4"));
|
model.addAttribute("num5",jsonObject.getString("num5"));
|
}else {
|
model.addAttribute("num1",0);
|
model.addAttribute("num2",0);
|
model.addAttribute("num3",0);
|
model.addAttribute("num4",0);
|
model.addAttribute("num5",0);
|
}
|
TSystemConfig tSystemConfig1 = tSystemConfigService.selectOne(new EntityWrapper<TSystemConfig>().eq("type", 3)
|
.eq("companyType",2)
|
.eq("companyId",tBranchOfficeId)
|
.last("LIMIT 1"));
|
if(Objects.nonNull(tSystemConfig1)){
|
JSONObject jsonObject = JSONObject.parseObject(tSystemConfig1.getContent());
|
model.addAttribute("type",jsonObject.getInteger("num4"));
|
}else {
|
model.addAttribute("type",1);
|
}
|
return PREFIX + "tSystemConfigExtractionRules.html";
|
}
|
|
/**
|
* 获取列表
|
*/
|
@RequestMapping(value = "/systemConfigSubmit")
|
@ResponseBody
|
public Object systemConfigSubmit(Integer type,String content,Integer branchOfficeId) {
|
Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType();
|
Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId();
|
TSystemConfig tSystemConfig = tSystemConfigService.selectOne(new EntityWrapper<TSystemConfig>().eq("type", 3)
|
.eq("companyType",1)
|
.eq("companyId",1)
|
.eq("branchOfficeId",branchOfficeId)
|
.last("LIMIT 1"));
|
if(Objects.nonNull(tSystemConfig)){
|
tSystemConfig.setContent(content);
|
tSystemConfig.setCompanyId(objectId);
|
tSystemConfig.setType(type);
|
tSystemConfig.setCompanyType(1);
|
tSystemConfig.setBranchOfficeId(branchOfficeId);
|
tSystemConfigService.updateById(tSystemConfig);
|
}else {
|
tSystemConfig = new TSystemConfig();
|
tSystemConfig.setContent(content);
|
tSystemConfig.setCompanyId(objectId);
|
tSystemConfig.setType(type);
|
tSystemConfig.setCompanyType(1);
|
tSystemConfig.setBranchOfficeId(branchOfficeId);
|
tSystemConfigService.insert(tSystemConfig);
|
}
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 跳转区域页面新增
|
*/
|
@RequestMapping("/areaPageAdd")
|
public String areaPageAdd(String area,String areaId,Model model) {
|
String[] split1 = areaId.split("/");
|
List<TRegion> tRegions = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0));
|
model.addAttribute("provinceList",tRegions);
|
// List<Integer> provinceIds = tRegions.stream().map(TRegion::getId).collect(Collectors.toList());
|
// // 查询市
|
// List<TRegion> tRegions1 = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", split1[0]));
|
// model.addAttribute("cityList",tRegions1);
|
//
|
// // 查询区
|
// List<Integer> cityIds = tRegions1.stream().map(TRegion::getId).collect(Collectors.toList());
|
// List<TRegion> tRegions2 = tRegionService.selectList(new EntityWrapper<TRegion>().in("parent_id", cityIds));
|
// model.addAttribute("districtList",tRegions2);
|
|
if(StringUtils.hasLength(area) && StringUtils.hasLength(areaId)){
|
String[] split = area.split("/");
|
model.addAttribute("provinceName",split[0]);
|
model.addAttribute("cityName",split[1]);
|
if(split.length>2){
|
model.addAttribute("districtName",split[2]);
|
}else {
|
model.addAttribute("districtName","");
|
}
|
|
model.addAttribute("provinceId",split1[0]);
|
model.addAttribute("cityId",split1[1]);
|
if(split1.length>2) {
|
model.addAttribute("districtId", split1[2]);
|
}else {
|
model.addAttribute("districtId", "");
|
}
|
|
List<TRegion> tRegions1 = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", split1[0]));
|
model.addAttribute("cityList",tRegions1);
|
|
// 查询区
|
List<TRegion> tRegions2 = tRegionService.selectList(new EntityWrapper<TRegion>().in("parent_id", split1[1]));
|
model.addAttribute("districtList",tRegions2);
|
}else {
|
model.addAttribute("cityList",new ArrayList<>());
|
model.addAttribute("districtList",new ArrayList<>());
|
|
model.addAttribute("provinceName","");
|
model.addAttribute("cityName","");
|
model.addAttribute("districtName","");
|
|
model.addAttribute("provinceId","");
|
model.addAttribute("cityId","");
|
model.addAttribute("districtId", "");
|
}
|
return PREFIX + "tBranchOfficeAreaAdd.html";
|
}
|
|
/**
|
* 跳转区域页面编辑
|
*/
|
@RequestMapping("/areaPageUpdate")
|
public String areaPageUpdate(String area,String areaId,Model model) {
|
|
String[] split = area.split("/");
|
model.addAttribute("provinceName",split[0]);
|
model.addAttribute("cityName",split[1]);
|
if(split.length>2){
|
model.addAttribute("districtName",split[2]);
|
}else {
|
model.addAttribute("districtName","");
|
}
|
|
String[] split1 = areaId.split("/");
|
String provinceId = split1[0];
|
model.addAttribute("provinceId",split1[0]);
|
model.addAttribute("cityId",split1[1]);
|
if(split1.length>2) {
|
model.addAttribute("districtId", split1[2]);
|
}else {
|
model.addAttribute("districtId", "");
|
}
|
|
List<TRegion> tRegions = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0));
|
model.addAttribute("provinceList",tRegions);
|
// List<Integer> provinceIds = tRegions.stream().map(TRegion::getId).collect(Collectors.toList());
|
// 查询市
|
List<TRegion> tRegions1 = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", provinceId));
|
model.addAttribute("cityList",tRegions1);
|
|
// 查询区
|
List<Integer> cityIds = tRegions1.stream().map(TRegion::getId).collect(Collectors.toList());
|
List<TRegion> tRegions2 = tRegionService.selectList(new EntityWrapper<TRegion>().in("parent_id", split1[1]));
|
model.addAttribute("districtList",tRegions2);
|
|
return PREFIX + "tBranchOfficeAreaUpdate.html";
|
}
|
|
/**
|
* 获取列表
|
*/
|
@RequestMapping(value = "/list")
|
@ResponseBody
|
public Object list(String branchOfficeName,String principal,String principalPhone,Integer operatingBusiness ,Integer status) {
|
List<TBranchOfficeResp> tBranchOfficeRespList = tBranchOfficeService.getPageList(branchOfficeName,principal,principalPhone,operatingBusiness,status);
|
for (TBranchOfficeResp tBranchOfficeResp : tBranchOfficeRespList) {
|
tBranchOfficeResp.setUserType(Objects.requireNonNull(ShiroKit.getUser()).getRoleType());
|
}
|
// 分公司查询优惠券,订单,司机等信息
|
tBranchOfficeService.queryOtherInfo(tBranchOfficeRespList);
|
return tBranchOfficeRespList;
|
}
|
|
@ApiOperation(value = "市区查询",notes="市区查询")
|
@RequestMapping(value = "/areaCity")
|
@ResponseBody
|
public Object areaCity(Integer parentId,Model model) {
|
List<TRegion> tRegions = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", parentId));
|
/*if(CollectionUtils.isEmpty(tRegions) && StringUtils.hasLength(parentName)){
|
TRegion parent = tRegionService.selectOne(new EntityWrapper<TRegion>().eq("name", parentName));
|
tRegions = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", parentId));
|
}*/
|
model.addAttribute("list",tRegions);
|
return tRegions;
|
}
|
|
/**
|
* 启用分公司
|
*/
|
@RequestMapping(value = "/start")
|
@ResponseBody
|
public Object start(Integer id) {
|
// 查询分公司区域
|
int count = branchOfficeAreaService.selectCount(new EntityWrapper<TBranchOfficeArea>()
|
.eq("branchOfficeId", id));
|
if(count == 0){
|
return new SuccessTip(500,"请配置区域后再启用该分公司!");
|
}
|
TBranchOffice tBranchOffice = tBranchOfficeService.selectById(id);
|
tBranchOffice.setStatus(StatusEnum.NORMAL.getCode());
|
tBranchOfficeService.updateById(tBranchOffice);
|
return SUCCESS_TIP;
|
}
|
|
@RequestMapping(value = "/change")
|
@ResponseBody
|
public Object change(@RequestParam Integer code) {
|
List<TRegion> list = new ArrayList<>();
|
if (SinataUtil.isNotEmpty(code)){
|
TRegion region = tRegionService.selectOne(new EntityWrapper<TRegion>().eq("code", code));
|
list = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", region.getId()));
|
}
|
return list;
|
}
|
|
/**
|
* 冻结分公司
|
*/
|
@RequestMapping(value = "/stop")
|
@ResponseBody
|
public Object updateStatus(Integer id) {
|
TBranchOffice tBranchOffice = tBranchOfficeService.selectById(id);
|
tBranchOffice.setStatus(StatusEnum.FREEZE.getCode());
|
tBranchOfficeService.updateById(tBranchOffice);
|
List<TDriver> list = tDriverService.selectList(new EntityWrapper<TDriver>()
|
.eq("branchOfficeId", tBranchOffice.getId()));
|
for (TDriver tDriver : list) {
|
String value = redisUtil.getValue("DRIVER_" + tDriver.getPhone());
|
redisUtil.remove(value);
|
redisUtil.remove("DRIVER_" + tDriver.getPhone());
|
TDriverWork tDriverWork = tDriverWorkService.selectOne(new EntityWrapper<TDriverWork>()
|
.eq("driverId", tDriver.getId())
|
.eq("status", 1)
|
.orderBy("workTime", false)
|
.last("LIMIT 1"));
|
if(Objects.nonNull(tDriverWork)){
|
tDriverWork.setStatus(2);
|
tDriverWork.setOffWorkTime(new Date());
|
tDriverWorkService.updateById(tDriverWork);
|
}
|
}
|
// 删除区域
|
branchOfficeAreaService.delete(new EntityWrapper<TBranchOfficeArea>().eq("branchOfficeId", id));
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 获取列表
|
*/
|
@RequestMapping(value = "/list-back")
|
@ResponseBody
|
public Object listBack(String condition) {
|
return tBranchOfficeService.selectList(null);
|
}
|
|
/**
|
* 新增
|
*/
|
@RequestMapping(value = "/add")
|
@ResponseBody
|
@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW)
|
public Object add(TBranchOffice tBranchOffice,String subArr, Integer systemPriceType, String systemPriceContent, Integer isTaxiCar, Integer holiday, String serviceTel) {
|
int count = tBranchOfficeService.selectCount(new EntityWrapper<TBranchOffice>().eq("branchOfficeName", tBranchOffice.getBranchOfficeName()).ne("status", 3));
|
if(count>0){
|
return new SuccessTip(500,"该分公司名称已存在!");
|
}
|
int count1 = userService.selectCount(new EntityWrapper<User>().eq("account", tBranchOffice.getAccount()).ne("status", 3));
|
if (count1 > 0){
|
return new SuccessTip(500,"该账号已存在!");
|
}
|
// Object o = tBranchOfficeService.addOrUpdate(tBranchOffice);
|
// if(Objects.nonNull(o)){
|
// return o;
|
// }
|
// 判断区域是否已存在
|
Object o = addScopeIsExit(subArr, tBranchOffice);
|
if(Objects.nonNull(o)){
|
return o;
|
}
|
tBranchOffice.setPrincipal(tBranchOffice.getPrincipal().replace(" ",""));
|
tBranchOffice.setStatus(StatusEnum.NORMAL.getCode());
|
|
tBranchOfficeService.insert(tBranchOffice);
|
|
//添加User对象
|
User user = new User();
|
user.setAccount(tBranchOffice.getAccount());
|
user.setSalt(ShiroKit.getRandomSalt(5));
|
user.setPassword(ShiroKit.md5(tBranchOffice.getPassword(), user.getSalt()));
|
user.setStatus(ManagerStatus.OK.getCode());
|
user.setRoleid("3");
|
user.setDeptid(25);
|
user.setCreatetime(new Date());
|
user.setRoleType(2);
|
user.setObjectId(tBranchOffice.getId());
|
user.setName(tBranchOffice.getPrincipal());
|
user.setSex(1);
|
userService.insert(user);
|
//添加价格规则
|
TSystemConfig tSystemConfig = new TSystemConfig();
|
tSystemConfig.setCompanyId(tBranchOffice.getId());
|
tSystemConfig.setType(systemPriceType);
|
tSystemConfig.setContent(systemPriceContent);
|
tSystemConfig.setCompanyType(2);
|
tSystemConfigService.insert(tSystemConfig);
|
tSystemConfig = new TSystemConfig();
|
tSystemConfig.setType(8);
|
tSystemConfig.setCompanyId(tBranchOffice.getId());
|
tSystemConfig.setContent("{\"num1\":" + isTaxiCar + ",\"num2\":\"" + serviceTel + "\",\"num3\":" + holiday + "}");
|
tSystemConfigService.insert(tSystemConfig);
|
|
addScope(subArr,tBranchOffice.getId());
|
|
return SUCCESS_TIP;
|
}
|
|
//添加经营区域
|
public Object addScopeIsExit(String subArr,TBranchOffice branchOffice){
|
JSONArray jsonArray = JSON.parseArray(subArr);
|
List<TRegion> tRegions = tRegionService.selectList(new EntityWrapper<TRegion>());
|
branchOfficeAreaService.delete(new EntityWrapper<TBranchOfficeArea>().eq("branchOfficeId", branchOffice.getId()));
|
int size = jsonArray.size();
|
for (int i = 0; i < size; i++){
|
JSONObject jsonObject = jsonArray.getJSONObject(i);
|
TBranchOfficeArea branchOfficeArea = branchOfficeAreaService.selectOne(new EntityWrapper<TBranchOfficeArea>().eq("id", jsonObject.getInteger("recordId")).eq("branchOfficeId", branchOffice.getId()));
|
String provinceCode = jsonObject.getString("provinceCode");
|
String cityCode = jsonObject.getString("cityCode");
|
String areaCode = jsonObject.getString("areaCode");
|
if(!StringUtils.hasLength(provinceCode) || !StringUtils.hasLength(cityCode) || !StringUtils.hasLength(areaCode)){
|
return new SuccessTip(500,"请选择到区域!");
|
}
|
TRegion area = tRegions.stream().filter(e -> e.getCode().equals(areaCode)).findFirst().get();
|
if (SinataUtil.isEmpty(branchOfficeArea)){
|
int count = branchOfficeAreaService.selectCount(new EntityWrapper<TBranchOfficeArea>()
|
.eq("areaCode", areaCode));
|
if (count>0){
|
return new SuccessTip(500,"该区域已存在!");
|
}
|
}else{
|
int count = branchOfficeAreaService.selectCount(new EntityWrapper<TBranchOfficeArea>()
|
.eq("areaCode", areaCode)
|
.ne("id", branchOfficeArea.getId()));
|
if (count>0){
|
return new SuccessTip(500,area.getName()+"该区域已存在!");
|
}
|
}
|
}
|
return null;
|
}
|
|
//添加经营区域
|
public void addScope(String subArr,Integer id){
|
JSONArray jsonArray = JSON.parseArray(subArr);
|
List<TRegion> tRegions = tRegionService.selectList(new EntityWrapper<TRegion>());
|
branchOfficeAreaService.delete(new EntityWrapper<TBranchOfficeArea>().eq("branchOfficeId", id));
|
int size = jsonArray.size();
|
for (int i = 0; i < size; i++){
|
JSONObject jsonObject = jsonArray.getJSONObject(i);
|
TBranchOfficeArea branchOfficeArea = branchOfficeAreaService.selectOne(new EntityWrapper<TBranchOfficeArea>().eq("id", jsonObject.getInteger("recordId")).eq("branchOfficeId", id));
|
String provinceCode = jsonObject.getString("provinceCode");
|
String cityCode = jsonObject.getString("cityCode");
|
String areaCode = jsonObject.getString("areaCode");
|
TRegion province = tRegions.stream().filter(e -> e.getCode().equals(provinceCode)).findFirst().get();
|
TRegion city = tRegions.stream().filter(e -> e.getCode().equals(cityCode)).findFirst().get();
|
TRegion area = tRegions.stream().filter(e -> e.getCode().equals(areaCode)).findFirst().get();
|
if (SinataUtil.isEmpty(branchOfficeArea)){
|
branchOfficeArea = new TBranchOfficeArea();
|
branchOfficeArea.setProvinceCode(provinceCode);
|
branchOfficeArea.setCityCode(cityCode);
|
branchOfficeArea.setAreaCode(areaCode);
|
branchOfficeArea.setProvinceName(province.getName());
|
branchOfficeArea.setCityName(city.getName());
|
branchOfficeArea.setAreaName(area.getName());
|
branchOfficeArea.setBranchOfficeId(id);
|
branchOfficeAreaService.insert(branchOfficeArea);
|
}else{
|
branchOfficeArea.setProvinceCode(provinceCode);
|
branchOfficeArea.setCityCode(cityCode);
|
branchOfficeArea.setAreaCode(areaCode);
|
branchOfficeArea.setProvinceName(province.getName());
|
branchOfficeArea.setCityName(city.getName());
|
branchOfficeArea.setAreaName(area.getName());
|
branchOfficeAreaService.updateById(branchOfficeArea);
|
}
|
}
|
}
|
|
/**
|
* 删除
|
*/
|
@RequestMapping(value = "/delete")
|
@ResponseBody
|
public Object delete(@RequestParam Integer tBranchOfficeId) {
|
int count = tDriverService.selectCount(new EntityWrapper<TDriver>().eq("branchOfficeId", tBranchOfficeId));
|
if(count>0){
|
return new SuccessTip(500,"该分公司下有司机,请先删除司机!");
|
}
|
TBranchOffice tBranchOffice = tBranchOfficeService.selectById(tBranchOfficeId);
|
tBranchOffice.setStatus(StatusEnum.DELETE.getCode());
|
tBranchOfficeService.updateById(tBranchOffice);
|
|
branchOfficeAreaService.delete(new EntityWrapper<TBranchOfficeArea>().eq("branchOfficeId", tBranchOfficeId));
|
|
List<User> users = userService.selectList(new EntityWrapper<User>().eq("role_type", 2).eq("object_id", tBranchOfficeId));
|
for (User user : users) {
|
user.setStatus(3);
|
userService.updateById(user);
|
}
|
tSystemConfigService.delete(new EntityWrapper<TSystemConfig>().eq("type", 5).eq("companyId", tBranchOfficeId));
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 修改
|
*/
|
@RequestMapping(value = "/update")
|
@ResponseBody
|
@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW)
|
public Object update(TBranchOffice tBranchOffice,String subArr, Integer systemPriceType, String systemPriceContent, Integer holiday, Integer isTaxiCar, String serviceTel) {
|
TBranchOffice branchOffice = tBranchOfficeService.selectById(tBranchOffice.getId());
|
User user = userService.selectOne(new EntityWrapper<User>()
|
.eq("role_type", 2)
|
.eq("object_id", branchOffice.getId())
|
.last("LIMIT 1"));
|
// 判断区域是否已存在
|
Object o = addScopeIsExit(subArr, tBranchOffice);
|
if (o != null){
|
return o;
|
}
|
//判断账号是否已存在
|
if (SinataUtil.isNotEmpty(tBranchOffice.getAccount()) && SinataUtil.isNotEmpty(tBranchOffice.getPassword())){
|
if(Objects.isNull(user)){
|
//添加User对象
|
user.setAccount(tBranchOffice.getAccount());
|
user.setSalt(ShiroKit.getRandomSalt(5));
|
user.setPassword(ShiroKit.md5(tBranchOffice.getPassword(), user.getSalt()));
|
user.setStatus(ManagerStatus.OK.getCode());
|
user.setRoleid("3");
|
user.setDeptid(25);
|
user.setCreatetime(new Date());
|
user.setRoleType(2);
|
user.setObjectId(tBranchOffice.getId());
|
user.setName(tBranchOffice.getPrincipal());
|
user.setSex(1);
|
userService.insert(user);
|
}else {
|
if (!tBranchOffice.getAccount().equals(user.getAccount())){
|
//判断账号是否已存在
|
int count = userService.selectCount(new EntityWrapper<User>().eq("account", tBranchOffice.getAccount()).ne("status", 3));
|
if (count > 0){
|
return new SuccessTip(500,"该账号已存在!");
|
}
|
}
|
user.setAccount(tBranchOffice.getAccount());
|
user.setPassword(ShiroKit.md5(tBranchOffice.getPassword(), user.getSalt()));
|
userService.updateById(user);
|
}
|
}
|
|
TBranchOffice office = tBranchOfficeService.selectOne(new EntityWrapper<TBranchOffice>().eq("branchOfficeName", tBranchOffice.getBranchOfficeName())
|
.ne("status", 3).last("LIMIT 1"));
|
if(Objects.nonNull(office) && !tBranchOffice.getId().equals(office.getId())){
|
return new SuccessTip(500,"该分公司名称已存在!");
|
}
|
// Object ocr = ocr("E:\\071bf986db0b00355c0ed190bbd3b16.png");
|
// System.err.println(ocr);
|
// Object o = tBranchOfficeService.addOrUpdate(tBranchOffice);
|
// if(Objects.nonNull(o)){
|
// return o;
|
// }
|
tBranchOffice.setPrincipal(tBranchOffice.getPrincipal().replace(" ",""));
|
tBranchOfficeService.updateById(tBranchOffice);
|
|
TSystemConfig tSystemConfig = tSystemConfigService.selectOne(new EntityWrapper<TSystemConfig>().eq("type", 5).eq("companyId", tBranchOffice.getId()));
|
if(null == tSystemConfig){
|
tSystemConfig = new TSystemConfig();
|
tSystemConfig.setType(systemPriceType);
|
tSystemConfig.setCompanyId(tBranchOffice.getId());
|
tSystemConfig.setContent(systemPriceContent);
|
tSystemConfig.setCompanyType(2);
|
tSystemConfigService.insert(tSystemConfig);
|
}else{
|
tSystemConfig.setContent(systemPriceContent);
|
tSystemConfigService.updateById(tSystemConfig);
|
}
|
tSystemConfig = tSystemConfigService.selectOne(new EntityWrapper<TSystemConfig>().eq("type", 8).eq("companyId", tBranchOffice.getId()));
|
if(null == tSystemConfig){
|
tSystemConfig = new TSystemConfig();
|
tSystemConfig.setType(8);
|
tSystemConfig.setCompanyId(tBranchOffice.getId());
|
tSystemConfig.setContent("{\"num1\":" + isTaxiCar + ",\"num2\":\"" + serviceTel + "\",\"num3\":" + holiday + "}");
|
tSystemConfig.setCompanyType(2);
|
tSystemConfigService.insert(tSystemConfig);
|
}else{
|
tSystemConfig.setContent("{\"num1\":" + isTaxiCar + ",\"num2\":\"" + serviceTel + "\",\"num3\":" + holiday + "}");
|
tSystemConfigService.updateById(tSystemConfig);
|
}
|
|
addScope(subArr,tBranchOffice.getId());
|
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 详情
|
*/
|
@RequestMapping(value = "/detail/{tBranchOfficeId}")
|
@ResponseBody
|
public Object detail(@PathVariable("tBranchOfficeId") Integer tBranchOfficeId) {
|
return tBranchOfficeService.selectById(tBranchOfficeId);
|
}
|
}
|