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.
297 lines
12 KiB
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);
|
|
}
|
|
}
|
|
|
|
}
|
|
|