新增功能

20240109-yw
yuanwei 1 year ago
parent 1f110f022d
commit d00ed8529a

@ -0,0 +1,143 @@
package com.glxp.api.controller.basic;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.basic.BasicManuProductEntity;
import com.glxp.api.entity.basic.BasicUdiProductEntity;
import com.glxp.api.entity.basic.BasicUdiRelEntity;
import com.glxp.api.entity.basic.ProductInfoEntity;
import com.glxp.api.entity.stat.StatCorpOfflineEntity;
import com.glxp.api.req.basic.BasicDictSelectRequest;
import com.glxp.api.req.basic.BasicManuProductRequest;
import com.glxp.api.req.basic.BasicUdiRelRequest;
import com.glxp.api.req.stat.StatCorpOfflineEntityRequest;
import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.stat.StatCorpOfflineResponse;
import com.glxp.api.service.basic.BasicManuProductService;
import com.glxp.api.service.basic.ProductInfoService;
import com.glxp.api.service.stat.StatCorpOfflineService;
import com.glxp.api.service.sup.UserCompanyService;
import com.glxp.api.util.StringUtils;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
/**
*
*
*/
@ApiIgnore
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/udiwms/basic/manu/product")
public class BasicManuProductController extends BaseController {
private final BasicManuProductService basicManuProductService;
@Resource
ProductInfoService productInfoService;
@GetMapping("/list")
public BaseResponse list(BasicManuProductRequest request, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
int offset = (request.getPage() - 1) * request.getLimit();
Page<BasicManuProductEntity> pages = PageHelper.offsetPage(offset, request.getLimit());
List<BasicManuProductEntity> list = basicManuProductService.filterList(getQueryWrapper(request));
PageSimpleResponse<BasicManuProductEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pages.getTotal());
pageSimpleResponse.setList(list);
return ResultVOUtils.success(pageSimpleResponse);
}
//医疗器械信息字典编辑保存
@AuthRuleAnnotation("")
@ApiOperation(value = "添加", response = BaseResponse.class)
@PostMapping("/add")
public BaseResponse batchAdd(@RequestBody BasicDictSelectRequest basicDictSelectRequest) {
String userId = getCompanyId();
if (CollUtil.isNotEmpty(basicDictSelectRequest.getKeys())) {
for (String uuid : basicDictSelectRequest.getKeys()) {
if (!basicManuProductService.isExit(uuid,Long.parseLong(userId))) {
List<ProductInfoEntity> productInfoEntities = productInfoService.selectByUuid(uuid);
if (CollUtil.isNotEmpty(productInfoEntities)) {
for (ProductInfoEntity productInfoEntity : productInfoEntities) {
BasicManuProductEntity basicManuProductEntity = new BasicManuProductEntity();
BeanUtils.copyProperties(productInfoEntity, basicManuProductEntity);
basicManuProductEntity.setUpdateTime(new Date());
basicManuProductEntity.setUpdateUser(Long.parseLong(userId));
basicManuProductEntity.setCompanyIdFk(Long.parseLong(userId));
basicManuProductEntity.setId(IdUtil.getSnowflakeNextId());
basicManuProductService.save(basicManuProductEntity);
}
}
}
}
}
return ResultVOUtils.success("添加成功!");
}
@AuthRuleAnnotation("")
@ApiOperation(value = "删除", response = BaseResponse.class)
@PostMapping("/delete")
public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) {
basicManuProductService.removeById(deleteRequest.getId());
return ResultVOUtils.success("删除成功!");
}
//产品信息关联修改
@AuthRuleAnnotation("")
@ApiOperation(value = "更新", response = BaseResponse.class)
@PostMapping("/update")
public BaseResponse update(@RequestBody BasicUdiRelRequest basicUdiRelRequest) {
if (basicUdiRelRequest.getAgengtStartDate() != null && basicUdiRelRequest.getAgengtEndDate() != null) {
if (basicUdiRelRequest.getAgengtStartDate().getTime() > basicUdiRelRequest.getAgengtEndDate().getTime()) {
return ResultVOUtils.error(999, "代理起始时间不能小于代理截止时间!");
}
}
BasicManuProductEntity basicManuProductEntity = new BasicManuProductEntity();
BeanUtils.copyProperties(basicUdiRelRequest, basicManuProductEntity);
basicManuProductEntity.setUpdateTime(new Date());
basicManuProductEntity.setUpdateUser( Long.parseLong(getCompanyId()));
basicManuProductService.updateById(basicManuProductEntity);
return ResultVOUtils.success("添加成功!");
}
public QueryWrapper<StatCorpOfflineEntity> getQueryWrapper(BasicManuProductRequest request) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq(StringUtils.isNotEmpty(request.getCompanyName()),"uc.companyName",request.getCompanyName());
queryWrapper.eq(StringUtils.isNotEmpty(request.getBussinessStatus()),"uc.bussinessStatus",request.getBussinessStatus());
queryWrapper.eq(StringUtils.isNotEmpty(request.getCreditNum()),"uc.creditNum",request.getCreditNum());
String companyId = getCompanyId();
queryWrapper.eq(StringUtils.isNotEmpty(companyId),"companyIdFk",companyId);
return queryWrapper;
}
}

@ -0,0 +1,126 @@
package com.glxp.api.controller.basic;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.basic.BasicManuProductEntity;
import com.glxp.api.entity.basic.BasicManuYlqxzczhEntity;
import com.glxp.api.entity.basic.ProductInfoEntity;
import com.glxp.api.entity.stat.StatCorpOfflineEntity;
import com.glxp.api.req.basic.BasicDictSelectRequest;
import com.glxp.api.req.basic.BasicManuProductRequest;
import com.glxp.api.req.basic.BasicManuYlqxzczhRequest;
import com.glxp.api.req.basic.BasicUdiRelRequest;
import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.service.basic.BasicManuProductService;
import com.glxp.api.service.basic.BasicManuYlqxzczhService;
import com.glxp.api.service.sup.UserCompanyService;
import com.glxp.api.util.BeanCopyUtils;
import com.glxp.api.util.StringUtils;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
/**
*
*
*/
@ApiIgnore
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/udiwms/basic/manu/ylqxzczh")
public class BasicManuYlqxzczhController extends BaseController {
private final BasicManuYlqxzczhService basicManuYlqxzczhService;
@Resource
UserCompanyService userCompanyService;
@GetMapping("/list")
public BaseResponse list(BasicManuYlqxzczhRequest request, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
int offset = (request.getPage() - 1) * request.getLimit();
Page<BasicManuYlqxzczhEntity> pages = PageHelper.offsetPage(offset, request.getLimit());
List<BasicManuYlqxzczhEntity> list = basicManuYlqxzczhService.filterList(getQueryWrapper(request));
PageSimpleResponse<BasicManuYlqxzczhEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pages.getTotal());
pageSimpleResponse.setList(list);
return ResultVOUtils.success(pageSimpleResponse);
}
//医疗器械信息字典编辑保存
@AuthRuleAnnotation("")
@ApiOperation(value = "添加", response = BaseResponse.class)
@PostMapping("/save")
public BaseResponse save(@RequestBody BasicManuYlqxzczhEntity entityRequest) {
BasicManuYlqxzczhEntity basicManuYlqxzczhEntity = new BasicManuYlqxzczhEntity();
BeanUtils.copyProperties(entityRequest, basicManuYlqxzczhEntity);
basicManuYlqxzczhEntity.setCreateTime(new Date());
basicManuYlqxzczhEntity.setCreateUser( getCompanyId());
basicManuYlqxzczhEntity.setUdpateTime(new Date());
basicManuYlqxzczhEntity.setUpdateUser( getCompanyId());
basicManuYlqxzczhEntity.setCompanyIdFk(Long.parseLong(getCompanyId()));
basicManuYlqxzczhService.save(basicManuYlqxzczhEntity);
return ResultVOUtils.success("添加成功!");
}
@AuthRuleAnnotation("")
@ApiOperation(value = "删除", response = BaseResponse.class)
@PostMapping("/delete")
public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) {
basicManuYlqxzczhService.removeById(deleteRequest.getId());
return ResultVOUtils.success("删除成功!");
}
//产品信息关联修改
@AuthRuleAnnotation("")
@ApiOperation(value = "更新", response = BaseResponse.class)
@PostMapping("/edit")
public BaseResponse update(@RequestBody BasicManuYlqxzczhEntity entityRequest) {
BasicManuYlqxzczhEntity basicManuYlqxzczhEntity = new BasicManuYlqxzczhEntity();
BeanUtils.copyProperties(entityRequest, basicManuYlqxzczhEntity);
basicManuYlqxzczhEntity.setUdpateTime(new Date());
basicManuYlqxzczhEntity.setUpdateUser( getCompanyId());
basicManuYlqxzczhService.updateById(basicManuYlqxzczhEntity);
return ResultVOUtils.success("添加成功!");
}
public QueryWrapper<BasicManuYlqxzczhEntity> getQueryWrapper(BasicManuYlqxzczhRequest request) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq(StringUtils.isNotEmpty(request.getYlqxzcrbarywmc()),"ylqxzcrbarywmc",request.getYlqxzcrbarywmc());
queryWrapper.eq(StringUtils.isNotEmpty(request.getZczbhhzbapzbh()),"zczbhhzbapzbh",request.getZczbhhzbapzbh());
queryWrapper.eq(StringUtils.isNotEmpty(request.getProductName()),"productName",request.getProductName());
queryWrapper.eq(StringUtils.isNotEmpty(request.getStatus()),"status",request.getStatus());
String companyId = getCompanyId();
queryWrapper.eq(StringUtils.isNotEmpty(companyId),"companyIdFk",companyId);
return queryWrapper;
}
}

@ -39,6 +39,8 @@ public class UdiSyncController {
@Resource
BasicUdiRelService basicUdiRelService;
@Resource
BasicManuProductService basicManuProductService;
@Resource
BasicUdiProductService basicUdiProductService;
//获取同步库UDI信息
@ -169,6 +171,53 @@ public class UdiSyncController {
}
}
//获取同步库UDI信息
@ApiIgnore
@AuthRuleAnnotation("获取同步库UDI关联信息")
@ApiOperation(value = "",response = ProductInfoEntity.class)
@GetMapping("udiwms/udiinfo/manu/filter")
public BaseResponse filterManu(FilterUdiRelRequest filterUdiRelRequest) {
String nameCode;
if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())) {
UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiRelRequest.getUdiCode());
if (udiEntity != null) {
nameCode = udiEntity.getUdi();
} else {
return ResultVOUtils.error(500, "无效UDI码");
}
} else
nameCode = filterUdiRelRequest.getNameCode();
ProductInfoFilterRequest productInfoFilterRequest = new ProductInfoFilterRequest();
BeanUtils.copyProperties(filterUdiRelRequest, productInfoFilterRequest);
if (StrUtil.isNotEmpty(nameCode)) {
productInfoFilterRequest.setNameCode(nameCode);
} else {
productInfoFilterRequest.setDiType("1");
}
try {
BaseResponse<PageSimpleResponse<ProductInfoEntity>> udiDlDeviceResponse = syncUdiService.filterUdi(productInfoFilterRequest);
if (udiDlDeviceResponse.getCode() == 20000) {
if (filterUdiRelRequest.getIsCheck() != null && filterUdiRelRequest.getIsCheck()) {
List<ProductInfoEntity> productInfoEntities = udiDlDeviceResponse.getData().getList();
if (productInfoEntities != null && productInfoEntities.size() > 0) {
for (ProductInfoEntity productInfoEntity : productInfoEntities) {
Boolean isExit = basicManuProductService.isExit(productInfoEntity.getUuid(), filterUdiRelRequest.getCompanyId());
if (isExit) {
productInfoEntity.setCheck(true);
} else
productInfoEntity.setCheck(false);
}
}
}
}
return udiDlDeviceResponse;
} catch (Exception e) {
log.error(e.getMessage(), e);
return ResultVOUtils.error(500, "连接UDI数据下载服务出错");
}
}
//获取同步库医疗器械注册人信息
@ApiIgnore

@ -4,6 +4,9 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.annotation.Log;
@ -13,8 +16,10 @@ import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.BusinessType;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.controller.BaseController;
import com.glxp.api.dto.DictDto;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.basic.BasicCorpEntity;
import com.glxp.api.entity.basic.BasicManuYlqxzczhEntity;
import com.glxp.api.entity.purchase.*;
import com.glxp.api.entity.sup.UserCertEntity;
import com.glxp.api.entity.sup.UserCertSetEntity;
@ -22,23 +27,24 @@ import com.glxp.api.entity.sup.UserCompanyEntity;
import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity;
import com.glxp.api.entity.system.SystemPDFTemplateEntity;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.basic.BasicManuYlqxzczhRequest;
import com.glxp.api.req.inout.InspectionPDFTemplateRequest;
import com.glxp.api.req.purchase.*;
import com.glxp.api.req.system.DeleteCompanyFileRequest;
import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.auth.registComPerResponse;
import com.glxp.api.res.purchase.SupProductResponse;
import com.glxp.api.service.auth.AuthAdminService;
import com.glxp.api.service.basic.BasicCorpService;
import com.glxp.api.service.purchase.SupCertService;
import com.glxp.api.service.purchase.SupCompanyService;
import com.glxp.api.service.purchase.SupManufacturerService;
import com.glxp.api.service.purchase.SupProductService;
import com.glxp.api.service.purchase.*;
import com.glxp.api.service.sup.UserCertService;
import com.glxp.api.service.sup.UserCertSetService;
import com.glxp.api.service.sup.UserCompanyService;
import com.glxp.api.service.system.SystemPDFModuleService;
import com.glxp.api.service.system.SystemPDFTemplateService;
import com.glxp.api.util.JasperUtils;
import com.glxp.api.util.StringUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
@ -73,6 +79,11 @@ public class SupCertController extends BaseController {
private AuthAdminService authAdminService;
@Resource
private SupCertService supCertService;
@Resource
private SupCertTypeService supCertTypeService;
@Resource
private SupProductAuthService supProductAuthService;
@Value("${file_path}")
private String filePath;
@ -82,6 +93,103 @@ public class SupCertController extends BaseController {
@Resource
private SystemPDFModuleService systemPDFModuleService;
@Resource
UserCompanyService userCompanyService;
@GetMapping("/directToCpt/sup/cert/list")
public BaseResponse list(SupCertEntityRequest request, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
int offset = (request.getPage() - 1) * request.getLimit();
Page<SupCertEntity> pages = PageHelper.offsetPage(offset, request.getLimit());
List<SupCertEntity> list = supCertService.filterList(getQueryWrapper(request));
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("enabled", 1);
List<SupCertTypeEntity> typeList = supCertTypeService.list(queryWrapper);
Map<String,SupCertTypeEntity> typeMap = typeList.stream().collect(Collectors.toMap(SupCertTypeEntity::getCode, s->s, (l, r) -> l));
for(SupCertEntity supCertEntity:list){
SupCertTypeEntity supCertTypeEntity = typeMap.get(supCertEntity.getType());
if(supCertTypeEntity != null){
supCertEntity.setTypeName(supCertTypeEntity.getName());
}
}
PageSimpleResponse<SupCertEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pages.getTotal());
pageSimpleResponse.setList(list);
return ResultVOUtils.success(pageSimpleResponse);
}
//医疗器械信息字典编辑保存
@AuthRuleAnnotation("")
@ApiOperation(value = "添加", response = BaseResponse.class)
@PostMapping("/directToCpt/sup/cert/save")
public BaseResponse save(@RequestBody SupCertEntity entityRequest) {
SupCertEntity supCertEntity = new SupCertEntity();
BeanUtils.copyProperties(entityRequest, supCertEntity);
supCertEntity.setCreateTime(new Date());
supCertEntity.setCreateUser( getCompanyId());
supCertEntity.setUpdateTime(new Date());
supCertEntity.setUpdateUser( getCompanyId());
supCertEntity.setCompanyIdFk(Long.parseLong(getCompanyId()));
supCertEntity.setId(IdUtil.getSnowflakeNextId());
supCertService.save(supCertEntity);
SupProductAuthEntity supProductAuth = new SupProductAuthEntity();
supProductAuth.setAuthCompanyId( getCompanyId());
supProductAuth.setProductId(supCertEntity.getProductIdFk());
supProductAuth.setCurCompanyId( getCompanyId());
supProductAuth.setCreateTime(new Date());
supProductAuth.setCreateUser( getCompanyId());
supProductAuth.setUpdateTime(new Date());
supProductAuth.setUpdateUser( getCompanyId());
supProductAuthService.save(supProductAuth);
return ResultVOUtils.success("添加成功!");
}
@AuthRuleAnnotation("")
@ApiOperation(value = "删除", response = BaseResponse.class)
@PostMapping("/directToCpt/sup/cert/delete")
public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) {
supCertService.removeById(deleteRequest.getId());
return ResultVOUtils.success("删除成功!");
}
//产品信息关联修改
@AuthRuleAnnotation("")
@ApiOperation(value = "更新", response = BaseResponse.class)
@PostMapping("/directToCpt/sup/cert/edit")
public BaseResponse update(@RequestBody SupCertEntity entityRequest) {
SupCertEntity supCertEntity = new SupCertEntity();
BeanUtils.copyProperties(entityRequest, supCertEntity);
supCertEntity.setUpdateTime(new Date());
supCertEntity.setUpdateUser( getCompanyId());
supCertService.updateById(supCertEntity);
return ResultVOUtils.success("添加成功!");
}
public QueryWrapper<SupCertEntity> getQueryWrapper(SupCertEntityRequest request) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq(StringUtils.isNotEmpty(request.getYlqxzcrbarywmc()),"ylqxzcrbarywmc",request.getYlqxzcrbarywmc());
queryWrapper.eq(StringUtils.isNotEmpty(request.getZczbhhzbapzbh()),"zczbhhzbapzbh",request.getZczbhhzbapzbh());
queryWrapper.eq(StringUtils.isNotEmpty(request.getProductName()),"productName",request.getProductName());
queryWrapper.eq(StringUtils.isNotEmpty(request.getStatus()),"status",request.getStatus());
queryWrapper.eq(StringUtils.isNotEmpty(request.getProductIdFk()),"productIdFk",request.getProductIdFk());
String companyId = getCompanyId();
queryWrapper.eq(StringUtils.isNotEmpty(companyId),"auth.curCompanyId",companyId);
return queryWrapper;
}
@GetMapping("/sup/company/cert/filterList")
public BaseResponse filterCompanyCert(certRequest certRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
@ -267,35 +375,35 @@ public class SupCertController extends BaseController {
return ResultVOUtils.success("成功");
}
@AuthRuleAnnotation("")
@PostMapping("/sale/sup/cert/revoke")
@Log(title = "资质证书", businessType = BusinessType.UPDATE)
public BaseResponse revokeSupCert(@RequestBody SupCertEntity supCertEntity) {
supCertEntity.setCreateTime(new Date());
supCertEntity.setUpdateTime(new Date());
boolean b = supCertService.updateCompanyCert(supCertEntity);
if (supCertEntity.getType() == ConstantStatus.CERT_COMPANY) {
SupCompanyEntity supCompanyEntity = supCompanyService.findCompany(supCertEntity.getCustomerId());
supCompanyEntity.setAuditStatus(ConstantStatus.AUDIT_UN);
supCompanyEntity.setUpdateTime(new Date());
supCompanyService.modifyCompany(supCompanyEntity);
} else if (supCertEntity.getType() == ConstantStatus.CERT_MANUFACTURER) {
SupManufacturerEntity supManufacturerEntity = supManufacturerService.findManufacturer(supCertEntity.getManufacturerIdFk());
supManufacturerEntity.setAuditStatus(ConstantStatus.AUDIT_UN);
supManufacturerEntity.setUpdateTime(new Date());
supManufacturerService.modifyCompany(supManufacturerEntity);
} else if (supCertEntity.getType() == ConstantStatus.CERT_PRODUCT) {
SupProductResponse supProductResponse = supProductService.findByProductId(supCertEntity.getProductIdFk());
SupProductEntity supProductEntity = new SupProductEntity();
supProductEntity.setId(supProductResponse.getId());
supProductEntity.setUpdateTime(new Date());
supProductEntity.setAuditStatus(ConstantStatus.AUDIT_UN);
supProductService.modifyRegistration(supProductEntity);
}
return ResultVOUtils.success("成功");
}
// @AuthRuleAnnotation("")
// @PostMapping("/sale/sup/cert/revoke")
// @Log(title = "资质证书", businessType = BusinessType.UPDATE)
// public BaseResponse revokeSupCert(@RequestBody SupCertEntity supCertEntity) {
// supCertEntity.setCreateTime(new Date());
// supCertEntity.setUpdateTime(new Date());
// boolean b = supCertService.updateCompanyCert(supCertEntity);
// if (supCertEntity.getType() == ConstantStatus.CERT_COMPANY) {
// SupCompanyEntity supCompanyEntity = supCompanyService.findCompany(supCertEntity.getCustomerId());
// supCompanyEntity.setAuditStatus(ConstantStatus.AUDIT_UN);
// supCompanyEntity.setUpdateTime(new Date());
// supCompanyService.modifyCompany(supCompanyEntity);
// } else if (supCertEntity.getType() == ConstantStatus.CERT_MANUFACTURER) {
// SupManufacturerEntity supManufacturerEntity = supManufacturerService.findManufacturer(supCertEntity.getManufacturerIdFk());
// supManufacturerEntity.setAuditStatus(ConstantStatus.AUDIT_UN);
// supManufacturerEntity.setUpdateTime(new Date());
// supManufacturerService.modifyCompany(supManufacturerEntity);
// } else if (supCertEntity.getType() == ConstantStatus.CERT_PRODUCT) {
// SupProductResponse supProductResponse = supProductService.findByProductId(supCertEntity.getProductIdFk());
// SupProductEntity supProductEntity = new SupProductEntity();
// supProductEntity.setId(supProductResponse.getId());
// supProductEntity.setUpdateTime(new Date());
// supProductEntity.setAuditStatus(ConstantStatus.AUDIT_UN);
// supProductService.modifyRegistration(supProductEntity);
// }
//
//
// return ResultVOUtils.success("成功");
// }
@Resource
@ -305,47 +413,47 @@ public class SupCertController extends BaseController {
@Resource
SupProductService supProductService;
@AuthRuleAnnotation("")
@PostMapping("/sup/info/updateCompanyCert")
@Log(title = "资质证书", businessType = BusinessType.UPDATE)
public BaseResponse updateCompanyCert(@RequestBody PostSupCertRequest postSupCertRequest) {
SupCertEntity supCertEntity = new SupCertEntity();
BeanUtils.copyProperties(postSupCertRequest, supCertEntity);
if (postSupCertRequest.getVailDate() != null && postSupCertRequest.getExpireDate() != null) {
if (postSupCertRequest.getVailDate().getTime() > postSupCertRequest.getExpireDate().getTime()) {
return ResultVOUtils.error(999, "失效期不能小于生效期!");
}
}
if (postSupCertRequest.getRepeatUpload() == 1) {
//已审核的重新提交
//1.修改对应的资质信息进入变更审核状态,
if (postSupCertRequest.getType() == ConstantStatus.CERT_COMPANY) {
SupCompanyEntity supCompanyEntity = supCompanyService.findCompany(supCertEntity.getCustomerId());
supCompanyEntity.setAuditStatus(ConstantStatus.AUDIT_CHANGE);
supCompanyEntity.setUpdateTime(new Date());
supCompanyService.modifyCompany(supCompanyEntity);
} else if (postSupCertRequest.getType() == ConstantStatus.CERT_MANUFACTURER) {
SupManufacturerEntity supManufacturerEntity = supManufacturerService.findManufacturer(supCertEntity.getManufacturerIdFk());
supManufacturerEntity.setAuditStatus(ConstantStatus.AUDIT_CHANGE);
supManufacturerEntity.setUpdateTime(new Date());
supManufacturerService.modifyCompany(supManufacturerEntity);
} else if (postSupCertRequest.getType() == ConstantStatus.CERT_PRODUCT) {
SupProductResponse supProductResponse = supProductService.findByProductId(supCertEntity.getProductIdFk());
SupProductEntity supProductEntity = new SupProductEntity();
supProductEntity.setId(supProductResponse.getId());
supProductEntity.setUpdateTime(new Date());
supProductEntity.setAuditStatus(ConstantStatus.AUDIT_CHANGE);
supProductService.modifyRegistration(supProductEntity);
}
}
boolean b = supCertService.updateCompanyCert(supCertEntity);
return ResultVOUtils.success("修改成功");
}
// @AuthRuleAnnotation("")
// @PostMapping("/sup/info/updateCompanyCert")
// @Log(title = "资质证书", businessType = BusinessType.UPDATE)
// public BaseResponse updateCompanyCert(@RequestBody PostSupCertRequest postSupCertRequest) {
// SupCertEntity supCertEntity = new SupCertEntity();
// BeanUtils.copyProperties(postSupCertRequest, supCertEntity);
//
//
// if (postSupCertRequest.getVailDate() != null && postSupCertRequest.getExpireDate() != null) {
// if (postSupCertRequest.getVailDate().getTime() > postSupCertRequest.getExpireDate().getTime()) {
// return ResultVOUtils.error(999, "失效期不能小于生效期!");
// }
// }
//
//
// if (postSupCertRequest.getRepeatUpload() == 1) {
// //已审核的重新提交
// //1.修改对应的资质信息进入变更审核状态,
// if (postSupCertRequest.getType() == ConstantStatus.CERT_COMPANY) {
// SupCompanyEntity supCompanyEntity = supCompanyService.findCompany(supCertEntity.getCustomerId());
// supCompanyEntity.setAuditStatus(ConstantStatus.AUDIT_CHANGE);
// supCompanyEntity.setUpdateTime(new Date());
// supCompanyService.modifyCompany(supCompanyEntity);
// } else if (postSupCertRequest.getType() == ConstantStatus.CERT_MANUFACTURER) {
// SupManufacturerEntity supManufacturerEntity = supManufacturerService.findManufacturer(supCertEntity.getManufacturerIdFk());
// supManufacturerEntity.setAuditStatus(ConstantStatus.AUDIT_CHANGE);
// supManufacturerEntity.setUpdateTime(new Date());
// supManufacturerService.modifyCompany(supManufacturerEntity);
// } else if (postSupCertRequest.getType() == ConstantStatus.CERT_PRODUCT) {
// SupProductResponse supProductResponse = supProductService.findByProductId(supCertEntity.getProductIdFk());
// SupProductEntity supProductEntity = new SupProductEntity();
// supProductEntity.setId(supProductResponse.getId());
// supProductEntity.setUpdateTime(new Date());
// supProductEntity.setAuditStatus(ConstantStatus.AUDIT_CHANGE);
// supProductService.modifyRegistration(supProductEntity);
// }
//
// }
// boolean b = supCertService.updateCompanyCert(supCertEntity);
// return ResultVOUtils.success("修改成功");
// }
@AuthRuleAnnotation("")
@PostMapping("/sup/info/deleteCompanyCert")

@ -0,0 +1,129 @@
package com.glxp.api.controller.purchase;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.dto.DictDto;
import com.glxp.api.entity.basic.BasicManuProductEntity;
import com.glxp.api.entity.basic.BasicManuYlqxzczhEntity;
import com.glxp.api.entity.basic.ProductInfoEntity;
import com.glxp.api.entity.purchase.SupCertTypeEntity;
import com.glxp.api.entity.stat.StatCorpOfflineEntity;
import com.glxp.api.entity.sup.UserCompanyEntity;
import com.glxp.api.req.auth.FilterUserComapanyRequest;
import com.glxp.api.req.basic.BasicDictSelectRequest;
import com.glxp.api.req.basic.BasicManuProductRequest;
import com.glxp.api.req.basic.BasicManuYlqxzczhRequest;
import com.glxp.api.req.basic.BasicUdiRelRequest;
import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.service.basic.BasicManuProductService;
import com.glxp.api.service.basic.ProductInfoService;
import com.glxp.api.service.purchase.SupCertTypeService;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
*
*
*/
@ApiIgnore
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/sup/cert/type")
public class SupCertTypeController extends BaseController {
private final SupCertTypeService supCertTypeService;
@GetMapping("/list")
public BaseResponse list(BasicManuYlqxzczhRequest request, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
int offset = (request.getPage() - 1) * request.getLimit();
Page<SupCertTypeEntity> pages = PageHelper.offsetPage(offset, request.getLimit());
List<SupCertTypeEntity> list = supCertTypeService.list(getQueryWrapper(request));
PageSimpleResponse<SupCertTypeEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pages.getTotal());
pageSimpleResponse.setList(list);
return ResultVOUtils.success(pageSimpleResponse);
}
//医疗器械信息字典编辑保存
@AuthRuleAnnotation("")
@ApiOperation(value = "添加", response = BaseResponse.class)
@PostMapping("/save")
public BaseResponse save(@RequestBody SupCertTypeEntity entityRequest) {
SupCertTypeEntity supCertTypeEntity = new SupCertTypeEntity();
BeanUtils.copyProperties(entityRequest, supCertTypeEntity);
supCertTypeService.save(supCertTypeEntity);
return ResultVOUtils.success("添加成功!");
}
@AuthRuleAnnotation("")
@ApiOperation(value = "删除", response = BaseResponse.class)
@PostMapping("/delete")
public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) {
supCertTypeService.removeById(deleteRequest.getId());
return ResultVOUtils.success("删除成功!");
}
//产品信息关联修改
@AuthRuleAnnotation("")
@ApiOperation(value = "更新", response = BaseResponse.class)
@PostMapping("/edit")
public BaseResponse update(@RequestBody SupCertTypeEntity entityRequest) {
SupCertTypeEntity supCertTypeEntity = new SupCertTypeEntity();
BeanUtils.copyProperties(entityRequest, supCertTypeEntity);
supCertTypeService.updateById(supCertTypeEntity);
return ResultVOUtils.success("添加成功!");
}
public QueryWrapper<SupCertTypeEntity> getQueryWrapper(BasicManuYlqxzczhRequest request) {
QueryWrapper queryWrapper = new QueryWrapper();
return queryWrapper;
}
@ApiOperation(value = "获取证书类型")
@GetMapping("getCertType")
public BaseResponse getCertType() {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("enabled", 1);
List<SupCertTypeEntity> list = supCertTypeService.list(queryWrapper);
List<DictDto> reList = list.stream().map(s-> {
DictDto dictDto = new DictDto(s.getCode().toString(),s.getName());
return dictDto;
}).collect(Collectors.toList());
return ResultVOUtils.success(reList);
}
}

@ -3,6 +3,9 @@ package com.glxp.api.controller.purchase;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.annotation.Log;
@ -11,36 +14,42 @@ import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.BusinessType;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.basic.BasicUdiProductEntity;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.entity.basic.*;
import com.glxp.api.entity.purchase.SupCertEntity;
import com.glxp.api.entity.purchase.SupCertSetEntity;
import com.glxp.api.entity.purchase.SupManufacturerEntity;
import com.glxp.api.entity.purchase.SupProductEntity;
import com.glxp.api.entity.stat.StatCorpOfflineEntity;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.purchase.FilterCertSetsRequest;
import com.glxp.api.req.purchase.FilterPoductRequest;
import com.glxp.api.req.purchase.FilterSupCertRequest;
import com.glxp.api.req.purchase.SelectProductBindRequest;
import com.glxp.api.req.basic.*;
import com.glxp.api.req.purchase.*;
import com.glxp.api.req.system.DeleteCompanyFileRequest;
import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.UdiProductGroupResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.purchase.SupProductResponse;
import com.glxp.api.service.auth.AuthAdminService;
import com.glxp.api.service.basic.BasicUdiProductService;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.basic.*;
import com.glxp.api.service.purchase.SupCertService;
import com.glxp.api.service.purchase.SupCertSetService;
import com.glxp.api.service.purchase.SupManufacturerService;
import com.glxp.api.service.purchase.SupProductService;
import com.glxp.api.util.StringUtils;
import com.glxp.api.util.udi.FilterUdiUtils;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@ -49,7 +58,8 @@ import java.util.List;
import java.util.ListIterator;
@RestController
public class SupProductController {
@Slf4j
public class SupProductController extends BaseController {
@Resource
private AuthAdminService authAdminService;
@Resource
@ -63,6 +73,141 @@ public class SupProductController {
@Resource
SupCertSetService supCertSetService;
@Resource
ProductInfoService productInfoService;
@Resource
SyncUdiService syncUdiService;
@GetMapping("/directToCpt/sup/product/list")
public BaseResponse list(SupProductEntityRequest request, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
int offset = (request.getPage() - 1) * request.getLimit();
Page<SupProductEntity> pages = PageHelper.offsetPage(offset, request.getLimit());
List<SupProductEntity> list = supProductService.filterList(getQueryWrapper(request));
PageSimpleResponse<SupProductEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pages.getTotal());
pageSimpleResponse.setList(list);
return ResultVOUtils.success(pageSimpleResponse);
}
//医疗器械信息字典编辑保存
@AuthRuleAnnotation("")
@ApiOperation(value = "添加", response = BaseResponse.class)
@PostMapping("/directToCpt/sup/product/add")
public BaseResponse batchAdd(@RequestBody List<SupProductSelectRequest> requests) {
String userId = getCompanyId();
if (CollUtil.isNotEmpty(requests)) {
for (SupProductSelectRequest request : requests) {
if (!supProductService.isExit(request)) {
SupProductEntity supProductEntity = new SupProductEntity();
supProductEntity.setRecordProductName(request.getCpmctymc());
supProductEntity.setRecordCode(request.getZczbhhzbapzbh());
supProductEntity.setRecordPeopleName(request.getYlqxzcrbarmc());
supProductEntity.setManufactory(request.getManufactory());
supProductEntity.setUpdateTime(new Date());
supProductEntity.setUpdateUser(userId);
supProductEntity.setCustomerId(userId);
supProductEntity.setId(IdUtil.getSnowflakeNextId());
supProductService.save(supProductEntity);
}
}
}
return ResultVOUtils.success("添加成功!");
}
@AuthRuleAnnotation("")
@ApiOperation(value = "删除", response = BaseResponse.class)
@PostMapping("/directToCpt/sup/product/delete")
public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) {
supProductService.removeById(deleteRequest.getId());
return ResultVOUtils.success("删除成功!");
}
//产品信息关联修改
@AuthRuleAnnotation("")
@ApiOperation(value = "更新", response = BaseResponse.class)
@PostMapping("/directToCpt/sup/product/update")
public BaseResponse update(@RequestBody BasicUdiRelRequest basicUdiRelRequest) {
if (basicUdiRelRequest.getAgengtStartDate() != null && basicUdiRelRequest.getAgengtEndDate() != null) {
if (basicUdiRelRequest.getAgengtStartDate().getTime() > basicUdiRelRequest.getAgengtEndDate().getTime()) {
return ResultVOUtils.error(999, "代理起始时间不能小于代理截止时间!");
}
}
SupProductEntity supProductEntity = new SupProductEntity();
BeanUtils.copyProperties(basicUdiRelRequest, supProductEntity);
supProductEntity.setUpdateTime(new Date());
supProductEntity.setUpdateUser( getCompanyId());
supProductService.updateById(supProductEntity);
return ResultVOUtils.success("添加成功!");
}
public QueryWrapper<StatCorpOfflineEntity> getQueryWrapper(SupProductEntityRequest request) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq(StringUtils.isNotEmpty(request.getCompanyName()),"uc.companyName",request.getCompanyName());
queryWrapper.eq(StringUtils.isNotEmpty(request.getBussinessStatus()),"uc.bussinessStatus",request.getBussinessStatus());
queryWrapper.eq(StringUtils.isNotEmpty(request.getCreditNum()),"uc.creditNum",request.getCreditNum());
String companyId = getCompanyId();
queryWrapper.eq(StringUtils.isNotEmpty(companyId),"o.customerId",companyId);
return queryWrapper;
}
//获取同步库UDI信息
@ApiIgnore
@AuthRuleAnnotation("获取同步库UDI关联信息")
@ApiOperation(value = "",response = ProductInfoEntity.class)
@GetMapping("/directToCpt/sup/product/filterGroupRel")
public BaseResponse filterGroupRel(FilterUdiRelRequest filterUdiRelRequest) {
String nameCode;
if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())) {
UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiRelRequest.getUdiCode());
if (udiEntity != null) {
nameCode = udiEntity.getUdi();
} else {
return ResultVOUtils.error(500, "无效UDI码");
}
} else
nameCode = filterUdiRelRequest.getNameCode();
ProductInfoFilterRequest productInfoFilterRequest = new ProductInfoFilterRequest();
BeanUtils.copyProperties(filterUdiRelRequest, productInfoFilterRequest);
if (StrUtil.isNotEmpty(nameCode)) {
productInfoFilterRequest.setNameCode(nameCode);
} else {
productInfoFilterRequest.setDiType("1");
}
try {
BaseResponse<PageSimpleResponse<UdiProductGroupResponse>> udiDlDeviceResponse = syncUdiService.filterUdiGroup(productInfoFilterRequest);
if (udiDlDeviceResponse.getCode() == 20000) {
if (filterUdiRelRequest.getIsCheck() != null && filterUdiRelRequest.getIsCheck()) {
List<UdiProductGroupResponse> productInfoEntities = udiDlDeviceResponse.getData().getList();
if (productInfoEntities != null && productInfoEntities.size() > 0) {
for (UdiProductGroupResponse productInfoEntity : productInfoEntities) {
Boolean isExit = supProductService.isExit(productInfoEntity);
if (isExit) {
productInfoEntity.setCheck(true);
} else
productInfoEntity.setCheck(false);
}
}
}
}
return udiDlDeviceResponse;
} catch (Exception e) {
log.error(e.getMessage(), e);
return ResultVOUtils.error(500, "连接UDI数据下载服务出错");
}
}
@AuthRuleAnnotation("")
@GetMapping("/sup/product/getRegistrationInfo")
public BaseResponse getRegistrationInfo(FilterPoductRequest filterPoductRequest) {

@ -0,0 +1,84 @@
package com.glxp.api.controller.stat;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.annotation.Log;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.BusinessType;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.stat.StatCorpOfflineEntity;
import com.glxp.api.entity.sup.UserCompanyEntity;
import com.glxp.api.entity.sup.UserCompanyPilotEntity;
import com.glxp.api.req.stat.StatCorpOfflineEntityRequest;
import com.glxp.api.req.sup.UserCompanyPilotEntityRequest;
import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.stat.StatCorpOfflineResponse;
import com.glxp.api.service.stat.StatCorpOfflineService;
import com.glxp.api.service.sup.UserCompanyPilotService;
import com.glxp.api.service.sup.UserCompanyService;
import com.glxp.api.util.BeanCopyUtils;
import com.glxp.api.util.StringUtils;
import com.google.common.collect.Lists;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
*
*
*/
@ApiIgnore
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/stat/offline")
public class StatCorpOfflineController extends BaseController {
private final StatCorpOfflineService statCorpOfflineService;
@Resource
UserCompanyService userCompanyService;
@GetMapping("/list")
public BaseResponse list(StatCorpOfflineEntityRequest request, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
int offset = (request.getPage() - 1) * request.getLimit();
Page<StatCorpOfflineEntity> pages = PageHelper.offsetPage(offset, request.getLimit());
List<StatCorpOfflineResponse> list = statCorpOfflineService.filterList(getQueryWrapper(request));
PageSimpleResponse<StatCorpOfflineResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pages.getTotal());
pageSimpleResponse.setList(list);
return ResultVOUtils.success(pageSimpleResponse);
}
public static QueryWrapper<StatCorpOfflineEntity> getQueryWrapper(StatCorpOfflineEntityRequest request) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq(StringUtils.isNotEmpty(request.getCompanyName()),"uc.companyName",request.getCompanyName());
queryWrapper.eq(StringUtils.isNotEmpty(request.getBussinessStatus()),"uc.bussinessStatus",request.getBussinessStatus());
queryWrapper.eq(StringUtils.isNotEmpty(request.getCreditNum()),"uc.creditNum",request.getCreditNum());
queryWrapper.like(StringUtils.isNotEmpty(request.getStatDate()),"statDate",request.getStatDate());
return queryWrapper;
}
}

@ -243,6 +243,7 @@ public class UserComanyController extends BaseController {
userCompanyResponse.setLastIp(userCompanyOnlineResponse.getLastIp());
userCompanyResponse.setRemark(userCompanyOnlineResponse.getRemark());
userCompanyResponse.setUserId(userCompanyOnlineResponse.getUserId());
userCompanyResponse.setOfflineStat(userCompanyOnlineResponse.getOfflineStat());
}
userCompanyResponses.add(userCompanyResponse);
}

@ -0,0 +1,131 @@
package com.glxp.api.controller.sup;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.annotation.Log;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.BusinessType;
import com.glxp.api.controller.BaseController;
import com.glxp.api.dto.DictDto;
import com.glxp.api.entity.stat.AnncmntYlqxzcrEntity;
import com.glxp.api.entity.sup.UserCompanyPilotEntity;
import com.glxp.api.req.anno.AnncmntYlqxzcrEntityRequest;
import com.glxp.api.req.sup.UserCompanyPilotEntityRequest;
import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.service.stat.AnncmntYlqxzcrService;
import com.glxp.api.service.sup.UserCompanyPilotService;
import com.glxp.api.util.BeanCopyUtils;
import com.glxp.api.util.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.validation.Valid;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
*
*
*/
@ApiIgnore
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/admin/company/pilot")
public class UserCompanyPilotController extends BaseController {
private final UserCompanyPilotService userCompanyPilotService;
@GetMapping("/list")
public BaseResponse list(UserCompanyPilotEntityRequest request, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
int offset = (request.getPage() - 1) * request.getLimit();
Page<UserCompanyPilotEntity> pages = PageHelper.offsetPage(offset, request.getLimit());
List<UserCompanyPilotEntity> list = userCompanyPilotService.list(getQueryWrapper(request));
PageSimpleResponse<UserCompanyPilotEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pages.getTotal());
pageSimpleResponse.setList(list);
return ResultVOUtils.success(pageSimpleResponse);
}
@AuthRuleAnnotation("")
@PostMapping("/save")
@Log(title = "试点单位管理", businessType = BusinessType.INSERT)
public BaseResponse save(@RequestBody UserCompanyPilotEntity entity,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
entity.setCreateTime(new Date());
boolean b = userCompanyPilotService.save(entity);
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
return ResultVOUtils.success("添加成功!");
}
@AuthRuleAnnotation("")
@PostMapping("/edit")
@Log(title = "试点单位管理", businessType = BusinessType.UPDATE)
public BaseResponse edit(@RequestBody @Valid UserCompanyPilotEntity entity,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (entity.getId() == null) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
UserCompanyPilotEntity originEntity = userCompanyPilotService.getById(entity.getId());
if (originEntity == null) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
boolean b = userCompanyPilotService.updateById(entity);
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
return ResultVOUtils.success("修改成功!");
}
@AuthRuleAnnotation("")
@PostMapping("/delete")
@Log(title = "试点单位管理", businessType = BusinessType.DELETE)
public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) {
if (StringUtils.isEmpty(deleteRequest.getId())) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
boolean b = userCompanyPilotService.removeById(deleteRequest.getId());
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
return ResultVOUtils.success();
}
public static QueryWrapper<UserCompanyPilotEntity> getQueryWrapper(UserCompanyPilotEntityRequest request) {
UserCompanyPilotEntity entity = new UserCompanyPilotEntity();
BeanCopyUtils.copy(request, entity);
QueryWrapper queryWrapper = new QueryWrapper(entity);
return queryWrapper;
}
}

@ -66,6 +66,8 @@ public class UserRegisterController extends BaseController {
private UserRegisterService userRegisterService;
@Resource
private UserPersonService userPersonService;
@Resource
private UserCompanyPilotService userCompanyPilotService;
@Resource
private UserCompanyService userCompanyService;
@ -228,6 +230,9 @@ public class UserRegisterController extends BaseController {
for (UserCertEntity userCertEntity : registComPerResponse.getList()) {
userCertService.saveOrUpdate(userCertEntity);
}
userCompanyPilotService.setCompanyId(userCompanyEntity.getId(),userCompanyEntity.getCreditNum());
userRegisterService.update(userRegisterEntity);
userCompanyService.update(userCompanyEntity);
// userPersonService.update(userPersonEntity);

@ -0,0 +1,25 @@
package com.glxp.api.dao.basic;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.glxp.api.entity.basic.BasicManuProductEntity;
import com.glxp.api.entity.basic.BasicManuYlqxzczhEntity;
import com.glxp.api.entity.stat.StatCorpOfflineEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface BasicManuProductMapper extends BaseMapper<BasicManuProductEntity> {
/**
*
* @param queryWrapper
* @return
*/
List<BasicManuProductEntity> filterList(@Param(Constants.WRAPPER) QueryWrapper queryWrapper);
}

@ -0,0 +1,24 @@
package com.glxp.api.dao.basic;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.glxp.api.entity.basic.BasicManuYlqxzczhEntity;
import com.glxp.api.entity.stat.StatCorpOfflineEntity;
import com.glxp.api.res.stat.StatCorpOfflineResponse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface BasicManuYlqxzczhMapper extends BaseMapper<BasicManuYlqxzczhEntity> {
/**
*
* @param queryWrapper
* @return
*/
List<BasicManuYlqxzczhEntity> filterList(@Param(Constants.WRAPPER) QueryWrapper queryWrapper);
}

@ -5,7 +5,9 @@ import com.glxp.api.entity.basic.BasicUdiRelEntity;
import com.glxp.api.entity.sup.UserCompanyEntity;
import com.glxp.api.req.basic.BasicUdiRelRequest;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.basic.ProductInfoFilterRequest;
import com.glxp.api.res.basic.BasicUdiRelResponse;
import com.glxp.api.res.basic.UdiProductGroupResponse;
import com.glxp.api.res.sup.UserCompanyResponse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -37,5 +39,8 @@ public interface BasicUdiRelMapper extends BaseMapper<BasicUdiRelEntity> {
List<BasicUdiRelResponse> statBusTypeCount(Integer bussinessStatus);
BasicUdiRelRequest filterProductInfoDetailByUuid(@Param("uuid") String uuid,@Param("companyId") String companyId);
List<UdiProductGroupResponse> filterUdiGroup(ProductInfoFilterRequest request);
}

@ -1,9 +1,12 @@
package com.glxp.api.dao.purchase;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.purchase.SupCertEntity;
import com.glxp.api.entity.purchase.SupProductEntity;
import com.glxp.api.entity.sup.UserCertEntity;
import com.glxp.api.req.purchase.FilterSupCertRequest;
import com.glxp.api.req.purchase.certRequest;
@ -45,4 +48,11 @@ public interface SupCertDao extends BaseMapperPlus<SupCertDao, SupCertEntity, Su
List<SupCertEntity> selectSupCertList(purPlanPrintRequest purPlanPrintRequest);
/**
*
* @param queryWrapper
* @return
*/
List<SupCertEntity> filterList(@Param(Constants.WRAPPER) QueryWrapper queryWrapper);
}

@ -0,0 +1,22 @@
package com.glxp.api.dao.purchase;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.basic.BasicManuYlqxzczhEntity;
import com.glxp.api.entity.purchase.SupProductAuthEntity;
import com.glxp.api.entity.purchase.SupProductEntity;
import com.glxp.api.req.purchase.FilterPoductRequest;
import com.glxp.api.res.purchase.SupProductResponse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface SupProductAuthMapper extends BaseMapper<SupProductAuthEntity> {
}

@ -1,7 +1,10 @@
package com.glxp.api.dao.purchase;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.basic.BasicManuProductEntity;
import com.glxp.api.entity.purchase.SupProductEntity;
import com.glxp.api.req.purchase.FilterPoductRequest;
import com.glxp.api.res.purchase.SupProductResponse;
@ -29,4 +32,12 @@ public interface SupProductDao extends BaseMapperPlus<SupProductDao,SupProductEn
boolean deleteByEnterpriseId(@Param("enterpriseId") String enterpriseId);
/**
*
* @param queryWrapper
* @return
*/
List<SupProductEntity> filterList(@Param(Constants.WRAPPER) QueryWrapper queryWrapper);
}

@ -0,0 +1,26 @@
package com.glxp.api.dao.stat;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.glxp.api.entity.stat.IoStatOrderEntity;
import com.glxp.api.entity.stat.StatCorpCountEntity;
import com.glxp.api.entity.stat.StatCorpOfflineEntity;
import com.glxp.api.res.stat.StatCorpOfflineResponse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface StatCorpOfflineMapper extends BaseMapper<StatCorpOfflineEntity> {
/**
*
* @param queryWrapper
* @return
*/
List<StatCorpOfflineResponse> filterList(@Param(Constants.WRAPPER) QueryWrapper queryWrapper);
}

@ -0,0 +1,13 @@
package com.glxp.api.dao.sup;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.purchase.SupProductAuthEntity;
import com.glxp.api.entity.sup.UserCertAuthEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserCertAuthMapper extends BaseMapper<UserCertAuthEntity> {
}

@ -0,0 +1,439 @@
package com.glxp.api.entity.basic;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@TableName(value = "basic_manu_product")
public class BasicManuProductEntity {
@ApiModelProperty(value = "主键")
@TableId(value = "id", type = IdType.INPUT)
private Long id;
@ApiModelProperty(value = "企业id")
@TableField(value = "companyIdFk")
private Long companyIdFk;
/**
*
*/
@ApiModelProperty(value = "标识")
@TableField(value = "nameCode")
private String nameCode;
/**
*
*/
@ApiModelProperty(value = "包装比例")
@TableField(value = "packRatio")
private String packRatio;
/**
*
*/
@ApiModelProperty(value = "包装级别")
@TableField(value = "packLevel")
private String packLevel;
/**
*
*/
@ApiModelProperty(value = "包含下级数量")
@TableField(value = "bhxjsl")
private Integer bhxjsl;
/**
*
*/
@ApiModelProperty(value = "包含最小销售包装数量")
@TableField(value = "bhzxxsbzsl")
private Integer bhzxxsbzsl;
/**
* 使:
* 使
*/
@ApiModelProperty(value = " * 最小包装单元内包含使用单元数量:\n" +
" * 最小销售标识包含使用单元数量")
@TableField(value = "zxxsbzbhsydysl")
private Integer zxxsbzbhsydysl;
/**
*
*/
@ApiModelProperty(value = "包含下级产品编码")
@TableField(value = "bhxjcpbm")
private String bhxjcpbm;
/**
*
*/
@ApiModelProperty(value = "包装层级")
@TableField(value = "bzcj")
private String bzcj;
/**
* ERPID
*/
@ApiModelProperty(value = "ERPID")
@TableField(value = "thirdProductNo")
private String thirdProductNo;
/**
* 1.2
*/
@ApiModelProperty(value = " 1.器械2药品")
@TableField(value = "addType")
private Integer addType;
/**
* key
*/
@ApiModelProperty(value = "国家库key")
@TableField(value = "deviceRecordKey")
private String deviceRecordKey;
/**
* 使
*/
@ApiModelProperty(value = "以使用单元数量入库")
@TableField(value = "isUseDy")
private Integer isUseDy;
/**
* ERP
*/
@ApiModelProperty(value = " ERP产品名")
@TableField(value = "thirdProductName")
private String thirdProductName;
/**
*
*/
@ApiModelProperty(value = "产品名称,通用名称")
@TableField(value = "cpmctymc")
private String cpmctymc;
/**
*
*/
@ApiModelProperty(value = "产品类别")
@TableField(value = "cplb")
private String cplb;
/**
*
*/
@ApiModelProperty(value = "分类编码")
@TableField(value = "flbm")
private String flbm;
/**
*
*/
@ApiModelProperty(value = "规格型号")
@TableField(value = "ggxh")
private String ggxh;
/**
*
*/
@ApiModelProperty(value = "器械类别")
@TableField(value = "qxlb")
private String qxlb;
/**
*
*/
@ApiModelProperty(value = "统一社会信用代码证号")
@TableField(value = "tyshxydm")
private String tyshxydm;
/**
* /
*/
@ApiModelProperty(value = "注册/备案人名称")
@TableField(value = "ylqxzcrbarmc")
private String ylqxzcrbarmc;
/**
* "/
*/
@ApiModelProperty(value = "注册/备案证号,")
@TableField(value = "zczbhhzbapzbh")
private String zczbhhzbapzbh;
/**
* /
*/
@ApiModelProperty(value = "注册/备案人名称英文名称")
@TableField(value = "ylqxzcrbarywmc")
private String ylqxzcrbarywmc;
/**
* 使
*/
@ApiModelProperty(value = "使用单元产品标识")
@TableField(value = "sydycpbs")
private String sydycpbs;
/**
* UUID
*/
@ApiModelProperty(value = "UUID主键")
@TableField(value = "uuid")
private String uuid;
/**
*
*/
@ApiModelProperty(value = "上级产品标识")
@TableField(value = "sjcpbm")
private String sjcpbm;
/**
*
*/
@ApiModelProperty(value = "历史版本号,最高为最新")
@TableField(value = "versionNumber")
private Integer versionNumber;
/**
* 1.2使3.4
*/
@ApiModelProperty(value = "表示类型1.主标识2使用单元标识3.本体标识4包装标识")
@TableField(value = "diType")
private Integer diType;
/**
*
*/
@ApiModelProperty(value = "生产标识是否包含批号")
@TableField(value = "scbssfbhph")
private String scbssfbhph;
/**
*
*/
@ApiModelProperty(value = "生产标识是否包含序列号")
@TableField(value = "scbssfbhxlh")
private String scbssfbhxlh;
/**
*
*/
@ApiModelProperty(value = "生产标识是否包含生产日期")
@TableField(value = "scbssfbhscrq")
private String scbssfbhscrq;
/**
*
*/
@ApiModelProperty(value = "生产标识是否包含失效日期")
@TableField(value = "scbssfbhsxrq")
private String scbssfbhsxrq;
/**
*
*/
@ApiModelProperty(value = "医保编码")
@TableField(value = "ybbm")
private String ybbm;
/**
*
*/
@ApiModelProperty(value = "商品名称")
@TableField(value = "spmc")
private String spmc;
@ApiModelProperty(value = "产品合格证编号")
@TableField(value = "cphhhbh")
private String cphhhbh;
@ApiModelProperty(value = "产品描述")
@TableField(value = "cpms")
private String cpms;
@ApiModelProperty(value = "产品标识别码条形码名称")
@TableField(value = "cpbsbmtxmc")
private String cpbsbmtxmc;
/**
*
*/
@ApiModelProperty(value = "是否是最新记录")
@TableField(value = "isNewest")
private Boolean isNewest;
/**
*
*/
@ApiModelProperty(value = "更新时间")
@TableField(value = "updateTime")
private Date updateTime;
/**
*
*/
@ApiModelProperty(value = "器械类别")
@TableField(value = "cplx")
private String cplx;
/**
*
*/
@ApiModelProperty(value = "耗材或者设备")
@TableField(value = "hchzsb")
private String hchzsb;
/**
* / 1 0
*/
@ApiModelProperty(value = "是否为包类产品/组套类产品; 1 是 0 否")
@TableField(value = "sfwblztlcp")
private String sfwblztlcp;
/**
* MR 0 1 28
* 3 MR
*/
@ApiModelProperty(value = " 共振MR 安全相关信息; 0 安全 1 条件安全, 28\n" +
" * 不安全 3 说明书或标签上面不包括 MR 安全信息")
@TableField(value = "cgzmraqxgxx")
private String cgzmraqxgxx;
/**
* 使:0 1
*/
@ApiModelProperty(value = "标记为一次性使用:0 否, 1 是")
@TableField(value = "sfbjwycxsy")
private String sfbjwycxsy;
/**
* 使
*/
@ApiModelProperty(value = "最大重复使用次数")
@TableField(value = "zdcfsycs")
private String zdcfsycs;
/**
* :1 0
*/
@ApiModelProperty(value = "是否为已灭菌产品:1 是 0 否")
@TableField(value = "sfwwjbz")
private String sfwwjbz;
/**
* 使:1 0
*/
@ApiModelProperty(value = "使用前是否需要进行灭菌:1 是 0 否")
@TableField(value = "syqsfxyjxmj")
private String syqsfxyjxmj;
/**
*
*/
@ApiModelProperty(value = "灭菌方式")
@TableField(value = "mjfs")
private String mjfs;
/**
*
*/
@ApiModelProperty(value = "其他信息的网址链接")
@TableField(value = "qtxxdwzlj")
private String qtxxdwzlj;
/**
*
*/
@ApiModelProperty(value = "分类编码对应分类名称")
@TableField(value = "categoryName")
private String categoryName;
@ApiModelProperty(value = "生产企业")
@TableField(value = "manufactory")
private String manufactory;
@ApiModelProperty(value = "生产企业统一社会信用代码")
@TableField(value = "manuCerditCode")
private String manuCerditCode;
@ApiModelProperty(value = "计量单位名称")
@TableField(value = "measname")
private String measname;
@ApiModelProperty(value = "备注")
@TableField(value = "remark")
private String remark;
@ApiModelProperty(value = "更新时间")
@TableField(value = "updateUser")
private Long updateUser;
/**
* 1./2./3.
*/
@ApiModelProperty(value = "生产数据对接方1.生产企业/2.代理商/3.购买方)")
@TableField(exist = false)
private Integer companyType;
/**
*
*/
@TableField(value = "categoryLevel")
private String categoryLevel;
/**
* 1:2
*/
@TableField(value = "groupBuy")
private Integer groupBuy;
/**
* 1:2
*/
@TableField(value = "chsType")
private Integer chsType;
/**
* 1:2
*/
@TableField(value = "importType")
private Integer importType;
/**
* 123
*/
@TableField(value = "purchaseType")
private Integer purchaseType;
//自定义字典
@TableField(exist = false)
private boolean check;
private static final long serialVersionUID = 1L;
/**
*
*/
@ApiModelProperty(value = "企业名称")
@TableField(exist = false)
private String companyName;
/**
*
*/
@ApiModelProperty(value = "统一社会信用号")
@TableField(exist = false)
private String creditNum;
/**
* 1,2,3,.4.
*/
@ApiModelProperty(value = "企业类型 1生产企业,2流通企业,3,医疗机构.4.监管机构")
@TableField(exist = false)
private String bussinessStatus;
}

@ -0,0 +1,201 @@
package com.glxp.api.entity.basic;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@TableName(value = "basic_manu_ylqxzczh")
public class BasicManuYlqxzczhEntity {
@TableId(value = "id", type = IdType.INPUT)
private Long id;
@ApiModelProperty(value = "企业id")
@TableField(value = "companyIdFk")
private Long companyIdFk;
/**
*
*/
@TableField(value = "code")
private String code;
/**
*
*/
@TableField(value = "productName")
private String productName;
/**
*
*/
@TableField(value = "productionAddr")
private String productionAddr;
/**
*
*/
@TableField(value = "ggxh")
private String ggxh;
/**
* /
*/
@TableField(value = "zczbhhzbapzbh")
private String zczbhhzbapzbh;
/**
*
*/
@TableField(value = "ylqxzcrbarywmc")
private String ylqxzcrbarywmc;
/**
*
*/
@TableField(value = "regCompanyName")
private String regCompanyName;
/**
*
*/
@TableField(value = "regCreditCode")
private String regCreditCode;
/**
*
*/
@TableField(value = "regAddress")
private String regAddress;
/**
*
*/
@TableField(value = "agentName")
private String agentName;
/**
*
*/
@TableField(value = "agentCertCode")
private String agentCertCode;
/**
*
*/
@TableField(value = "agentAddress")
private String agentAddress;
/**
*
*/
@TableField(value = "jgjzc")
private String jgjzc;
/**
*
*/
@TableField(value = "useRange")
private String useRange;
/**
*
*/
@TableField(value = "otherContent")
private String otherContent;
/**
*
*/
@TableField(value = "remark")
private String remark;
/**
*
*/
@TableField(value = "auditDept")
private String auditDept;
/**
*
*/
@TableField(value = "approvalDate")
private String approvalDate;
/**
*
*/
@TableField(value = "expireDate")
private String expireDate;
/**
*
*/
@TableField(value = "effectDate")
private String effectDate;
/**
* :1:2:
*/
@TableField(value = "status")
private String status;
/**
*
*/
@TableField(value = "filePath")
private String filePath;
/**
*
*/
@TableField(value = "`createUser`")
private String createUser;
/**
*
*/
@TableField(value = "createTime")
private Date createTime;
/**
*
*/
@TableField(value = "updateUser")
private String updateUser;
/**
*
*/
@TableField(value = "udpateTime")
private Date udpateTime;
private static final long serialVersionUID = 1L;
/**
*
*/
@ApiModelProperty(value = "企业名称")
@TableField(exist = false)
private String companyName;
/**
*
*/
@ApiModelProperty(value = "统一社会信用号")
@TableField(exist = false)
private String creditNum;
/**
* 1,2,3,.4.
*/
@ApiModelProperty(value = "企业类型 1生产企业,2流通企业,3,医疗机构.4.监管机构")
@TableField(exist = false)
private String bussinessStatus;
}

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@ -66,7 +67,14 @@ public class SupCertEntity {
* 1:2.3.
*/
@TableField("type")
private Integer type;
private String type;
/**
*
*/
@TableField(exist = false)
private String typeName;
/**
* ID
@ -80,6 +88,19 @@ public class SupCertEntity {
@TableField("productIdFk")
private String productIdFk;
/**
*
*/
@TableField("approvalDate")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date approvalDate;
/**
*
*/
@TableField("auditDept")
private String auditDept;
/**
*
*/
@ -132,4 +153,24 @@ public class SupCertEntity {
@TableField("companyIdFk")
private Long companyIdFk;
/**
*
*/
@ApiModelProperty(value = "企业名称")
@TableField(exist = false)
private String companyName;
/**
*
*/
@ApiModelProperty(value = "统一社会信用号")
@TableField(exist = false)
private String creditNum;
/**
* 1,2,3,.4.
*/
@ApiModelProperty(value = "企业类型 1生产企业,2流通企业,3,医疗机构.4.监管机构")
@TableField(exist = false)
private String bussinessStatus;
}

@ -46,13 +46,13 @@ public class SupCertTypeEntity implements Serializable {
*
*/
@TableField(value = "enabled")
private Boolean enabled;
private int enabled;
/**
*
*/
@TableField(value = "commonUse")
private Boolean commonUse;
private int commonUse;
private static final long serialVersionUID = 1L;

@ -0,0 +1,77 @@
package com.glxp.api.entity.purchase;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* <p>
*
* </p>
*
* @author
* @since 2023-02-07
*/
@TableName("sup_product_auth")
@Data
public class SupProductAuthEntity {
@TableId(value = "id", type = IdType.INPUT)
private Long id;
/**
* ID
*/
@TableField("curCompanyId")
private String curCompanyId;
/**
* ID
*/
@TableField("authCompanyId")
private String authCompanyId;
/**
* IDsup_product
*/
@TableField("productId")
private String productId;
/**
*
*/
@TableField("remark")
private String remark;
/**
*
*/
@TableField("createUser")
private String createUser;
/**
*
*/
@TableField("createTime")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date createTime;
/**
*
*/
@TableField("updateUser")
private String updateUser;
/**
*
*/
@TableField("updateTime")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date updateTime;
}

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@ -287,4 +288,18 @@ public class SupProductEntity {
@TableField(value = "allowNoSerial")
private Boolean allowNoSerial;
/**
*
*/
@ApiModelProperty(value = "统一社会信用号")
@TableField(exist = false)
private String creditNum;
/**
* 1,2,3,.4.
*/
@ApiModelProperty(value = "企业类型 1生产企业,2流通企业,3,医疗机构.4.监管机构")
@TableField(exist = false)
private String bussinessStatus;
}

@ -0,0 +1,70 @@
package com.glxp.api.entity.stat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "stat_corp_offline")
public class StatCorpOfflineEntity implements Serializable {
@TableId(value = "id", type = IdType.INPUT)
private Integer id;
/**
* ID
*/
@TableField(value = "companyId")
private Long companyId;
/**
*
*/
@TableField(value = "statDate")
private Date statDate;
/**
* 1
*/
@TableField(value = "statType")
private Integer statType;
/**
* 线
*/
@TableField(value = "offlineStat")
private Long offlineStat;
/**
*
*/
@TableField(value = "createTime")
private Date createTime;
/**
*
*/
@TableField(value = "updateTime")
private Date updateTime;
/**
*
*/
@TableField(value = "remark")
private String remark;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,76 @@
package com.glxp.api.entity.sup;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* <p>
*
* </p>
*
* @author
* @since 2023-02-07
*/
@TableName("user_cert_auth")
@Data
public class UserCertAuthEntity {
@TableId(value = "id", type = IdType.INPUT)
private Long id;
/**
* ID
*/
@TableField("curCompanyId")
private String curCompanyId;
/**
* ID
*/
@TableField("authCompanyId")
private String authCompanyId;
/**
* IDsup_product
*/
@TableField("productId")
private String productId;
/**
*
*/
@TableField("remark")
private String remark;
/**
*
*/
@TableField("createUser")
private String createUser;
/**
*
*/
@TableField("createTime")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date createTime;
/**
*
*/
@TableField("updateUser")
private String updateUser;
/**
*
*/
@TableField("updateTime")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date updateTime;
}

@ -30,7 +30,7 @@ public class UserCompanyOnlineEntity implements Serializable {
* 线
*/
@TableField(value = "offlineStat")
private String offlineStat;
private Long offlineStat;
private static final long serialVersionUID = 1L;

@ -41,7 +41,7 @@ public class UserCompanyPilotEntity implements Serializable {
*
*/
@TableField(value = "creditNum")
private Integer creditNum;
private String creditNum;
/**
*

@ -12,6 +12,9 @@ public class FilterUserComapanyRequest extends ListPageRequest {
@ApiModelProperty(value = "关键字查询")
private String searchKey;
@ApiModelProperty(value = "状态")
private String status;
@ApiModelProperty(value = "企业ID")
private String id;

@ -0,0 +1,27 @@
package com.glxp.api.req.basic;
import com.glxp.api.util.page.ListPageRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class BasicManuProductRequest extends ListPageRequest {
/**
*
*/
@ApiModelProperty(value = "企业名称")
private String companyName;
/**
*
*/
@ApiModelProperty(value = "统一社会信用号")
private String creditNum;
/**
* 1,2,3,.4.
*/
@ApiModelProperty(value = "企业类型 1生产企业,2流通企业,3,医疗机构.4.监管机构")
private String bussinessStatus;
}

@ -0,0 +1,165 @@
package com.glxp.api.req.basic;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.glxp.api.util.page.ListPageRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class BasicManuYlqxzczhRequest extends ListPageRequest {
private Long id;
@ApiModelProperty(value = "企业id")
private Long companyIdFk;
/**
*
*/
private String code;
/**
*
*/
private String productName;
/**
*
*/
private String ggxh;
/**
* /
*/
private String zczbhhzbapzbh;
/**
*
*/
private String ylqxzcrbarywmc;
/**
*
*/
private String regCompanyName;
/**
*
*/
private String regCreditCode;
/**
*
*/
private String regAddress;
/**
*
*/
private String agentName;
/**
*
*/
private String agentCertCode;
/**
*
*/
private String agentAddress;
/**
*
*/
private String jgjzc;
/**
*
*/
private String useRange;
/**
*
*/
private String otherContent;
/**
*
*/
private String remark;
/**
*
*/
private String auditDept;
/**
*
*/
private String approvalDate;
/**
*
*/
private String expireDate;
/**
*
*/
private String effectDate;
/**
* :1:2:
*/
private String status;
/**
*
*/
private String filePath;
/**
*
*/
private String createUser;
/**
*
*/
private Date createTime;
/**
*
*/
private String updateUser;
/**
*
*/
private Date udpateTime;
private static final long serialVersionUID = 1L;
/**
*
*/
@ApiModelProperty(value = "企业名称")
private String companyName;
/**
*
*/
@ApiModelProperty(value = "统一社会信用号")
private String creditNum;
/**
* 1,2,3,.4.
*/
@ApiModelProperty(value = "企业类型 1生产企业,2流通企业,3,医疗机构.4.监管机构")
private String bussinessStatus;
}

@ -12,6 +12,9 @@ public class ProductInfoFilterRequest extends ListPageRequest {
@ApiModelProperty(value = "使用单元")
private String unit;
@ApiModelProperty(value = "企业id")
private Long companyIdFk;
@ApiModelProperty(value = "企业名称")
private String coName;

@ -10,7 +10,7 @@ public class PostSelCertRequest {
private String customerId;
private Integer certType;
private String certType;
private String manufacturerIdFk;
private String productIdFk;
private List<SupCertSetEntity> supCertSetEntities;

@ -0,0 +1,165 @@
package com.glxp.api.req.purchase;
import com.glxp.api.util.page.ListPageRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class SupCertEntityRequest extends ListPageRequest {
private Long id;
@ApiModelProperty(value = "企业id")
private Long companyIdFk;
@ApiModelProperty(value = "产品ID")
private String productIdFk;
/**
*
*/
private String code;
/**
*
*/
private String productName;
/**
*
*/
private String ggxh;
/**
* /
*/
private String zczbhhzbapzbh;
/**
*
*/
private String ylqxzcrbarywmc;
/**
*
*/
private String regCompanyName;
/**
*
*/
private String regCreditCode;
/**
*
*/
private String regAddress;
/**
*
*/
private String agentName;
/**
*
*/
private String agentCertCode;
/**
*
*/
private String agentAddress;
/**
*
*/
private String jgjzc;
/**
*
*/
private String useRange;
/**
*
*/
private String otherContent;
/**
*
*/
private String remark;
/**
*
*/
private String auditDept;
/**
*
*/
private String approvalDate;
/**
*
*/
private String expireDate;
/**
*
*/
private String effectDate;
/**
* :1:2:
*/
private String status;
/**
*
*/
private String filePath;
/**
*
*/
private String createUser;
/**
*
*/
private Date createTime;
/**
*
*/
private String updateUser;
/**
*
*/
private Date udpateTime;
private static final long serialVersionUID = 1L;
/**
*
*/
@ApiModelProperty(value = "企业名称")
private String companyName;
/**
*
*/
@ApiModelProperty(value = "统一社会信用号")
private String creditNum;
/**
* 1,2,3,.4.
*/
@ApiModelProperty(value = "企业类型 1生产企业,2流通企业,3,医疗机构.4.监管机构")
private String bussinessStatus;
}

@ -0,0 +1,27 @@
package com.glxp.api.req.purchase;
import com.glxp.api.util.page.ListPageRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class SupProductEntityRequest extends ListPageRequest {
/**
*
*/
@ApiModelProperty(value = "企业名称")
private String companyName;
/**
*
*/
@ApiModelProperty(value = "统一社会信用号")
private String creditNum;
/**
* 1,2,3,.4.
*/
@ApiModelProperty(value = "企业类型 1生产企业,2流通企业,3,医疗机构.4.监管机构")
private String bussinessStatus;
}

@ -0,0 +1,15 @@
package com.glxp.api.req.purchase;
import com.glxp.api.util.page.ListPageRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class SupProductSelectRequest {
private String cpmctymc;
private String ylqxzcrbarmc;
private String zczbhhzbapzbh;
private String manufactory;
}

@ -0,0 +1,35 @@
package com.glxp.api.req.stat;
import com.baomidou.mybatisplus.annotation.TableField;
import com.glxp.api.util.page.ListPageRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class StatCorpOfflineEntityRequest extends ListPageRequest {
/**
*
*/
@ApiModelProperty(value = "企业名称")
private String companyName;
/**
*
*/
@ApiModelProperty(value = "统一社会信用号")
private String creditNum;
/**
* 1,2,3,.4.
*/
@ApiModelProperty(value = "企业类型 1生产企业,2流通企业,3,医疗机构.4.监管机构")
private String bussinessStatus;
/**
*
*/
@ApiModelProperty(value = "statDate")
private String statDate;
}

@ -0,0 +1,75 @@
package com.glxp.api.req.sup;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
import java.util.Date;
@Data
public class UserCompanyPilotEntityRequest extends ListPageRequest {
private Integer id;
/**
* Id
*/
private Long companyIdFk;
/**
*
*/
private String companyName;
/**
*
*/
private String creditNum;
/**
*
*/
private String bussinessStatus;
/**
*
*/
private String spell;
/**
*
*/
private String addr;
/**
*
*/
private String status;
/**
*
*/
private String contacts;
/**
*
*/
private String mobile;
/**
*
*/
private String remark;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
}

@ -0,0 +1,19 @@
package com.glxp.api.res.basic;
import com.glxp.api.entity.basic.UdiProductEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class UdiProductGroupResponse {
private String cpmctymc;
private String ylqxzcrbarmc;
private String zczbhhzbapzbh;
private String manufactory;
//自定义字典
@ApiModelProperty(value = "自定义字典")
private boolean check;
}

@ -0,0 +1,33 @@
package com.glxp.api.res.stat;
import com.baomidou.mybatisplus.annotation.TableField;
import com.glxp.api.entity.stat.StatCorpOfflineEntity;
import com.glxp.api.entity.sup.UserCompanyEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel("用户离线统计响应类")
public class StatCorpOfflineResponse extends StatCorpOfflineEntity {
/**
*
*/
@ApiModelProperty(value = "企业名称")
private String companyName;
/**
*
*/
@ApiModelProperty(value = "统一社会信用号")
private String creditNum;
/**
* 1,2,3,.4.
*/
@ApiModelProperty(value = "企业类型 1生产企业,2流通企业,3,医疗机构.4.监管机构")
private String bussinessStatus;
}

@ -23,4 +23,5 @@ public class UserCompanyOnlineResponse extends UserCompanyEntity {
private String remark;
private Long offlineStat;
}

@ -40,6 +40,11 @@ public class UserCompanyResponse extends UserCompanyEntity {
@ApiModelProperty(value = "注册状态 1已注册2已禁用; 3:未注册")
private Integer regStatus;
/**
* 线
*/
@TableField(value = "offlineStat")
private Long offlineStat;
/**
*

@ -0,0 +1,27 @@
package com.glxp.api.service.basic;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.basic.BasicManuProductMapper;
import com.glxp.api.dao.stat.StatCorpOfflineMapper;
import com.glxp.api.entity.basic.BasicManuProductEntity;
import com.glxp.api.entity.basic.BasicUdiProductEntity;
import com.glxp.api.entity.stat.StatCorpOfflineEntity;
import com.glxp.api.res.stat.StatCorpOfflineResponse;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class BasicManuProductService extends ServiceImpl<BasicManuProductMapper, BasicManuProductEntity> {
public boolean isExit(String uuid,Long companyId) {
return this.baseMapper.exists(new QueryWrapper<BasicManuProductEntity>().eq("uuid", uuid).eq("companyIdFk", companyId));
}
public List<BasicManuProductEntity> filterList(QueryWrapper queryWrapper){
return this.baseMapper.filterList(queryWrapper);
}
}

@ -0,0 +1,21 @@
package com.glxp.api.service.basic;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.basic.BasicManuYlqxzczhMapper;
import com.glxp.api.dao.stat.StatCorpOfflineMapper;
import com.glxp.api.entity.basic.BasicManuProductEntity;
import com.glxp.api.entity.basic.BasicManuYlqxzczhEntity;
import com.glxp.api.entity.stat.StatCorpOfflineEntity;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class BasicManuYlqxzczhService extends ServiceImpl<BasicManuYlqxzczhMapper, BasicManuYlqxzczhEntity> {
public List<BasicManuYlqxzczhEntity> filterList(QueryWrapper queryWrapper){
return this.baseMapper.filterList(queryWrapper);
}
}

@ -7,7 +7,9 @@ import com.github.pagehelper.PageHelper;
import com.glxp.api.entity.sup.UserCompanyEntity;
import com.glxp.api.req.basic.BasicUdiRelRequest;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.basic.ProductInfoFilterRequest;
import com.glxp.api.res.basic.BasicUdiRelResponse;
import com.glxp.api.res.basic.UdiProductGroupResponse;
import com.glxp.api.res.stat.NmapTotalResponse;
import com.glxp.api.res.sup.UserCompanyResponse;
import com.glxp.api.util.IntUtil;
@ -54,6 +56,14 @@ public class BasicUdiRelService extends ServiceImpl<BasicUdiRelMapper, BasicUdiR
return basicUdiRelMapper.filterCompanyList(filterUdiRelRequest);
}
public List<UdiProductGroupResponse> filterUdiGroup(ProductInfoFilterRequest request){
if (null != request.getPage() && null != request.getLimit()) {
PageHelper.offsetPage((request.getPage() - 1) * request.getLimit(), request.getLimit());
}
return basicUdiRelMapper.filterUdiGroup(request);
}
//查找源头企业1.先找出生产企业2.找出代理商与购买方
public List<UserCompanyResponse> findSourceByNameCode(String nameCode) {
List<UserCompanyResponse> userCompanyEntities = basicUdiRelMapper.findByNameCode(nameCode);

@ -1,6 +1,7 @@
package com.glxp.api.service.basic;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.basic.ProductInfoEntity;
@ -8,6 +9,8 @@ import com.glxp.api.entity.basic.UdiCompanyEntity;
import com.glxp.api.req.basic.ProductInfoFilterRequest;
import com.glxp.api.req.basic.UdiCompanyRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.BasicUdiRelResponse;
import com.glxp.api.res.basic.UdiProductGroupResponse;
import com.glxp.api.util.RedisUtil;
import org.springframework.stereotype.Service;
@ -23,6 +26,8 @@ public class SyncUdiService {
ProductInfoService productInfoService;
@Resource
UdiCompanyService udiCompanyService;
@Resource
BasicUdiRelService basicUdiRelService;
@Resource
RedisUtil redisUtil;
@ -106,6 +111,77 @@ public class SyncUdiService {
}
public BaseResponse filterUdiGroup(ProductInfoFilterRequest productInfoFilterRequest) {
//过滤--1.参数不能全未空
if ((productInfoFilterRequest.getYlqxzcrbarmc() == null || productInfoFilterRequest.getYlqxzcrbarmc().equals("")) &&
(productInfoFilterRequest.getCpmctymc() == null || productInfoFilterRequest.getCpmctymc().equals("")) &&
(productInfoFilterRequest.getNameCode() == null || productInfoFilterRequest.getNameCode().equals("")) &&
(productInfoFilterRequest.getGgxh() == null || productInfoFilterRequest.getGgxh().equals("")) &&
(productInfoFilterRequest.getUuid() == null || productInfoFilterRequest.getUuid().equals("")) &&
(productInfoFilterRequest.getZczbhhzbapzbh() == null || productInfoFilterRequest.getZczbhhzbapzbh().equals("")) &&
(productInfoFilterRequest.getDeviceRecordKey() == null || productInfoFilterRequest.getDeviceRecordKey().equals(""))
) {
return ResultVOUtils.error(500, "查询条件不能为空!");
}
if (StrUtil.isEmpty(productInfoFilterRequest.getYlqxzcrbarmc()) &&
StrUtil.isEmpty(productInfoFilterRequest.getCpmctymc())
&& StrUtil.isEmpty(productInfoFilterRequest.getNameCode())
&& StrUtil.isEmpty(productInfoFilterRequest.getGgxh())
&& StrUtil.isEmpty(productInfoFilterRequest.getUuid())
&& StrUtil.isEmpty(productInfoFilterRequest.getZczbhhzbapzbh())) {
if (productInfoFilterRequest.getNameCode() != null && !productInfoFilterRequest.getNameCode().equals("") && productInfoFilterRequest.getNameCode().length() < 10) {
return ResultVOUtils.error(500, "请输入完整的最小销售单元标识!");
}
}
if (StrUtil.isEmpty(productInfoFilterRequest.getYlqxzcrbarmc()) && StrUtil.isEmpty(productInfoFilterRequest.getNameCode())) {
if (StrUtil.isNotEmpty(productInfoFilterRequest.getCpmctymc())) {
return ResultVOUtils.error(500, "请输入医疗器械注册备案人名称");
}
if (productInfoFilterRequest.getGgxh() != null && !productInfoFilterRequest.getGgxh().equals("")) {
return ResultVOUtils.error(500, "请输入医疗器械注册备案人名称");
}
if (productInfoFilterRequest.getZczbhhzbapzbh() != null && !productInfoFilterRequest.getZczbhhzbapzbh().equals("")) {
return ResultVOUtils.error(500, "请输入医疗器械注册备案人名称");
}
}
if ((productInfoFilterRequest.getYlqxzcrbarmc() == null || productInfoFilterRequest.getYlqxzcrbarmc().equals(""))
&& (productInfoFilterRequest.getNameCode() == null || productInfoFilterRequest.getNameCode().equals(""))
&& (productInfoFilterRequest.getCpmctymc() == null || productInfoFilterRequest.getCpmctymc().equals(""))
) {
if (productInfoFilterRequest.getGgxh() != null && !productInfoFilterRequest.getGgxh().equals("")) {
return ResultVOUtils.error(500, "请输入医疗器械注册备案人名称");
}
if (productInfoFilterRequest.getZczbhhzbapzbh() != null && !productInfoFilterRequest.getZczbhhzbapzbh().equals("")) {
return ResultVOUtils.error(500, "请输入医疗器械注册备案人名称");
}
}
if (productInfoFilterRequest.getCpmctymc() != null && !productInfoFilterRequest.getCpmctymc().equals("") && productInfoFilterRequest.getCpmctymc().length() < 4) {
return ResultVOUtils.error(500, "请输入完整的产品通用名称!");
}
productInfoFilterRequest.setIsNewest(1);
// productInfoFilterRequest.setDiType("1");
String keyCache = productInfoFilterRequest.toCacheKey();
if (StrUtil.isEmpty(keyCache)) {
return ResultVOUtils.error(500, "查询条件不能为空!");
}
List<UdiProductGroupResponse> udiDlDeviceResponse = basicUdiRelService.filterUdiGroup(productInfoFilterRequest);
PageInfo<UdiProductGroupResponse> basicUdiRelResponsePageInfo = new PageInfo<>(udiDlDeviceResponse);
PageSimpleResponse<UdiProductGroupResponse> basicUdiRelResponsePageSimpleResponse = new PageSimpleResponse<>();
basicUdiRelResponsePageSimpleResponse.setTotal(basicUdiRelResponsePageInfo.getTotal());
basicUdiRelResponsePageSimpleResponse.setList(udiDlDeviceResponse);
return ResultVOUtils.success(basicUdiRelResponsePageSimpleResponse);
}
public BaseResponse filterCompany(@Valid UdiCompanyRequest udiCompanyRequest) {
List<UdiCompanyEntity> udiCompanyEntities = udiCompanyService.filterUdiCompany(udiCompanyRequest);

@ -1,8 +1,10 @@
package com.glxp.api.service.purchase;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.entity.purchase.SupCertEntity;
import com.glxp.api.entity.purchase.SupProductEntity;
import com.glxp.api.entity.sup.UserCertEntity;
import com.glxp.api.req.purchase.FilterSupCertRequest;
import com.glxp.api.req.purchase.certRequest;
@ -51,4 +53,5 @@ public interface SupCertService extends IService<SupCertEntity> {
List<SupCertEntity> selectSupCertList(purPlanPrintRequest purPlanPrintRequest);
List<SupCertEntity> filterList(QueryWrapper queryWrapper);
}

@ -0,0 +1,17 @@
package com.glxp.api.service.purchase;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.basic.BasicManuProductMapper;
import com.glxp.api.dao.purchase.SupProductAuthMapper;
import com.glxp.api.entity.basic.BasicManuProductEntity;
import com.glxp.api.entity.purchase.SupProductAuthEntity;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class SupProductAuthService extends ServiceImpl<SupProductAuthMapper, SupProductAuthEntity> {
}

@ -1,9 +1,12 @@
package com.glxp.api.service.purchase;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.entity.purchase.SupProductEntity;
import com.glxp.api.req.purchase.FilterPoductRequest;
import com.glxp.api.req.purchase.SupProductSelectRequest;
import com.glxp.api.res.basic.UdiProductGroupResponse;
import com.glxp.api.res.purchase.SupProductResponse;
import org.apache.ibatis.annotations.Param;
@ -37,4 +40,10 @@ public interface SupProductService extends IService<SupProductEntity> {
boolean deleteById(@Param("id") String id);
boolean deleteByEnterpriseId(@Param("enterpriseId") String enterpriseId);
boolean isExit(UdiProductGroupResponse response);
boolean isExit(SupProductSelectRequest request);
List<SupProductEntity> filterList(QueryWrapper queryWrapper);
}

@ -1,11 +1,13 @@
package com.glxp.api.service.purchase.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.dao.purchase.SupCertDao;
import com.glxp.api.entity.purchase.SupCertEntity;
import com.glxp.api.entity.purchase.SupProductEntity;
import com.glxp.api.entity.sup.UserCertEntity;
import com.glxp.api.req.purchase.FilterSupCertRequest;
import com.glxp.api.req.purchase.certRequest;
@ -25,6 +27,10 @@ public class SupCertServiceImpl extends ServiceImpl<SupCertDao, SupCertEntity> i
@Resource
SupCertDao supCertDao;
@Override
public List<SupCertEntity> filterList(QueryWrapper queryWrapper){
return this.baseMapper.filterList(queryWrapper);
}
@Override
public List<SupCertEntity> selectBybId(certRequest certRequest) {

@ -7,10 +7,14 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.dao.purchase.SupProductDao;
import com.glxp.api.entity.basic.BasicManuProductEntity;
import com.glxp.api.entity.purchase.SupProductEntity;
import com.glxp.api.req.purchase.FilterPoductRequest;
import com.glxp.api.req.purchase.SupProductSelectRequest;
import com.glxp.api.res.basic.UdiProductGroupResponse;
import com.glxp.api.res.purchase.SupProductResponse;
import com.glxp.api.service.purchase.SupProductService;
import com.glxp.api.util.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -30,6 +34,32 @@ public class SupProductServiceImpl extends ServiceImpl<SupProductDao, SupProduct
return supProductDao.findRegistration(id);
}
@Override
public boolean isExit(UdiProductGroupResponse response) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq(StringUtils.isNotEmpty(response.getCpmctymc()),"recordProductName",response.getCpmctymc());
queryWrapper.eq(StringUtils.isNotEmpty(response.getZczbhhzbapzbh()),"recordCode",response.getZczbhhzbapzbh());
queryWrapper.eq(StringUtils.isNotEmpty(response.getYlqxzcrbarmc()),"recordPeopleName",response.getYlqxzcrbarmc());
queryWrapper.eq(StringUtils.isNotEmpty(response.getManufactory()),"manufactory",response.getManufactory());
return this.baseMapper.exists(queryWrapper);
}
@Override
public boolean isExit(SupProductSelectRequest request) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq(StringUtils.isNotEmpty(request.getCpmctymc()),"recordProductName",request.getCpmctymc());
queryWrapper.eq(StringUtils.isNotEmpty(request.getZczbhhzbapzbh()),"recordCode",request.getZczbhhzbapzbh());
queryWrapper.eq(StringUtils.isNotEmpty(request.getYlqxzcrbarmc()),"recordPeopleName",request.getYlqxzcrbarmc());
queryWrapper.eq(StringUtils.isNotEmpty(request.getManufactory()),"manufactory",request.getManufactory());
return this.baseMapper.exists(queryWrapper);
}
@Override
public List<SupProductEntity> filterList(QueryWrapper queryWrapper){
return this.baseMapper.filterList(queryWrapper);
}
@Override
public SupProductResponse findJoinRegistration(Long id) {
if (id == null)

@ -0,0 +1,24 @@
package com.glxp.api.service.stat;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.stat.StatCorpCountMapper;
import com.glxp.api.dao.stat.StatCorpOfflineMapper;
import com.glxp.api.entity.stat.IoStatOrderEntity;
import com.glxp.api.entity.stat.StatCorpCountEntity;
import com.glxp.api.entity.stat.StatCorpOfflineEntity;
import com.glxp.api.res.stat.StatCorpOfflineResponse;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class StatCorpOfflineService extends ServiceImpl<StatCorpOfflineMapper, StatCorpOfflineEntity> {
public List<StatCorpOfflineResponse> filterList(QueryWrapper queryWrapper){
return this.baseMapper.filterList(queryWrapper);
}
}

@ -0,0 +1,14 @@
package com.glxp.api.service.sup;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.purchase.SupProductAuthMapper;
import com.glxp.api.dao.sup.UserCertAuthMapper;
import com.glxp.api.entity.purchase.SupProductAuthEntity;
import com.glxp.api.entity.sup.UserCertAuthEntity;
import org.springframework.stereotype.Service;
@Service
public class UserCertAuthService extends ServiceImpl<UserCertAuthMapper, UserCertAuthEntity> {
}

@ -1,10 +1,31 @@
package com.glxp.api.service.sup;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.util.StringUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.entity.sup.UserCompanyPilotEntity;
import com.glxp.api.dao.sup.UserCompanyPilotMapper;
import java.util.List;
@Service
public class UserCompanyPilotService extends ServiceImpl<UserCompanyPilotMapper, UserCompanyPilotEntity> {
public Boolean setCompanyId(Long companyIdFkm,String creditNum){
if(StringUtils.isEmpty(creditNum)){
return false;
}
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("creditNum",creditNum);
List<UserCompanyPilotEntity> list = this.baseMapper.selectList(queryWrapper);
if(CollectionUtil.isEmpty(list)){
return false;
}
UserCompanyPilotEntity userCompanyPilotEntity = list.get(0);
userCompanyPilotEntity.setCompanyIdFk(companyIdFkm);
this.baseMapper.updateById(userCompanyPilotEntity);
return true;
}
}

@ -0,0 +1,106 @@
package com.glxp.api.task;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.dao.schedule.ScheduledDao;
import com.glxp.api.entity.stat.StatCorpOfflineEntity;
import com.glxp.api.entity.sup.UserCompanyOnlineEntity;
import com.glxp.api.entity.sup.UserCompanyPilotEntity;
import com.glxp.api.entity.system.ScheduledEntity;
import com.glxp.api.req.system.ScheduledRequest;
import com.glxp.api.service.stat.StatCorpOfflineService;
import com.glxp.api.service.sup.UserCompanyOnlineService;
import com.glxp.api.service.sup.UserCompanyPilotService;
import com.glxp.api.service.sup.UserCompanyService;
import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.util.RedisUtil;
import com.glxp.api.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
import org.springframework.scheduling.support.CronTrigger;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Component
@EnableScheduling
public class StatOffineTask implements SchedulingConfigurer {
final Logger logger = LoggerFactory.getLogger(StatOffineTask.class);
@Resource
private ScheduledDao scheduledDao;
@Resource
StatCorpOfflineService statCorpOfflineService;
@Resource
UserCompanyOnlineService userCompanyOnlineService;
@Resource
SystemParamConfigService systemParamConfigService;
@Override
public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
scheduledTaskRegistrar.addTriggerTask(() -> process(),
triggerContext -> {
ScheduledRequest scheduledRequest = new ScheduledRequest();
scheduledRequest.setCronName("stat_offine");
ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest);
if (scheduledEntity == null) {
return null;
}
String cron = scheduledEntity.getCron();//"0 55 5 * * ?";
if (cron.isEmpty()) {
logger.error("cron is null");
}
return new CronTrigger(cron).nextExecutionTime(triggerContext);
});
}
private void process() {
Integer timeout = systemParamConfigService.selectIntValueByParamKey("timeout");
List<UserCompanyOnlineEntity> list = userCompanyOnlineService.list();
Long time = 10l;
for(UserCompanyOnlineEntity userCompanyOnlineEntity:list){
Date updateTime = userCompanyOnlineEntity.getUpdateTime();
//分钟
double diffTime = (new Date().getTime()-updateTime.getTime())*1.0/1000/60;
if(diffTime - timeout >= 0){
Long offlineStat = userCompanyOnlineEntity.getOfflineStat();
offlineStat = offlineStat == null?time:offlineStat+time;
userCompanyOnlineEntity.setOfflineStat(offlineStat);
userCompanyOnlineService.updateById(userCompanyOnlineEntity);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("companyId",userCompanyOnlineEntity.getCompanyId());
queryWrapper.like("statDate", DateUtil.today());
List<StatCorpOfflineEntity> statList = statCorpOfflineService.list(queryWrapper);
StatCorpOfflineEntity statCorpOfflineEntity = null;
if(CollectionUtil.isEmpty(statList)){
statCorpOfflineEntity = new StatCorpOfflineEntity();
statCorpOfflineEntity.setCompanyId(userCompanyOnlineEntity.getCompanyId());
statCorpOfflineEntity.setCreateTime(new Date());
statCorpOfflineEntity.setUpdateTime(new Date());
statCorpOfflineEntity.setStatType(1);
statCorpOfflineEntity.setStatDate(new Date());
statCorpOfflineEntity.setOfflineStat(time);
}else{
statCorpOfflineEntity = statList.get(0);
statCorpOfflineEntity.setUpdateTime(new Date());
statCorpOfflineEntity.setOfflineStat(statCorpOfflineEntity.getOfflineStat()+time);
}
statCorpOfflineService.saveOrUpdate(statCorpOfflineEntity);
}
}
}
}

@ -0,0 +1,14 @@
<?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.glxp.api.dao.basic.BasicManuProductMapper">
<select id="filterList"
resultType="com.glxp.api.entity.basic.BasicManuProductEntity">
SELECT O.*,uc.companyName,uc.bussinessStatus,uc.creditNum
FROM basic_manu_product o left join user_company uc on o.companyIdFk = uc.id
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

@ -0,0 +1,14 @@
<?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.glxp.api.dao.basic.BasicManuYlqxzczhMapper">
<select id="filterList"
resultType="com.glxp.api.entity.basic.BasicManuYlqxzczhEntity">
SELECT O.*,uc.companyName,uc.bussinessStatus,uc.creditNum
FROM basic_manu_ylqxzczh o left join user_company uc on o.companyIdFk = uc.id
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

@ -330,4 +330,56 @@
FROM basic_udi_rel
where uuid = #{uuid} and companyIdFk = #{companyId}
</select>
<select id="filterUdiGroup" parameterType="com.glxp.api.req.basic.ProductInfoFilterRequest"
resultType="com.glxp.api.res.basic.UdiProductGroupResponse">
select p.cpmctymc,p.ylqxzcrbarmc,p.zczbhhzbapzbh,p.manufactory
FROM basic_udi_rel bur
left JOIN basic_udi_product p on bur.uuid = p.uuid
<where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND ylqxzcrbarmc = #{ylqxzcrbarmc}
</if>
<if test="ylqxzcrbarmc == null and cpmctymc != '' and cpmctymc != null">
AND cpmctymc LIKE concat(#{cpmctymc}, '%')
</if>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null and cpmctymc != '' and cpmctymc != null">
AND cpmctymc LIKE concat('%', #{cpmctymc}, '%')
</if>
<if test="nameCode != '' and nameCode != null">
AND nameCode LIKE concat(#{nameCode}, '%')
</if>
<if test="uuid != '' and uuid != null">
AND uuid = #{uuid}
</if>
<if test="companyIdFk != '' and companyIdFk != null">
AND companyIdFk = #{companyIdFk}
</if>
<if test="ggxh != '' and ggxh != null">
AND ggxh LIKE concat('%', #{ggxh}, '%')
</if>
<if test="zczbhhzbapzbh != '' and zczbhhzbapzbh != null">
AND zczbhhzbapzbh LIKE concat('%', #{zczbhhzbapzbh}, '%')
</if>
<if test="deviceRecordKey != '' and deviceRecordKey != null">
AND deviceRecordKey = #{deviceRecordKey}
</if>
<if test="updateTime != null and updateTime != ''">
<![CDATA[
and DATE_FORMAT(updateTime, '%Y-%m-%d %H:%i:%S') >= DATE_FORMAT(#{updateTime}, '%Y-%m-%d %H:%i:%S')
]]>
</if>
<if test="isNewest != null and isNewest != ''">
AND isNewest = #{isNewest}
</if>
<if test="diType != '' and diType != null">
AND diType = #{diType}
</if>
</where>
GROUP BY CONCAT(p.cpmctymc,p.ylqxzcrbarmc,p.zczbhhzbapzbh,p.manufactory)
</select>
</mapper>

@ -2,6 +2,17 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.glxp.api.dao.purchase.SupCertDao">
<select id="filterList"
resultType="com.glxp.api.entity.purchase.SupCertEntity">
SELECT O.*,uc.companyName,uc.bussinessStatus,uc.creditNum
FROM sup_cert o left join user_company uc on o.companyIdFk = uc.id
left join sup_product_auth auth on o.productIdFk = auth.productId
<where>
${ew.sqlSegment}
</where>
</select>
<select id="filterCert" parameterType="com.glxp.api.req.purchase.FilterSupCertRequest"
resultType="com.glxp.api.entity.purchase.SupCertEntity">
select *

@ -0,0 +1,6 @@
<?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.glxp.api.dao.purchase.SupProductAuthMapper">
</mapper>

@ -2,6 +2,16 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.glxp.api.dao.purchase.SupProductDao">
<select id="filterList"
resultType="com.glxp.api.entity.purchase.SupProductEntity">
SELECT O.*,uc.companyName,uc.bussinessStatus,uc.creditNum
FROM sup_product o left join user_company uc on o.customerId = uc.id
<where>
${ew.sqlSegment}
</where>
</select>
<select id="findRegistration" parameterType="java.lang.Long"
resultType="com.glxp.api.entity.purchase.SupProductEntity">
SELECT *

@ -0,0 +1,14 @@
<?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.glxp.api.dao.stat.StatCorpOfflineMapper">
<select id="filterList"
resultType="com.glxp.api.res.stat.StatCorpOfflineResponse">
SELECT O.*,uc.companyName,uc.bussinessStatus,uc.creditNum
FROM stat_corp_offline o left join user_company uc on o.companyId = uc.id
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

@ -0,0 +1,7 @@
<?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.glxp.api.dao.sup.UserCertAuthMapper">
</mapper>

@ -3,7 +3,7 @@
<mapper namespace="com.glxp.api.dao.sup.UserCompanyOnlineMapper">
<select id="findOnLineByConfig"
resultType="com.glxp.api.res.sup.UserCompanyOnlineResponse">
SELECT uco.userId, uco.lastIp, uco.updateTime, ucc.heartRate, ucc.remark
SELECT uco.userId, uco.lastIp, uco.updateTime, ucc.heartRate, ucc.remark,uco.offlineStat
FROM user_company_config ucc
left join user_company_online uco on uco.companyId = ucc.companyId
where ucc.companyId = #{companyId}

Loading…
Cancel
Save