You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
en-server/bweb/src/main/java/com/bweb/controller/item/EnServiceCompanyController....

297 lines
12 KiB

package com.bweb.controller.item;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.hfkj.common.exception.ErrorCode;
import com.hfkj.common.exception.ErrorHelp;
import com.hfkj.common.exception.SysCode;
import com.hfkj.common.security.UserCenter;
import com.hfkj.common.utils.ResponseMsgUtil;
import com.hfkj.entity.EnItemSegments;
import com.hfkj.entity.EnSerCompanySgRel;
import com.hfkj.entity.EnServiceCompany;
import com.hfkj.model.ResponseData;
import com.hfkj.model.SecUserSessionObject;
import com.hfkj.service.item.EnItemSegmentsService;
import com.hfkj.service.item.EnSerCompanySgRelService;
import com.hfkj.service.item.EnServiceCompanyService;
import com.hfkj.sysenum.SecUserObjectTypeEnum;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import netscape.javascript.JSObject;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@Controller
@RequestMapping(value="/enServiceCompany")
@Api(value="服务公司管理")
public class EnServiceCompanyController {
Logger log = LoggerFactory.getLogger(EnServiceCompanyController.class);
@Resource
private UserCenter userCenter;
@Resource
private EnServiceCompanyService enServiceCompanyService;
@Resource
private EnItemSegmentsService enItemSegmentsService;
@Resource
private EnSerCompanySgRelService enSerCompanySgRelService;
@RequestMapping(value="/create",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "创建服务公司")
public ResponseData create(@RequestBody EnServiceCompany body) {
try {
if (body == null
|| StringUtils.isBlank(body.getName())
|| StringUtils.isBlank(body.getContactInfo())
|| StringUtils.isBlank(body.getAddress())
|| StringUtils.isBlank(body.getPerson())
) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
SecUserSessionObject sessionModel = userCenter.getSessionModel(SecUserSessionObject.class);
if (sessionModel == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.ACCOUNT_LOGIN_NOT, "");
}
if (!sessionModel.getAccount().getObjectType().equals(SecUserObjectTypeEnum.type1.getCode())) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.ROLE_NOT_PERMISSIONS, "");
}
body.setUpdateTime(new Date());
body.setCreateTime(new Date());
body.setCreateUser(sessionModel.getAccount().getId());
body.setStatus(1);
body.setCreateUserName(sessionModel.getAccount().getUserName());
enServiceCompanyService.create(body);
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
log.error("error!",e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/update",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "修改服务公司")
public ResponseData update(@RequestBody EnServiceCompany body) {
try {
if (body == null
|| body.getId() == null
|| StringUtils.isBlank(body.getName())
|| StringUtils.isBlank(body.getAddress())
|| StringUtils.isBlank(body.getPerson())
) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
SecUserSessionObject sessionModel = userCenter.getSessionModel(SecUserSessionObject.class);
if (sessionModel == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.ACCOUNT_LOGIN_NOT, "");
}
if (!sessionModel.getAccount().getObjectType().equals(SecUserObjectTypeEnum.type1.getCode())) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.ROLE_NOT_PERMISSIONS, "");
}
Map<String , Object > map = new HashMap<>();
map.put("id",body.getId());
map.put("createUser" , sessionModel.getAccount().getId());
EnServiceCompany enServiceCompany = enServiceCompanyService.queryDetailByMap(map);
if (enServiceCompany == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "服务公司不存在");
}
enServiceCompany.setName(body.getName());
enServiceCompany.setAddress(body.getAddress());
enServiceCompany.setPerson(body.getPerson());
enServiceCompany.setUpdateTime(new Date());
enServiceCompany.setUpdateUser(sessionModel.getAccount().getId());
enServiceCompany.setUpdateUserName(sessionModel.getAccount().getUserName());
enServiceCompanyService.update(enServiceCompany);
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
log.error("error!",e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/delete",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "删除")
public ResponseData delete(@RequestParam(value = "id" , required = false) Long id) {
try {
SecUserSessionObject sessionModel = userCenter.getSessionModel(SecUserSessionObject.class);
if (sessionModel == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.ACCOUNT_LOGIN_NOT, "");
}
Map<String , Object > map = new HashMap<>();
map.put("id",id);
map.put("createUser" , sessionModel.getAccount().getId());
EnServiceCompany enServiceCompany = enServiceCompanyService.queryDetailByMap(map);
if (enServiceCompany == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "项目不存在");
}
enServiceCompanyService.delete(id , false);
return ResponseMsgUtil.success("删除成功");
} catch (Exception e) {
log.error("error!",e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/queryDetail",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询详情")
public ResponseData queryDetail(@RequestParam(value = "id" , required = false) Long id) {
try {
return ResponseMsgUtil.success(enServiceCompanyService.queryDetail(id));
} catch (Exception e) {
log.error("error!",e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/queryList",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询项目列表")
public ResponseData queryList(@RequestParam(value = "name" , required = false) String name,
@RequestParam(value = "address" , required = false) String address,
@RequestParam(value = "status" , required = false) Integer status,
@RequestParam(value = "person" , required = false) String person,
@RequestParam(value = "contactInfo" , required = false) String contactInfo,
@RequestParam(value = "pageNum" , required = true) Integer pageNum,
@RequestParam(value = "pageSize" , required = true) Integer pageSize) {
try {
SecUserSessionObject sessionModel = userCenter.getSessionModel(SecUserSessionObject.class);
if (sessionModel == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.ACCOUNT_LOGIN_NOT, "");
}
Map<String,Object> param = new HashMap<>();
param.put("name", name);
param.put("contactInfo", contactInfo);
param.put("address", address);
param.put("person", person);
param.put("status", status);
param.put("createUser", sessionModel.getAccount().getId());
PageHelper.startPage(pageNum, pageSize);
return ResponseMsgUtil.success(new PageInfo<>(enServiceCompanyService.getList(param)));
} catch (Exception e) {
log.error("error!",e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/bindSegment",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "绑定项目段")
public ResponseData bindSegment(@RequestBody JSONObject body) {
try {
if (body == null
|| body.getLong("companyId") == null
|| StringUtils.isBlank(body.getString("segmentIds"))
) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
SecUserSessionObject sessionModel = userCenter.getSessionModel(SecUserSessionObject.class);
if (sessionModel == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.ACCOUNT_LOGIN_NOT, "");
}
enSerCompanySgRelService.deleteAllByCompanyId(body.getLong("companyId") , false , sessionModel.getAccount().getId());
Map<String , Object > map = new HashMap<>();
map.put("id",body.getLong("companyId"));
map.put("createUser" , sessionModel.getAccount().getId());
EnServiceCompany enServiceCompany = enServiceCompanyService.queryDetailByMap(map);
if (enServiceCompany == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "服务公司不存在");
}
// 查询项目段
String[] segmentIds = body.getString("segmentIds").split(",");
for (String segmentId : segmentIds) {
map.put("id",segmentId);
EnItemSegments enItemSegments = enItemSegmentsService.queryDetailByMap(map);
if (enItemSegments != null) {
EnSerCompanySgRel enSerCompanySgRel = new EnSerCompanySgRel();
enSerCompanySgRel.setCompanyId(body.getLong("companyId"));
enSerCompanySgRel.setSegmentId(Long.valueOf(segmentId));
enSerCompanySgRel.setCompanyName(enServiceCompany.getName());
enSerCompanySgRel.setSegmentName(enItemSegments.getSegmentName());
enSerCompanySgRel.setUpdateTime(new Date());
enSerCompanySgRel.setCreateTime(new Date());
enSerCompanySgRel.setCreateUser(sessionModel.getAccount().getId());
enSerCompanySgRel.setStatus(1);
enSerCompanySgRel.setCreateUserName(sessionModel.getAccount().getUserName());
enSerCompanySgRelService.create(enSerCompanySgRel);
}
}
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
log.error("error!",e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/querySgeCompanyList",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询项目段公司关联列表")
public ResponseData querySgeCompanyList(@RequestParam(value = "companyId" , required = false) Long companyId,
@RequestParam(value = "segmentId" , required = false) Long segmentId) {
try {
SecUserSessionObject sessionModel = userCenter.getSessionModel(SecUserSessionObject.class);
if (sessionModel == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.ACCOUNT_LOGIN_NOT, "");
}
Map<String,Object> param = new HashMap<>();
param.put("companyId", companyId);
param.put("segmentId", segmentId);
return ResponseMsgUtil.success(enSerCompanySgRelService.getList(param));
} catch (Exception e) {
log.error("error!",e);
return ResponseMsgUtil.exception(e);
}
}
}