Commit 04a3dcab by lijingjing

新增业务数据表和业务用户表;

新需求功能添加;
parent a624ab5b
package com.patzn.cloud.service.lims.hmhj.controller;
import com.patzn.cloud.service.hmhj.enums.BusinessDataEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.api.RestConstants;
import com.patzn.cloud.commons.api.RestResult;
import com.patzn.cloud.commons.controller.ServiceController;
import com.patzn.cloud.service.hmhj.entity.BusinessData;
import com.patzn.cloud.service.lims.hmhj.service.IBusinessDataService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* 业务数据表 前端控制器
*
* @author meazty
* @since 2021-08-07
*/
@Api(tags = "业务数据表")
@RestController
@RequestMapping("/v1/data")
public class BusinessDataController extends ServiceController {
@Autowired
private IBusinessDataService businessDataService;
@ApiOperation("分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
})
@PostMapping("/page")
public RestResult<Page<BusinessData>> getPage(BusinessData businessData) {
return success(businessDataService.page(getPage(), businessData));
}
@PostMapping("/list_sample_from")
public RestResult<List<BusinessData>> getListSampleFrom(BusinessData businessData) {
businessData.setBizType(BusinessDataEnum.SAMPLE_SOURCE.getName());
return success(businessDataService.list(businessData));
}
@PostMapping("/list_product_standard")
public RestResult<List<BusinessData>> getListProductStandard(BusinessData businessData) {
businessData.setBizType(BusinessDataEnum.PRODUCT_STANDARD.getName());
return success(businessDataService.list(businessData));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<BusinessData> get(@PathVariable("id") Long id) {
return success(businessDataService.getById(id));
}
@ApiOperation("根据 id 修改信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, BusinessData businessData) {
businessData.setId(id);
return success(businessDataService.updateById(businessData));
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(BusinessData businessData) {
return success(businessDataService.save(businessData));
}
@ApiOperation("根据 ids 删除")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
})
@DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(businessDataService.removeByIds(ids));
}
}
package com.patzn.cloud.service.lims.hmhj.controller;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.api.RestConstants;
import com.patzn.cloud.commons.api.RestResult;
import com.patzn.cloud.commons.controller.ServiceController;
import com.patzn.cloud.service.hmhj.entity.BusinessStaff;
import com.patzn.cloud.service.hmhj.enums.BusinessStaffEnum;
import com.patzn.cloud.service.lims.hmhj.service.IBusinessStaffService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 业务人员表 前端控制器
*
* @author meazty
* @since 2021-08-07
*/
@Api(tags = "业务人员表")
@RestController
@RequestMapping("/v1/staff")
public class BusinessStaffController extends ServiceController {
@Autowired
private IBusinessStaffService businessStaffService;
@ApiOperation("分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
})
@PostMapping("/page")
public RestResult<Page<BusinessStaff>> getPage(BusinessStaff businessStaff) {
return success(businessStaffService.page(getPage(), businessStaff));
}
@PostMapping("/list_assignor")
public RestResult<List<BusinessStaff>> getListSampleFrom(BusinessStaff businessStaff) {
businessStaff.setBizType(BusinessStaffEnum.ASSIGNOR.getName());
return success(businessStaffService.listData(businessStaff));
}
@PostMapping("/list_report_recipient")
public RestResult<List<BusinessStaff>> getListProductStandard(BusinessStaff businessStaff) {
businessStaff.setBizType(BusinessStaffEnum.REPORT_RECIPIENT.getName());
return success(businessStaffService.listData(businessStaff));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<BusinessStaff> get(@PathVariable("id") Long id) {
return success(businessStaffService.getById(id));
}
@ApiOperation("根据 id 修改信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, BusinessStaff businessStaff) {
businessStaff.setId(id);
return success(businessStaffService.updateById(businessStaff));
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(BusinessStaff businessStaff) {
return success(businessStaffService.save(businessStaff));
}
@ApiOperation("根据 ids 删除")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
})
@DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(businessStaffService.removeByIds(ids));
}
@ApiOperation("批量添加委托人员")
@PostMapping("/save_batch_assignor")
public RestResult<Boolean> saveBatchAssignor(@RequestBody String staffJson) {
return success(businessStaffService.saveBatchStaff(BusinessStaffEnum.ASSIGNOR, staffJson));
}
@ApiOperation("批量添加报告接收人员")
@PostMapping("/save_batch_report_recipient")
public RestResult<Boolean> saveBatchRecipient(@RequestBody String staffJson) {
return success(businessStaffService.saveBatchStaff(BusinessStaffEnum.REPORT_RECIPIENT, staffJson));
}
}
package com.patzn.cloud.service.lims.hmhj.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.api.RestConstants;
import com.patzn.cloud.commons.api.RestResult;
import com.patzn.cloud.commons.controller.ServiceController;
import com.patzn.cloud.service.hmhj.entity.ClientInfo;
import com.patzn.cloud.service.lims.hmhj.service.IClientInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import java.util.Map;
/**
* 委托单位配置信息 前端控制器
*
* @author meazty
* @since 2021-08-07
*/
@Api(tags = "委托单位配置信息")
@RestController
@RequestMapping("/v1/client_info")
public class ClientInfoController extends ServiceController {
@Autowired
private IClientInfoService clientInfoService;
@ApiOperation("分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
})
@PostMapping("/page")
public RestResult<Page<ClientInfo>> getPage(ClientInfo clientInfo) {
return success(clientInfoService.page(getPage(), clientInfo));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<ClientInfo> get(@PathVariable("id") Long id) {
return success(clientInfoService.getById(id));
}
@ApiOperation("根据 id 修改信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, ClientInfo clientInfo) {
clientInfo.setId(id);
return success(clientInfoService.updateById(clientInfo));
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(ClientInfo clientInfo) {
return success(clientInfoService.save(clientInfo));
}
@ApiOperation("根据 ids 删除")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
})
@DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(clientInfoService.removeByIds(ids));
}
@ApiOperation("获取委托单位列表")
@PostMapping("/list")
public RestResult<List<ClientInfo>> getList(ClientInfo clientInfo) {
return success(clientInfoService.listClient(clientInfo, getAccount()));
}
@ApiOperation("获取委托单位及相关信息")
@PostMapping("/client_about")
public RestResult<Map> getClientAbout() {
return success(clientInfoService.getClientAbout(getAccount()));
}
@ApiOperation("批量添加委托单位")
@PostMapping("/save_batch")
public RestResult<Boolean> saveBatch(@RequestBody String clientJson) {
return success(clientInfoService.saveBatchClient(clientJson, getAccount()));
}
}
package com.patzn.cloud.service.lims.hmhj.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.api.RestConstants;
import com.patzn.cloud.commons.api.RestResult;
import com.patzn.cloud.commons.controller.ServiceController;
import com.patzn.cloud.service.hmhj.entity.ClientTestSide;
import com.patzn.cloud.service.lims.hmhj.service.IClientTestSideService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* 委托单位下检测单位信息 前端控制器
*
* @author meazty
* @since 2021-08-07
*/
@Api(tags = "委托单位下检测单位信息")
@RestController
@RequestMapping("/v1/test_side")
public class ClientTestSideController extends ServiceController {
@Autowired
private IClientTestSideService clientTestSideService;
@ApiOperation("分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
})
@PostMapping("/page")
public RestResult<Page<ClientTestSide>> getPage(ClientTestSide clientTestSide) {
return success(clientTestSideService.page(getPage(), clientTestSide));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<ClientTestSide> get(@PathVariable("id") Long id) {
return success(clientTestSideService.getById(id));
}
@ApiOperation("根据 id 修改信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, ClientTestSide clientTestSide) {
clientTestSide.setId(id);
return success(clientTestSideService.updateById(clientTestSide));
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(ClientTestSide clientTestSide) {
return success(clientTestSideService.save(clientTestSide));
}
@ApiOperation("根据 ids 删除")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
})
@DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(clientTestSideService.removeByIds(ids));
}
@ApiOperation("批量添加检测单位")
@PostMapping("/save_or_update_batch")
public RestResult<Boolean> saveOrUpdateBatch(@RequestBody String testSideJson) {
return success(clientTestSideService.saveOrUpdateBatch(testSideJson, getAccount()));
}
}
package com.patzn.cloud.service.lims.hmhj.mapper;
import com.patzn.cloud.service.hmhj.entity.BusinessData;
import com.patzn.cloud.commons.mapper.BatchMapper;
/**
* <p>
* 业务数据表 Mapper 接口
* </p>
*
* @author meazty
* @since 2021-08-07
*/
public interface BusinessDataMapper extends BatchMapper<BusinessData> {
}
package com.patzn.cloud.service.lims.hmhj.mapper;
import com.patzn.cloud.service.hmhj.entity.BusinessStaff;
import com.patzn.cloud.commons.mapper.BatchMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author meazty
* @since 2021-08-07
*/
public interface BusinessStaffMapper extends BatchMapper<BusinessStaff> {
}
package com.patzn.cloud.service.lims.hmhj.mapper;
import com.patzn.cloud.service.hmhj.entity.ClientInfo;
import com.patzn.cloud.commons.mapper.BatchMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author meazty
* @since 2021-08-07
*/
public interface ClientInfoMapper extends BatchMapper<ClientInfo> {
}
package com.patzn.cloud.service.lims.hmhj.mapper;
import com.patzn.cloud.service.hmhj.entity.ClientTestSide;
import com.patzn.cloud.commons.mapper.BatchMapper;
/**
* <p>
* 委托单位下检测单位信息 Mapper 接口
* </p>
*
* @author meazty
* @since 2021-08-07
*/
public interface ClientTestSideMapper extends BatchMapper<ClientTestSide> {
}
package com.patzn.cloud.service.lims.hmhj.service;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.hmhj.entity.BusinessData;
import java.util.List;
/**
* 业务数据表 服务类
*
* @author meazty
* @since 2021-08-07
*/
public interface IBusinessDataService extends IBaseService<BusinessData> {
Page<BusinessData> page(Page<BusinessData> page, BusinessData businessData);
boolean removeByIds(List<Long> ids);
List<BusinessData> list(BusinessData businessData);
}
package com.patzn.cloud.service.lims.hmhj.service;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.hmhj.entity.BusinessStaff;
import com.patzn.cloud.service.hmhj.enums.BusinessStaffEnum;
import java.util.List;
/**
* 服务类
*
* @author meazty
* @since 2021-08-07
*/
public interface IBusinessStaffService extends IBaseService<BusinessStaff> {
Page<BusinessStaff> page(Page<BusinessStaff> page, BusinessStaff businessStaff);
boolean removeByIds(List<Long> ids);
List<BusinessStaff> listData(BusinessStaff businessStaff);
boolean saveBatchStaff(BusinessStaffEnum businessStaffEnum, String staffJson);
}
package com.patzn.cloud.service.lims.hmhj.service;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.hmhj.entity.ClientInfo;
import java.util.List;
import java.util.Map;
/**
* 服务类
*
* @author meazty
* @since 2021-08-07
*/
public interface IClientInfoService extends IBaseService<ClientInfo> {
Page<ClientInfo> page(Page<ClientInfo> page, ClientInfo clientInfo);
boolean removeByIds(List<Long> ids);
List<ClientInfo> listClient(ClientInfo clientInfo, Account account);
Map<String, Object> getClientAbout(Account account);
boolean saveBatchClient(String clientJson, Account account);
}
package com.patzn.cloud.service.lims.hmhj.service;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.hmhj.entity.ClientTestSide;
import java.util.List;
/**
* 委托单位下检测单位信息 服务类
*
* @author meazty
* @since 2021-08-07
*/
public interface IClientTestSideService extends IBaseService<ClientTestSide> {
Page<ClientTestSide> page(Page<ClientTestSide> page, ClientTestSide clientTestSide);
boolean removeByIds(List<Long> ids);
List<ClientTestSide> listByClientId(Long clientId);
boolean saveOrUpdateBatch(String testSideJson, Account account);
}
package com.patzn.cloud.service.lims.hmhj.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.hmhj.entity.BusinessData;
import com.patzn.cloud.service.lims.hmhj.mapper.BusinessDataMapper;
import com.patzn.cloud.service.lims.hmhj.service.IBusinessDataService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 业务数据表 服务实现类
*
* @author meazty
* @since 2021-08-07
*/
@Service
public class BusinessDataServiceImpl extends BaseServiceImpl<BusinessDataMapper, BusinessData> implements IBusinessDataService {
@Override
public Page<BusinessData> page(Page<BusinessData> page, BusinessData businessData) {
Wrapper wrapper = new EntityWrapper<>(businessData);
return this.page(page, wrapper);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
@Override
public List<BusinessData> list(BusinessData businessData) {
Wrapper<BusinessData> wrapper = new EntityWrapper<>(businessData);
return baseMapper.selectList(wrapper);
}
}
package com.patzn.cloud.service.lims.hmhj.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.exception.PatznException;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.hmhj.entity.BusinessStaff;
import com.patzn.cloud.service.hmhj.enums.BusinessStaffEnum;
import com.patzn.cloud.service.lims.hmhj.mapper.BusinessStaffMapper;
import com.patzn.cloud.service.lims.hmhj.service.IBusinessStaffService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 服务实现类
*
* @author meazty
* @since 2021-08-07
*/
@Service
public class BusinessStaffServiceImpl extends BaseServiceImpl<BusinessStaffMapper, BusinessStaff> implements IBusinessStaffService {
@Override
public Page<BusinessStaff> page(Page<BusinessStaff> page, BusinessStaff businessStaff) {
Wrapper wrapper = new EntityWrapper<>(businessStaff);
return this.page(page, wrapper);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
@Override
public List<BusinessStaff> listData(BusinessStaff businessStaff) {
Wrapper<BusinessStaff> wrapper = new EntityWrapper<>(businessStaff);
return baseMapper.selectList(wrapper);
}
@Override
public boolean saveBatchStaff(BusinessStaffEnum businessStaffEnum, String staffJson) {
RestAssert.fail(StringUtils.isBlank(staffJson), "人员信息为空");
try {
List<BusinessStaff> staffList = JSONArray.parseArray(staffJson, BusinessStaff.class);
RestAssert.fail(staffList.stream().anyMatch(t -> null == t.getBizId()), "业务编号为空");
staffList.forEach(t -> t.setBizType(businessStaffEnum.getName()));
saveOrUpdateBatch(staffList);
} catch (Exception e) {
logger.error(e.getMessage(), e.getCause());
throw new PatznException("人员数据转换异常");
}
return true;
}
}
package com.patzn.cloud.service.lims.hmhj.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.mapper.Condition;
import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.exception.PatznException;
import com.patzn.cloud.feign.base.client.SysOrgClient;
import com.patzn.cloud.service.base.entity.SysOrg;
import com.patzn.cloud.service.base.entity.SysUser;
import com.patzn.cloud.service.hmhj.entity.ClientInfo;
import com.patzn.cloud.service.hmhj.entity.ClientTestSide;
import com.patzn.cloud.service.lims.common.StringHandleUtils;
import com.patzn.cloud.service.lims.hmhj.mapper.ClientInfoMapper;
import com.patzn.cloud.service.lims.hmhj.service.IClientInfoService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.lims.hmhj.service.IClientTestSideService;
import org.apache.commons.lang3.StringUtils;
import org.checkerframework.checker.units.qual.Acceleration;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 服务实现类
*
* @author meazty
* @since 2021-08-07
*/
@Service
public class ClientInfoServiceImpl extends BaseServiceImpl<ClientInfoMapper, ClientInfo> implements IClientInfoService {
@Autowired
private UserInfoServiceImpl userInfoService;
@Autowired
private IClientTestSideService clientTestSideService;
@Override
public Page<ClientInfo> page(Page<ClientInfo> page, ClientInfo clientInfo) {
Wrapper wrapper = new EntityWrapper<>(clientInfo);
return this.page(page, wrapper);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
@Override
public List<ClientInfo> listClient(ClientInfo clientInfo, Account account) {
SysOrg sysOrg = userInfoService.getUserOrg(account);
RestAssert.fail(null == sysOrg, "用户组织为空");
return list(Condition.create().eq("org_id", sysOrg.getId()));
}
@Override
public Map<String, Object> getClientAbout(Account account) {
List<ClientInfo> clientInfoList = listClient(null, account);
Map<String, Object> result = new HashMap<>();
// 为空或者大于1,直接返回,不对数据进行处理
if (CollectionUtils.isEmpty(clientInfoList) || clientInfoList.size() > 1) {
result.put("clients", clientInfoList);
return result;
}
ClientInfo clientInfo = clientInfoList.get(0);
// 前端直接判断有无 client 即可
result.put("client", clientInfo);
// 检测单位信息
List<ClientTestSide> clientTestSides = clientTestSideService.listByClientId(clientInfo.getId());
if (CollectionUtils.isEmpty(clientTestSides) || clientTestSides.size() > 1) {
result.put("testSides", clientTestSides);
return result;
}
ClientTestSide testSide = clientTestSides.get(0);
result.put("testSide", testSide);
// 额外处理数据
// 若委托单位为净化分厂
if (clientInfo.getClient().contains("净化分厂")) {
List<SysUser> roleUsers = userInfoService.getUsersByRoleName("净化化验员");
List<SysUser> orgUsers = userInfoService.getUsersByOrg(clientInfo.getOrgId());
List<Long> orgUserIds = orgUsers.stream().map(SysUser::getId).collect(Collectors.toList());
result.put("jhUsers", roleUsers.stream().filter(t -> orgUserIds.contains(t.getId())).collect(Collectors.toList()));
}
return result;
}
@Override
public boolean saveBatchClient(String clientJson, Account account) {
RestAssert.fail(StringUtils.isBlank(clientJson), "委托单位信息为空");
try {
List<ClientInfo> clientInfoList = JSONArray.parseArray(clientJson, ClientInfo.class);
this.saveBatch(clientInfoList);
} catch (Exception e) {
logger.error(e.getMessage(), e.getCause());
throw new PatznException("数据转换异常");
}
return true;
}
}
package com.patzn.cloud.service.lims.hmhj.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.mapper.Condition;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.exception.PatznException;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.hmhj.entity.ClientTestSide;
import com.patzn.cloud.service.lims.hmhj.mapper.ClientTestSideMapper;
import com.patzn.cloud.service.lims.hmhj.service.IClientTestSideService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 委托单位下检测单位信息 服务实现类
*
* @author meazty
* @since 2021-08-07
*/
@Service
public class ClientTestSideServiceImpl extends BaseServiceImpl<ClientTestSideMapper, ClientTestSide> implements IClientTestSideService {
@Override
public Page<ClientTestSide> page(Page<ClientTestSide> page, ClientTestSide clientTestSide) {
Wrapper wrapper = new EntityWrapper<>(clientTestSide);
return this.page(page, wrapper);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
@Override
public List<ClientTestSide> listByClientId(Long clientId) {
RestAssert.fail(null == clientId, "委托单位编号为空");
return list(Condition.create().eq("client_id", clientId));
}
@Override
public boolean saveOrUpdateBatch(String testSideJson, Account account) {
RestAssert.fail(StringUtils.isBlank(testSideJson), "检测单位信息为空");
try {
List<ClientTestSide> clientTestSideList = JSONArray.parseArray(testSideJson, ClientTestSide.class);
this.saveOrUpdateBatch(clientTestSideList);
} catch (Exception e) {
logger.error(e.getMessage(), e.getCause());
throw new PatznException("数据转换异常");
}
return true;
}
}
...@@ -963,7 +963,11 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -963,7 +963,11 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
// 是否组合判定 // 是否组合判定
boolean isComposeJudgment = null != standard.getComposeJudge() && 1 == standard.getComposeJudge().intValue(); boolean isComposeJudgment = null != standard.getComposeJudge() && 1 == standard.getComposeJudge().intValue();
// 计算合计-组合判定合计值 // 计算合计-组合判定合计值
BigDecimal totalDecimal = sampleItemList.stream().filter(t -> StringUtils.isNotBlank(t.getTestValue())).map(t -> { BigDecimal totalDecimal = sampleItemList.stream().filter(t -> {
// 过滤为组合判定且值不为空检测项目
int composeJudge = null == t.getComposeJudge() ? 0 : t.getComposeJudge().intValue();
return 1 == composeJudge && StringUtils.isNotBlank(t.getTestValue());
}).map(t -> {
// 符合此条件,需要判断是否此标准且为稀有元素且值小于0.01即可忽略为0 // 符合此条件,需要判断是否此标准且为稀有元素且值小于0.01即可忽略为0
String testValue = t.getTestValue().trim(); String testValue = t.getTestValue().trim();
RestAssert.fail(!isNumber(testValue), String.format("样品编号【%s】存在错误检测值【%s】", sample.getCode(), testValue)); RestAssert.fail(!isNumber(testValue), String.format("样品编号【%s】存在错误检测值【%s】", sample.getCode(), testValue));
...@@ -980,7 +984,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -980,7 +984,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
// 获得产品等级信息 // 获得产品等级信息
List<GradingProduct> gradingProductList = gradingProductService.list(Condition.create() List<GradingProduct> gradingProductList = gradingProductService.list(Condition.create()
.eq("grading_standard_id", standard.getId()).eq("deleted", 0) .eq("grading_standard_id", standard.getId())
// 依旧优先级来处理判定顺序 // 依旧优先级来处理判定顺序
.orderBy("judge_priority", true)); .orderBy("judge_priority", true));
...@@ -994,10 +998,8 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -994,10 +998,8 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
GradingProduct product = gradingProductList.get(i); GradingProduct product = gradingProductList.get(i);
// 比较单个大小是否都符合 // 比较单个大小是否都符合
List<GradingItem> gradingItemList = gradingItemService.list(Condition.create() List<GradingItem> gradingItemList = gradingItemService.list(Condition.create().eq("grading_product_id", product.getId()));
.eq("grading_product_id", product.getId()).eq("compose_judge", 1) RestAssert.fail(CollectionUtils.isEmpty(gradingItemList), "产品等级【" + product.getProductGrade() + "】下的检测项目为空");
.eq("deleted", 0));
RestAssert.fail(CollectionUtils.isEmpty(gradingItemList), "产品等级【" + product.getProductGrade() + "】下为组合判定的检测项目为空");
// 若存在 // 若存在
gradingItemList.forEach(t -> { gradingItemList.forEach(t -> {
RestAssert.fail(StringUtils.isBlank(t.getDecisionSymbol()), "产品等级下产品检测项目比较符为空"); RestAssert.fail(StringUtils.isBlank(t.getDecisionSymbol()), "产品等级下产品检测项目比较符为空");
......
package com.patzn.cloud.service.lims.hmhj.service.impl; package com.patzn.cloud.service.lims.hmhj.service.impl;
import com.baomidou.mybatisplus.toolkit.CollectionUtils; import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account; import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.controller.LoginHelper; import com.patzn.cloud.commons.controller.LoginHelper;
import com.patzn.cloud.feign.base.client.SysOrgClient;
import com.patzn.cloud.feign.base.client.SysRoleClient;
import com.patzn.cloud.feign.base.client.SysUserClient; import com.patzn.cloud.feign.base.client.SysUserClient;
import com.patzn.cloud.feign.lims.base.client.LmsUserGroupClient; import com.patzn.cloud.feign.lims.base.client.LmsUserGroupClient;
import com.patzn.cloud.service.base.entity.SysOrg;
import com.patzn.cloud.service.base.entity.SysUser; import com.patzn.cloud.service.base.entity.SysUser;
import com.patzn.cloud.service.base.entity.SysUserRelRole;
import com.patzn.cloud.service.base.vo.SysOrgVO;
import com.patzn.cloud.service.hmhj.entity.Entrust; import com.patzn.cloud.service.hmhj.entity.Entrust;
import com.patzn.cloud.service.lims.base.entity.LmsUserGroup; import com.patzn.cloud.service.lims.base.entity.LmsUserGroup;
import com.patzn.cloud.service.lims.hmhj.service.IEntrustService; import com.patzn.cloud.service.lims.hmhj.service.IEntrustService;
...@@ -34,6 +40,15 @@ public class UserInfoServiceImpl { ...@@ -34,6 +40,15 @@ public class UserInfoServiceImpl {
@Autowired @Autowired
private LmsUserGroupClient lmsUserGroupClient; private LmsUserGroupClient lmsUserGroupClient;
@Autowired
private SysOrgClient sysOrgClient;
@Autowired
private SysUserClient sysUserClient;
@Autowired
private SysRoleClient sysRoleClient;
public List<LmsUserGroup> getGroupList(Long userId) { public List<LmsUserGroup> getGroupList(Long userId) {
if (null == userId) { if (null == userId) {
return OTHER_GROUP_LIST; return OTHER_GROUP_LIST;
...@@ -76,4 +91,20 @@ public class UserInfoServiceImpl { ...@@ -76,4 +91,20 @@ public class UserInfoServiceImpl {
} }
return userGroups.stream().anyMatch(t -> entrust.getTestSide().equals(t.getName())); return userGroups.stream().anyMatch(t -> entrust.getTestSide().equals(t.getName()));
} }
public SysOrg getUserOrg(Account account) {
List<SysOrg> orgList = sysOrgClient.getListByUserId(account.getUserId()).getData();
return CollectionUtils.isNotEmpty(orgList) ? orgList.get(0) : null;
}
public List<SysUser> getUsersByOrg(Long orgId) {
RestAssert.fail(null == orgId, "组织ID为空");
return sysUserClient.getListByOrgId(orgId, null).serviceData();
}
public List<SysUser> getUsersByRoleName(String roleName) {
RestAssert.fail(StringUtils.isBlank(roleName), "角色为空");
return sysUserClient.getListByRoleName(roleName).serviceData();
}
} }
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.patzn.cloud.service.lims.hmhj.mapper.BusinessDataMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.patzn.cloud.service.lims.hmhj.mapper.BusinessStaffMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.patzn.cloud.service.lims.hmhj.mapper.ClientInfoMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.patzn.cloud.service.lims.hmhj.mapper.ClientTestSideMapper">
</mapper>
ALTER TABLE "public"."entrust" ALTER TABLE "public"."entrust"
ALTER TABLE "public"."entrust" ALTER TABLE "public"."entrust"
ADD COLUMN "org_id" int8; ADD COLUMN "org_id" int8,
ADD COLUMN "material_id" int8,
ADD COLUMN "sample_name" varchar(64) COLLATE "pg_catalog"."default";
COMMENT ON COLUMN "public"."entrust"."org_id" IS '组织ID,用于委托模板'; COMMENT ON COLUMN "public"."entrust"."org_id" IS '组织ID,用于委托模板';
\ No newline at end of file COMMENT ON COLUMN "public"."entrust"."material_id" IS '物资ID';
COMMENT ON COLUMN "public"."entrust"."sample_name" IS '样品名称';
\ No newline at end of file
/** add by meazty on 2021/08/07 13:54 **/
/** add by meazty on 2021/08/07 13:54 **/
ALTER TABLE "public"."material"
ADD COLUMN "sample_shape" varchar(100) COLLATE "pg_catalog"."default",
ADD COLUMN "urgent_report_time" timestamp(6);
COMMENT ON COLUMN "public"."material"."sample_shape" IS '样品状态';
COMMENT ON COLUMN "public"."material"."urgent_report_time" IS '加急拿报告时间';
\ No newline at end of file
/** created by meazty on 2021/8/7 17:59 **/
/** created by meazty on 2021/8/7 17:59 **/
-- ----------------------------
-- Table structure for business_data
-- ----------------------------
DROP TABLE IF EXISTS "public"."business_data";
CREATE TABLE "public"."business_data" (
"id" int8 NOT NULL,
"biz_id" int8,
"biz_type" varchar(64) COLLATE "pg_catalog"."default",
"type" varchar(64) COLLATE "pg_catalog"."default",
"data_id" varchar(64) COLLATE "pg_catalog"."default",
"data_cont" varchar(255) COLLATE "pg_catalog"."default",
"company_id" int8,
"uid" int8,
"ctime" timestamp(0),
"ltime" timestamp(0),
"lid" int8,
"deleted" int2 DEFAULT 0
)
;
COMMENT ON COLUMN "public"."business_data"."biz_id" IS '业务ID';
COMMENT ON COLUMN "public"."business_data"."biz_type" IS '业务类型';
COMMENT ON COLUMN "public"."business_data"."type" IS '数据类型一般用不到';
COMMENT ON COLUMN "public"."business_data"."data_id" IS '数据ID';
COMMENT ON COLUMN "public"."business_data"."data_cont" IS '数据CONT';
COMMENT ON COLUMN "public"."business_data"."company_id" IS '企业ID';
COMMENT ON COLUMN "public"."business_data"."uid" IS '创建人ID';
COMMENT ON COLUMN "public"."business_data"."ctime" IS '创建时间';
COMMENT ON COLUMN "public"."business_data"."ltime" IS '最后修改时间';
COMMENT ON COLUMN "public"."business_data"."lid" IS '最后修改人ID';
COMMENT ON COLUMN "public"."business_data"."deleted" IS '是否删除0否1是';
COMMENT ON TABLE "public"."business_data" IS '业务数据表';
-- ----------------------------
-- Table structure for business_staff
-- ----------------------------
DROP TABLE IF EXISTS "public"."business_staff";
CREATE TABLE "public"."business_staff" (
"id" int8 NOT NULL,
"biz_id" int8,
"biz_type" varchar(64) COLLATE "pg_catalog"."default",
"type" varchar(64) COLLATE "pg_catalog"."default",
"staff_id" int8,
"staff" varchar(64) COLLATE "pg_catalog"."default",
"staff_name" varchar(64) COLLATE "pg_catalog"."default",
"company_id" int8,
"uid" int8,
"ctime" timestamp(0),
"ltime" timestamp(0),
"lid" int8,
"deleted" int2 DEFAULT 0
)
;
COMMENT ON COLUMN "public"."business_staff"."biz_id" IS '业务ID';
COMMENT ON COLUMN "public"."business_staff"."biz_type" IS '业务类型';
COMMENT ON COLUMN "public"."business_staff"."type" IS '类型(一般用不到)';
COMMENT ON COLUMN "public"."business_staff"."staff_id" IS '人员ID';
COMMENT ON COLUMN "public"."business_staff"."staff" IS '人员编号';
COMMENT ON COLUMN "public"."business_staff"."staff_name" IS '人员真实姓名';
COMMENT ON COLUMN "public"."business_staff"."company_id" IS '企业ID';
COMMENT ON COLUMN "public"."business_staff"."uid" IS '创建人ID';
COMMENT ON COLUMN "public"."business_staff"."ctime" IS '创建时间';
COMMENT ON COLUMN "public"."business_staff"."ltime" IS '最后修改时间';
COMMENT ON COLUMN "public"."business_staff"."lid" IS '最后修改人ID';
COMMENT ON COLUMN "public"."business_staff"."deleted" IS '是否删除0否1是';
COMMENT ON TABLE "public"."business_staff" IS '业务人员数据表';
-- ----------------------------
-- Primary Key structure for table business_data
-- ----------------------------
ALTER TABLE "public"."business_data" ADD CONSTRAINT "business_data_pkey" PRIMARY KEY ("id");
-- ----------------------------
-- Primary Key structure for table business_staff
-- ----------------------------
ALTER TABLE "public"."business_staff" ADD CONSTRAINT "business_staff_pkey" PRIMARY KEY ("id");
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment