Commit cfc0ad80 by lijingjing

添加业务数据、业务人员接口;

添加样品名称字段替换关联查询;
修改样品编号逻辑;
parent 3b8d1d9e
package com.patzn.cloud.service.lims.common.consts;
/**
* @title: 标点符号
* @author: meazty
* @ondate: 2021/8/9 11:43
**/
public class Symbol {
public static final String POINT = ".";
public static final String COMMA = ",";
public static final String COLON = ":";
public static final String PAUSE = "...";
public static final String PERIOD = "。";
public static final String HALT = "、";
public static final String COMMA_CN = ",";
public static final String SLASH = "/";
public static final String BACKSLASH = "\\";
public static final String FORWARD = "->";
}
...@@ -2,6 +2,7 @@ package com.patzn.cloud.service.lims.hmhj.common; ...@@ -2,6 +2,7 @@ package com.patzn.cloud.service.lims.hmhj.common;
import com.baomidou.mybatisplus.toolkit.CollectionUtils; import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.patzn.cloud.service.hmhj.enums.*; import com.patzn.cloud.service.hmhj.enums.*;
import com.patzn.cloud.service.lims.common.consts.Symbol;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import java.util.Arrays; import java.util.Arrays;
...@@ -11,7 +12,7 @@ import java.util.List; ...@@ -11,7 +12,7 @@ import java.util.List;
* 委托流程控制(状态控制) * 委托流程控制(状态控制)
*/ */
public class EntrustFlowUtils { public class EntrustFlowUtils {
public static final String SEQ = "->"; public static final String SEQ = Symbol.FORWARD;
public static List<String> getFlowStatusList(String statusPath) { public static List<String> getFlowStatusList(String statusPath) {
if (StringUtils.isBlank(statusPath)) { if (StringUtils.isBlank(statusPath)) {
......
package com.patzn.cloud.service.lims.hmhj.common.consts;
/**
* @title: 霍煤常量
* @author: meazty
* @ondate: 2021/8/9 11:49
**/
public class HmConst {
public static final int MINUS_ONE = -1;
public static final int ZERO = 0;
public static final int ONE = 1;
public static final int TWO = 2;
public static final String Y = "是";
public static final String N = "否";
public static final String PRIMARY_ALUMINUM = "原铝";
public static final String ELECTROLYTE = "电解质";
public static final String EXTERNAL_INSPECTION_MATERIALS = "外委检测物资";
public static final String THIRD_CODE_MATERIALS = "三级编码物资";
public static final String EXIST_CODE_MATERIALS = "已有编码物资";
public static final String SCATTERED = "散样";
}
\ No newline at end of file
...@@ -77,9 +77,9 @@ public class ClientInfoController extends ServiceController { ...@@ -77,9 +77,9 @@ public class ClientInfoController extends ServiceController {
} }
@ApiOperation("获取委托单位列表") @ApiOperation("获取委托单位列表")
@PostMapping("/list") @PostMapping("/info")
public RestResult<List<ClientInfo>> getList(ClientInfo clientInfo) { public RestResult<ClientInfo> getInfo() {
return success(clientInfoService.listClient(clientInfo, getAccount())); return success(clientInfoService.getClientInfo(getAccount()));
} }
@ApiOperation("获取委托单位及相关信息") @ApiOperation("获取委托单位及相关信息")
......
...@@ -21,11 +21,9 @@ import io.swagger.annotations.Api; ...@@ -21,11 +21,9 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.xml.transform.Result;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
......
...@@ -50,9 +50,21 @@ public class MaterialController extends ServiceController { ...@@ -50,9 +50,21 @@ public class MaterialController extends ServiceController {
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class), @ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
}) })
@PostMapping("/page") @PostMapping("/page")
public RestResult<Page<Material>> getPage(Material material) { public RestResult<Page<Material>> getPage(Material material) {
return success(materialService.page(getPage(), material)); return success(materialService.page(getPage(), material));
} }
@ApiOperation("样品库分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page_material")
public RestResult<Page<Material>> getPageMaterial(Material material) {
return success(materialService.pageMaterial(getPage(), material, getAccount()));
}
@ApiOperation("查询 id 信息") @ApiOperation("查询 id 信息")
@ApiImplicitParams({ @ApiImplicitParams({
...@@ -68,24 +80,24 @@ public class MaterialController extends ServiceController { ...@@ -68,24 +80,24 @@ public class MaterialController extends ServiceController {
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class), @ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
}) })
@PutMapping("/{id}") @PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, Material material) { public RestResult<Boolean> edit(@PathVariable("id") Long id, Material material) {
material.setId(id); material.setId(id);
return success(materialService.updateById(material)); return success(materialService.updateById(material));
} }
@ApiOperation("添加") @ApiOperation("添加")
@PostMapping("/") @PostMapping("/")
public RestResult<Boolean> add(Material material) { public RestResult<Boolean> add(Material material) {
return success(materialService.save(material)); return success(materialService.save(material));
} }
@ApiOperation("根据 ids 删除") @ApiOperation("根据 ids 删除")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class), @ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
}) })
@DeleteMapping("/") @DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) { public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(materialService.removeByIds(ids)); return success(materialService.removeByIds(ids));
} }
} }
package com.patzn.cloud.service.lims.hmhj.controller; package com.patzn.cloud.service.lims.hmhj.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.api.RestConstants; import com.patzn.cloud.commons.api.RestConstants;
import com.patzn.cloud.commons.api.RestResult; import com.patzn.cloud.commons.api.RestResult;
import com.patzn.cloud.commons.controller.ServiceController; import com.patzn.cloud.commons.controller.ServiceController;
import com.patzn.cloud.feign.base.client.SysUserClient;
import com.patzn.cloud.service.hmhj.entity.Transformer; import com.patzn.cloud.service.hmhj.entity.Transformer;
import com.patzn.cloud.service.lims.hmhj.service.ITransformerService; import com.patzn.cloud.service.lims.hmhj.service.ITransformerService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
...@@ -38,15 +30,18 @@ public class TransformerController extends ServiceController { ...@@ -38,15 +30,18 @@ public class TransformerController extends ServiceController {
@Autowired @Autowired
private ITransformerService transformerService; private ITransformerService transformerService;
@Autowired
private SysUserClient sysUserClient;
@ApiOperation("分页列表") @ApiOperation("分页列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
}) })
@PostMapping("/page") @PostMapping("/page")
public RestResult<Page<Transformer>> getPage(Transformer transformer) { public RestResult<Page<Transformer>> getPage(Transformer transformer) {
return success(transformerService.page(getPage(), transformer)); return success(transformerService.page(getPage(), transformer));
} }
@ApiOperation("查询 id 信息") @ApiOperation("查询 id 信息")
@ApiImplicitParams({ @ApiImplicitParams({
...@@ -62,23 +57,24 @@ public class TransformerController extends ServiceController { ...@@ -62,23 +57,24 @@ public class TransformerController extends ServiceController {
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class), @ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
}) })
@PutMapping("/{id}") @PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, Transformer transformer) { public RestResult<Boolean> edit(@PathVariable("id") Long id, Transformer transformer) {
transformer.setId(id); transformer.setId(id);
return success(transformerService.updateById(transformer)); return success(transformerService.updateById(transformer));
} }
@ApiOperation("添加") @ApiOperation("添加")
@PostMapping("/") @PostMapping("/")
public RestResult<Boolean> add(Transformer transformer) { public RestResult<Boolean> add(Transformer transformer) {
transformer.setCreator(sysUserClient.get(getAccount().getUserId()).serviceData().getRealname());
return success(transformerService.save(transformer)); return success(transformerService.save(transformer));
} }
@ApiOperation("根据 ids 删除") @ApiOperation("根据 ids 删除")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class), @ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
}) })
@DeleteMapping("/") @DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) { public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(transformerService.removeByIds(ids)); return success(transformerService.removeByIds(ids));
} }
} }
...@@ -54,7 +54,7 @@ public interface EntrustSampleItemMapper extends BatchMapper<EntrustSampleItem> ...@@ -54,7 +54,7 @@ public interface EntrustSampleItemMapper extends BatchMapper<EntrustSampleItem>
int selectUnallocatedCountByEntrustId(@Param("entrustId") Long entrustId, @Param("itemIds") Long[] itemIds); int selectUnallocatedCountByEntrustId(@Param("entrustId") Long entrustId, @Param("itemIds") Long[] itemIds);
List<TesterWorkloadStatsVO> selectTesterWorkloadStatus(@Param("vo") QueryDTO queryDTO); List<TesterWorkloadStatsVO> selectTesterWorkloadStats(@Param("vo") QueryDTO queryDTO);
@SqlParser(filter = true) @SqlParser(filter = true)
List<LmsUserRelGroupVO> selectAllPersonWorkload(RowBounds rowBounds, @Param("rel") LmsUserRelGroup lmsUserRelGroup); List<LmsUserRelGroupVO> selectAllPersonWorkload(RowBounds rowBounds, @Param("rel") LmsUserRelGroup lmsUserRelGroup);
......
...@@ -3,6 +3,7 @@ package com.patzn.cloud.service.lims.hmhj.service; ...@@ -3,6 +3,7 @@ package com.patzn.cloud.service.lims.hmhj.service;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.controller.Account; import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.IBaseService; import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.base.entity.SysOrg;
import com.patzn.cloud.service.hmhj.entity.ClientInfo; import com.patzn.cloud.service.hmhj.entity.ClientInfo;
import java.util.List; import java.util.List;
...@@ -20,7 +21,7 @@ public interface IClientInfoService extends IBaseService<ClientInfo> { ...@@ -20,7 +21,7 @@ public interface IClientInfoService extends IBaseService<ClientInfo> {
boolean removeByIds(List<Long> ids); boolean removeByIds(List<Long> ids);
List<ClientInfo> listClient(ClientInfo clientInfo, Account account); ClientInfo getClientInfo(Account account);
Map<String, Object> getClientAbout(Account account); Map<String, Object> getClientAbout(Account account);
......
...@@ -105,4 +105,5 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte ...@@ -105,4 +105,5 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte
boolean removeSamplesItem(Long[] sampleIds, String itemName); boolean removeSamplesItem(Long[] sampleIds, String itemName);
boolean revokeDeletedItems(Long[] sampleIds); boolean revokeDeletedItems(Long[] sampleIds);
} }
package com.patzn.cloud.service.lims.hmhj.service; package com.patzn.cloud.service.lims.hmhj.service;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.IBaseService; import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.hmhj.entity.Material; import com.patzn.cloud.service.hmhj.entity.Material;
...@@ -16,5 +18,9 @@ public interface IMaterialService extends IBaseService<Material> { ...@@ -16,5 +18,9 @@ public interface IMaterialService extends IBaseService<Material> {
Page<Material> page(Page<Material> page, Material material); Page<Material> page(Page<Material> page, Material material);
Page<Material> page(Page<Material> page, Material material, Wrapper<Material> materialWrapper);
boolean removeByIds(List<Long> ids); boolean removeByIds(List<Long> ids);
Page<Material> pageMaterial(Page<Material> page, Material material, Account account);
} }
...@@ -39,6 +39,9 @@ public class BusinessDataServiceImpl extends BaseServiceImpl<BusinessDataMapper, ...@@ -39,6 +39,9 @@ public class BusinessDataServiceImpl extends BaseServiceImpl<BusinessDataMapper,
@Override @Override
public List<BusinessData> list(BusinessData businessData) { public List<BusinessData> list(BusinessData businessData) {
if (null == businessData.getBizId()) {
return null;
}
Wrapper<BusinessData> wrapper = new EntityWrapper<>(businessData); Wrapper<BusinessData> wrapper = new EntityWrapper<>(businessData);
return baseMapper.selectList(wrapper); return baseMapper.selectList(wrapper);
} }
......
...@@ -39,6 +39,9 @@ public class BusinessStaffServiceImpl extends BaseServiceImpl<BusinessStaffMappe ...@@ -39,6 +39,9 @@ public class BusinessStaffServiceImpl extends BaseServiceImpl<BusinessStaffMappe
@Override @Override
public List<BusinessStaff> listData(BusinessStaff businessStaff) { public List<BusinessStaff> listData(BusinessStaff businessStaff) {
if (null == businessStaff.getBizId()) {
return null;
}
Wrapper<BusinessStaff> wrapper = new EntityWrapper<>(businessStaff); Wrapper<BusinessStaff> wrapper = new EntityWrapper<>(businessStaff);
return baseMapper.selectList(wrapper); return baseMapper.selectList(wrapper);
} }
......
...@@ -2,27 +2,24 @@ package com.patzn.cloud.service.lims.hmhj.service.impl; ...@@ -2,27 +2,24 @@ package com.patzn.cloud.service.lims.hmhj.service.impl;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.mapper.Condition; import com.baomidou.mybatisplus.mapper.Condition;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.toolkit.CollectionUtils; import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.patzn.cloud.commons.api.RestAssert; import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account; import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.exception.PatznException; import com.patzn.cloud.commons.exception.PatznException;
import com.patzn.cloud.feign.base.client.SysOrgClient; import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.base.entity.SysOrg; import com.patzn.cloud.service.base.entity.SysOrg;
import com.patzn.cloud.service.base.entity.SysUser; import com.patzn.cloud.service.base.entity.SysUser;
import com.patzn.cloud.service.hmhj.entity.ClientInfo; import com.patzn.cloud.service.hmhj.entity.ClientInfo;
import com.patzn.cloud.service.hmhj.entity.ClientTestSide; import com.patzn.cloud.service.hmhj.entity.ClientTestSide;
import com.patzn.cloud.service.lims.common.StringHandleUtils;
import com.patzn.cloud.service.lims.hmhj.mapper.ClientInfoMapper; import com.patzn.cloud.service.lims.hmhj.mapper.ClientInfoMapper;
import com.patzn.cloud.service.lims.hmhj.service.IClientInfoService; import com.patzn.cloud.service.lims.hmhj.service.IClientInfoService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.lims.hmhj.service.IClientTestSideService; import com.patzn.cloud.service.lims.hmhj.service.IClientTestSideService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.checkerframework.checker.units.qual.Acceleration;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -57,24 +54,26 @@ public class ClientInfoServiceImpl extends BaseServiceImpl<ClientInfoMapper, Cli ...@@ -57,24 +54,26 @@ public class ClientInfoServiceImpl extends BaseServiceImpl<ClientInfoMapper, Cli
} }
@Override @Override
public List<ClientInfo> listClient(ClientInfo clientInfo, Account account) { public ClientInfo getClientInfo(Account account) {
SysOrg sysOrg = userInfoService.getUserOrg(account); SysOrg sysOrg = userInfoService.getUserOrg(account);
RestAssert.fail(null == sysOrg, "用户组织为空"); if (null == sysOrg) {
return list(Condition.create().eq("org_id", sysOrg.getId())); return null;
}
List<ClientInfo> list = list(Condition.create().eq("org_id", sysOrg.getId()));
return CollectionUtils.isNotEmpty(list) ? list.get(0) : null;
} }
@Override @Override
public Map<String, Object> getClientAbout(Account account) { public Map<String, Object> getClientAbout(Account account) {
List<ClientInfo> clientInfoList = listClient(null, account);
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
SysOrg sysOrg = userInfoService.getUserOrg(account);
result.put("client", sysOrg);
ClientInfo clientInfo = getClientInfo(account);
// 为空或者大于1,直接返回,不对数据进行处理 // 为空或者大于1,直接返回,不对数据进行处理
if (CollectionUtils.isEmpty(clientInfoList) || clientInfoList.size() > 1) { if (null == clientInfo) {
result.put("clients", clientInfoList);
return result; return result;
} }
ClientInfo clientInfo = clientInfoList.get(0); result.put("clientInfo", clientInfo);
// 前端直接判断有无 client 即可
result.put("client", clientInfo);
// 检测单位信息 // 检测单位信息
List<ClientTestSide> clientTestSides = clientTestSideService.listByClientId(clientInfo.getId()); List<ClientTestSide> clientTestSides = clientTestSideService.listByClientId(clientInfo.getId());
if (CollectionUtils.isEmpty(clientTestSides) || clientTestSides.size() > 1) { if (CollectionUtils.isEmpty(clientTestSides) || clientTestSides.size() > 1) {
......
...@@ -925,6 +925,21 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -925,6 +925,21 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
} }
} }
public Double getValue(Map<String, Double> dataMap, String name) {
for (Map.Entry<String, Double> entry : dataMap.entrySet()) {
// key = itemName##indexName,先对比指标名称,若不存在再对比检测项目名称
String[] keyArr = entry.getKey().split("##");
if (keyArr[1].equalsIgnoreCase(name) || keyArr[0].equalsIgnoreCase(name)) {
return entry.getValue();
}
}
return null;
}
public boolean contains(Map<String, Double> dataMap, String name) {
return null != getValue(dataMap, name);
}
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean updateQualityJudge(Long[] ids, Account account) { public boolean updateQualityJudge(Long[] ids, Account account) {
...@@ -980,7 +995,16 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -980,7 +995,16 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
// 杂质合计值修约 // 杂质合计值修约
double totalValue = totalDecimal.setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); double totalValue = totalDecimal.setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
// 获取检测项目值对象 // 获取检测项目值对象
Map<String, Double> itemDataMap = sampleItemList.stream().collect(Collectors.toMap(EntrustSampleItemVO::getName, t -> Double.parseDouble(t.getTestValue()))); Map<String, Double> itemDataMap = sampleItemList.stream().filter(t -> {
// 如果检测项目为空气反应性或者是CO2反应性,则只比较残极率
// 非残极率过滤掉
String[] nameArr = t.getName().split("##");
String itemName = nameArr[0], indexName = nameArr[1];
if ((itemName.contains("空气反应性") || itemName.contains("CO2反应性")) && !indexName.contains("残极率")) {
return false;
}
return true;
}).collect(Collectors.toMap(EntrustSampleItemVO::getName, t -> Double.parseDouble(t.getTestValue())));
// 获得产品等级信息 // 获得产品等级信息
List<GradingProduct> gradingProductList = gradingProductService.list(Condition.create() List<GradingProduct> gradingProductList = gradingProductService.list(Condition.create()
...@@ -988,6 +1012,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -988,6 +1012,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
// 依旧优先级来处理判定顺序 // 依旧优先级来处理判定顺序
.orderBy("judge_priority", true)); .orderBy("judge_priority", true));
RestAssert.fail(CollectionUtils.isEmpty(gradingProductList), "产品标准不能为空"); RestAssert.fail(CollectionUtils.isEmpty(gradingProductList), "产品标准不能为空");
// 循环产品标准依次判定级别 // 循环产品标准依次判定级别
...@@ -998,7 +1023,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -998,7 +1023,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
GradingProduct product = gradingProductList.get(i); GradingProduct product = gradingProductList.get(i);
// 比较单个大小是否都符合 // 比较单个大小是否都符合
List<GradingItem> gradingItemList = gradingItemService.list(Condition.create().eq("grading_product_id", product.getId())); List<GradingItem> gradingItemList = gradingItemService.list(Condition.create().eq("grading_product_id", product.getId()).isNotNull("limit_value"));
RestAssert.fail(CollectionUtils.isEmpty(gradingItemList), "产品等级【" + product.getProductGrade() + "】下的检测项目为空"); RestAssert.fail(CollectionUtils.isEmpty(gradingItemList), "产品等级【" + product.getProductGrade() + "】下的检测项目为空");
// 若存在 // 若存在
gradingItemList.forEach(t -> { gradingItemList.forEach(t -> {
...@@ -1007,20 +1032,18 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -1007,20 +1032,18 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
}); });
// 过滤 只要名称包含 // 过滤 只要名称包含
List<GradingItem> gradingItems = gradingItemList.stream().filter(t -> { List<GradingItem> gradingItems = gradingItemList.stream().filter(t -> {
// // 不包含的检测项目,过滤掉
for (Map.Entry<String, Double> entry : itemDataMap.entrySet()) { if (!contains(itemDataMap, t.getName()) || StringUtils.isBlank(t.getLimitValue())) {
if (entry.getKey().contains(t.getName()) && StringUtils.isNotBlank(t.getLimitValue())) { return false;
return true;
}
} }
return false; return true;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
RestAssert.fail(CollectionUtils.isEmpty(gradingItems), "样品下设定组合判定的检测项目不存在"); RestAssert.fail(CollectionUtils.isEmpty(gradingItems), "产品等级【" + product.getProductGrade() + "】下的检测项目过滤后为空");
// 若失败,则进入下一判级 // 若失败,则进入下一判级
if (gradingItems.stream().anyMatch(t -> { if (gradingItems.stream().anyMatch(t -> {
// 获取填写检测值 // 获取填写检测值
double testValue = itemDataMap.get(t.getName()); double testValue = getValue(itemDataMap, t.getName());
// 若不包含正常的比较符,那么则为区间比较符 // 若不包含正常的比较符,那么则为区间比较符
if (!CompareUtils.Comparator.containsKey(t.getDecisionSymbol())) { if (!CompareUtils.Comparator.containsKey(t.getDecisionSymbol())) {
String[] dataArr = t.getLimitValue().split(","); String[] dataArr = t.getLimitValue().split(",");
...@@ -1110,7 +1133,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -1110,7 +1133,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
@Override @Override
public List<TesterWorkloadStatsVO> getTesterWorkloadStatusQuery(QueryDTO queryDTO) { public List<TesterWorkloadStatsVO> getTesterWorkloadStatusQuery(QueryDTO queryDTO) {
return baseMapper.selectTesterWorkloadStatus(queryDTO); return baseMapper.selectTesterWorkloadStats(queryDTO);
} }
@Override @Override
......
package com.patzn.cloud.service.lims.hmhj.service.impl; package com.patzn.cloud.service.lims.hmhj.service.impl;
import com.baomidou.mybatisplus.mapper.Condition; import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.controller.LoginHelper;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.hmhj.entity.Material; import com.patzn.cloud.service.hmhj.entity.Material;
import com.patzn.cloud.service.lims.hmhj.mapper.MaterialMapper; import com.patzn.cloud.service.lims.hmhj.mapper.MaterialMapper;
import com.patzn.cloud.service.lims.hmhj.service.IMaterialService; import com.patzn.cloud.service.lims.hmhj.service.IMaterialService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import java.util.List; import java.util.List;
...@@ -24,11 +25,19 @@ public class MaterialServiceImpl extends BaseServiceImpl<MaterialMapper, Materia ...@@ -24,11 +25,19 @@ public class MaterialServiceImpl extends BaseServiceImpl<MaterialMapper, Materia
@Override @Override
public Page<Material> page(Page<Material> page, Material material) { public Page<Material> page(Page<Material> page, Material material) {
return this.page(page, material, null);
}
@Override
public Page<Material> page(Page<Material> page, Material material, Wrapper<Material> materialWrapper) {
String name = material.getName(); String name = material.getName();
String code = material.getCode(); String code = material.getCode();
String supplier = material.getSupplier(); String supplier = material.getSupplier();
material.setCode(null).setName(null).setSupplier(null); material.setCode(null).setName(null).setSupplier(null);
Wrapper wrapper = new EntityWrapper<>(material); Wrapper wrapper = new EntityWrapper<>(material);
if (null != materialWrapper) {
wrapper = materialWrapper;
}
if (StringUtils.isNotBlank(name)) { if (StringUtils.isNotBlank(name)) {
wrapper.like("name", name); wrapper.like("name", name);
} }
...@@ -45,4 +54,11 @@ public class MaterialServiceImpl extends BaseServiceImpl<MaterialMapper, Materia ...@@ -45,4 +54,11 @@ public class MaterialServiceImpl extends BaseServiceImpl<MaterialMapper, Materia
public boolean removeByIds(List<Long> ids) { public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0; return baseMapper.deleteBatchIds(ids) > 0;
} }
@Override
public Page<Material> pageMaterial(Page<Material> page, Material material,Account account) {
Wrapper<Material> wrapper = new EntityWrapper<>(material);
wrapper.exists("select 1 from business_staff s where s.deleted = 0 and s.biz_id = material.id and s.biz_type = 'ASSIGNOR' and s.staff_id = " + account.getUserId());
return page(page, material, wrapper);
}
} }
...@@ -10,8 +10,6 @@ import com.patzn.cloud.feign.base.client.SysUserClient; ...@@ -10,8 +10,6 @@ import com.patzn.cloud.feign.base.client.SysUserClient;
import com.patzn.cloud.feign.lims.base.client.LmsUserGroupClient; import com.patzn.cloud.feign.lims.base.client.LmsUserGroupClient;
import com.patzn.cloud.service.base.entity.SysOrg; import com.patzn.cloud.service.base.entity.SysOrg;
import com.patzn.cloud.service.base.entity.SysUser; import com.patzn.cloud.service.base.entity.SysUser;
import com.patzn.cloud.service.base.entity.SysUserRelRole;
import com.patzn.cloud.service.base.vo.SysOrgVO;
import com.patzn.cloud.service.hmhj.entity.Entrust; import com.patzn.cloud.service.hmhj.entity.Entrust;
import com.patzn.cloud.service.lims.base.entity.LmsUserGroup; import com.patzn.cloud.service.lims.base.entity.LmsUserGroup;
import com.patzn.cloud.service.lims.hmhj.service.IEntrustService; import com.patzn.cloud.service.lims.hmhj.service.IEntrustService;
...@@ -92,6 +90,10 @@ public class UserInfoServiceImpl { ...@@ -92,6 +90,10 @@ public class UserInfoServiceImpl {
return userGroups.stream().anyMatch(t -> entrust.getTestSide().equals(t.getName())); return userGroups.stream().anyMatch(t -> entrust.getTestSide().equals(t.getName()));
} }
public List<SysOrg> getUserOrgList(Account account) {
return sysOrgClient.getListByUserId(account.getUserId()).getData();
}
public SysOrg getUserOrg(Account account) { public SysOrg getUserOrg(Account account) {
List<SysOrg> orgList = sysOrgClient.getListByUserId(account.getUserId()).getData(); List<SysOrg> orgList = sysOrgClient.getListByUserId(account.getUserId()).getData();
return CollectionUtils.isNotEmpty(orgList) ? orgList.get(0) : null; return CollectionUtils.isNotEmpty(orgList) ? orgList.get(0) : null;
...@@ -107,4 +109,12 @@ public class UserInfoServiceImpl { ...@@ -107,4 +109,12 @@ public class UserInfoServiceImpl {
return sysUserClient.getListByRoleName(roleName).serviceData(); return sysUserClient.getListByRoleName(roleName).serviceData();
} }
public SysUser getUserById(Long userId) {
return sysUserClient.get(userId).serviceData();
}
public SysUser getCurUser() {
return getUserById(LoginHelper.getAccount().getUserId());
}
} }
...@@ -22,7 +22,19 @@ ...@@ -22,7 +22,19 @@
<if test="null!=vo.flowStatus"> <if test="null!=vo.flowStatus">
AND e.flow_status = #{vo.flowStatus} AND e.flow_status = #{vo.flowStatus}
</if> </if>
<if test="null != vo.uid"> <if test="null != vo.isSelf and true == vo.isSelf">
AND (
e.uid = #{vo.uid} or
exists (
select 1 from business_staff s
where s.deleted = 0
and s.biz_id = e.material_id
and s.biz_type = 'REPORT_RECIPIENT'
and s.staff_id = #{vo.uid}
)
)
</if>
<if test="null == vo.isSelf and null != vo.uid">
AND e.uid = #{vo.uid} AND e.uid = #{vo.uid}
</if> </if>
...@@ -76,11 +88,8 @@ ...@@ -76,11 +88,8 @@
</select> </select>
<select id="selectEntrustSampleReceive" resultType="com.patzn.cloud.service.hmhj.vo.EntrustVO"> <select id="selectEntrustSampleReceive" resultType="com.patzn.cloud.service.hmhj.vo.EntrustVO">
SELECT e.*,s.sample_name SELECT e.*
FROM entrust e FROM entrust e
LEFT JOIN (
select s.entrust_id, max(s.name) "sample_name" from entrust_sample s where s.deleted = 0 and s.type = 0 group by s.entrust_id
) s on s.entrust_id = e.id
WHERE e.deleted = 0 WHERE e.deleted = 0
<include refid="basicCondition"/> <include refid="basicCondition"/>
<if test="null != vo.prepareStatus"> <if test="null != vo.prepareStatus">
...@@ -105,11 +114,8 @@ ...@@ -105,11 +114,8 @@
<select id="selectVOList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustVO"> <select id="selectVOList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustVO">
SELECT e.*,s.sample_name SELECT e.*
FROM entrust e FROM entrust e
LEFT JOIN (
select s.entrust_id, max(s.name) "sample_name" from entrust_sample s where s.deleted = 0 and s.type = 0 group by s.entrust_id
) s on s.entrust_id = e.id
WHERE e.deleted = 0 WHERE e.deleted = 0
<include refid="basicCondition"/> <include refid="basicCondition"/>
...@@ -117,6 +123,9 @@ ...@@ -117,6 +123,9 @@
AND exists ( AND exists (
select 1 from entrust_sample s where s.deleted = 0 select 1 from entrust_sample s where s.deleted = 0
and s.entrust_id = e.id and s.type = 0 and s.status = #{vo.sampleStatus} and s.entrust_id = e.id and s.type = 0 and s.status = #{vo.sampleStatus}
<if test="null != vo.judgeStatus">
and s.judge_status = #{vo.judgeStatus}
</if>
<if test="null != vo.judgeStatusList"> <if test="null != vo.judgeStatusList">
and s.judge_status IN and s.judge_status IN
<foreach collection="vo.judgeStatusList" index="index" item="judgeStatus" open="(" separator="," close=")"> <foreach collection="vo.judgeStatusList" index="index" item="judgeStatus" open="(" separator="," close=")">
...@@ -196,15 +205,9 @@ ...@@ -196,15 +205,9 @@
<select id="selectVOListByItem" resultType="com.patzn.cloud.service.hmhj.vo.EntrustVO"> <select id="selectVOListByItem" resultType="com.patzn.cloud.service.hmhj.vo.EntrustVO">
SELECT SELECT
e.*,s.sample_name e.*
FROM entrust e FROM entrust e
left join ( WHERE e.deleted = 0
select s.company_id,s.entrust_id,max(s.name) "sample_name"
from entrust_sample s where s.deleted = 0
and s.type = 0
group by s.company_id, s.entrust_id
) s on s.entrust_id = e.id
WHERE e.deleted = 0 and s.entrust_id = e.id
<include refid="basicCondition"/> <include refid="basicCondition"/>
<if test="null!=vo.itemStatus"> <if test="null!=vo.itemStatus">
...@@ -244,10 +247,10 @@ ...@@ -244,10 +247,10 @@
<select id="selectEntrustProgressList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustVO"> <select id="selectEntrustProgressList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustVO">
SELECT id,code,client,client_tel,entrust_time,assignor,test_side,status,progress, SELECT id,code,client,client_tel,entrust_time,assignor,test_side,status,progress,
s.name "sample_name",s."sample_num" s."sample_num"
FROM entrust e FROM entrust e
left join (select s.entrust_id,s.name,count(1) "sample_num" from entrust_sample s left join (select s.entrust_id,count(1) "sample_num" from entrust_sample s
where s.deleted = 0 group by s.entrust_id, s.name where s.deleted = 0 group by s.entrust_id
) s on s.entrust_id = e.id ) s on s.entrust_id = e.id
WHERE deleted = 0 WHERE deleted = 0
......
...@@ -461,7 +461,7 @@ ...@@ -461,7 +461,7 @@
</if> </if>
</select> </select>
<!-- 检测人员工作量统计查询 --> <!-- 检测人员工作量统计查询 -->
<select id="selectTesterWorkloadStatus" resultType="com.patzn.cloud.service.hmhj.vo.TesterWorkloadStatsVO"> <select id="selectTesterWorkloadStats" resultType="com.patzn.cloud.service.hmhj.vo.TesterWorkloadStatsVO">
select select
i.tester_id, i.tester_id,
i.tester, i.tester,
...@@ -661,7 +661,9 @@ ...@@ -661,7 +661,9 @@
<!--旨在质量判定时统一结构使用,其他位置勿用--> <!--旨在质量判定时统一结构使用,其他位置勿用-->
<select id="listIndexReplaceItemBySampleId" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO"> <select id="listIndexReplaceItemBySampleId" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO">
select ii.*, select
i.name || '##'|| ii.name "name",
ii.*,
i.compose_judge, i.compose_judge,
s.code "sample_code", s.code "sample_code",
s.entrust_id s.entrust_id
......
/** add by meazty on 2021/08/07 13:54 **/
/** add by meazty on 2021/08/07 13:54 **/
ALTER TABLE "public"."material"
ALTER COLUMN "urgent_report_time" int4;
COMMENT ON COLUMN "public"."material"."urgent_report_time" IS '加急拿报告时间(分钟)';
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment