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;
import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.patzn.cloud.service.hmhj.enums.*;
import com.patzn.cloud.service.lims.common.consts.Symbol;
import org.apache.commons.lang3.StringUtils;
import java.util.Arrays;
......@@ -11,7 +12,7 @@ import java.util.List;
* 委托流程控制(状态控制)
*/
public class EntrustFlowUtils {
public static final String SEQ = "->";
public static final String SEQ = Symbol.FORWARD;
public static List<String> getFlowStatusList(String 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 {
}
@ApiOperation("获取委托单位列表")
@PostMapping("/list")
public RestResult<List<ClientInfo>> getList(ClientInfo clientInfo) {
return success(clientInfoService.listClient(clientInfo, getAccount()));
@PostMapping("/info")
public RestResult<ClientInfo> getInfo() {
return success(clientInfoService.getClientInfo(getAccount()));
}
@ApiOperation("获取委托单位及相关信息")
......
......@@ -21,11 +21,9 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.xml.transform.Result;
import java.util.List;
import java.util.Map;
......
......@@ -50,9 +50,21 @@ public class MaterialController extends ServiceController {
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page")
public RestResult<Page<Material>> getPage(Material material) {
public RestResult<Page<Material>> getPage(Material 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 信息")
@ApiImplicitParams({
......@@ -68,24 +80,24 @@ public class MaterialController extends ServiceController {
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@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);
return success(materialService.updateById(material));
}
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(Material material) {
public RestResult<Boolean> add(Material material) {
return success(materialService.save(material));
}
}
@ApiOperation("根据 ids 删除")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
})
@DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
@DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(materialService.removeByIds(ids));
}
}
}
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.patzn.cloud.commons.api.RestConstants;
import com.patzn.cloud.commons.api.RestResult;
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.lims.hmhj.service.ITransformerService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
......@@ -38,15 +30,18 @@ public class TransformerController extends ServiceController {
@Autowired
private ITransformerService transformerService;
@Autowired
private SysUserClient sysUserClient;
@ApiOperation("分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
})
@PostMapping("/page")
public RestResult<Page<Transformer>> getPage(Transformer transformer) {
public RestResult<Page<Transformer>> getPage(Transformer transformer) {
return success(transformerService.page(getPage(), transformer));
}
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
......@@ -62,23 +57,24 @@ public class TransformerController extends ServiceController {
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@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);
return success(transformerService.updateById(transformer));
}
}
@ApiOperation("添加")
@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));
}
}
@ApiOperation("根据 ids 删除")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
})
@DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
@DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(transformerService.removeByIds(ids));
}
}
}
......@@ -54,7 +54,7 @@ public interface EntrustSampleItemMapper extends BatchMapper<EntrustSampleItem>
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)
List<LmsUserRelGroupVO> selectAllPersonWorkload(RowBounds rowBounds, @Param("rel") LmsUserRelGroup lmsUserRelGroup);
......
......@@ -3,6 +3,7 @@ package com.patzn.cloud.service.lims.hmhj.service;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.base.entity.SysOrg;
import com.patzn.cloud.service.hmhj.entity.ClientInfo;
import java.util.List;
......@@ -20,7 +21,7 @@ public interface IClientInfoService extends IBaseService<ClientInfo> {
boolean removeByIds(List<Long> ids);
List<ClientInfo> listClient(ClientInfo clientInfo, Account account);
ClientInfo getClientInfo(Account account);
Map<String, Object> getClientAbout(Account account);
......
......@@ -105,4 +105,5 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte
boolean removeSamplesItem(Long[] sampleIds, String itemName);
boolean revokeDeletedItems(Long[] sampleIds);
}
package com.patzn.cloud.service.lims.hmhj.service;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.hmhj.entity.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, Wrapper<Material> materialWrapper);
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,
@Override
public List<BusinessData> list(BusinessData businessData) {
if (null == businessData.getBizId()) {
return null;
}
Wrapper<BusinessData> wrapper = new EntityWrapper<>(businessData);
return baseMapper.selectList(wrapper);
}
......
......@@ -39,6 +39,9 @@ public class BusinessStaffServiceImpl extends BaseServiceImpl<BusinessStaffMappe
@Override
public List<BusinessStaff> listData(BusinessStaff businessStaff) {
if (null == businessStaff.getBizId()) {
return null;
}
Wrapper<BusinessStaff> wrapper = new EntityWrapper<>(businessStaff);
return baseMapper.selectList(wrapper);
}
......
......@@ -2,27 +2,24 @@ package com.patzn.cloud.service.lims.hmhj.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.mapper.Condition;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.exception.PatznException;
import com.patzn.cloud.feign.base.client.SysOrgClient;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.base.entity.SysOrg;
import com.patzn.cloud.service.base.entity.SysUser;
import com.patzn.cloud.service.hmhj.entity.ClientInfo;
import com.patzn.cloud.service.hmhj.entity.ClientTestSide;
import com.patzn.cloud.service.lims.common.StringHandleUtils;
import com.patzn.cloud.service.lims.hmhj.mapper.ClientInfoMapper;
import com.patzn.cloud.service.lims.hmhj.service.IClientInfoService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.lims.hmhj.service.IClientTestSideService;
import org.apache.commons.lang3.StringUtils;
import org.checkerframework.checker.units.qual.Acceleration;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import java.util.HashMap;
import java.util.List;
......@@ -57,24 +54,26 @@ public class ClientInfoServiceImpl extends BaseServiceImpl<ClientInfoMapper, Cli
}
@Override
public List<ClientInfo> listClient(ClientInfo clientInfo, Account account) {
public ClientInfo getClientInfo(Account account) {
SysOrg sysOrg = userInfoService.getUserOrg(account);
RestAssert.fail(null == sysOrg, "用户组织为空");
return list(Condition.create().eq("org_id", sysOrg.getId()));
if (null == sysOrg) {
return null;
}
List<ClientInfo> list = list(Condition.create().eq("org_id", sysOrg.getId()));
return CollectionUtils.isNotEmpty(list) ? list.get(0) : null;
}
@Override
public Map<String, Object> getClientAbout(Account account) {
List<ClientInfo> clientInfoList = listClient(null, account);
Map<String, Object> result = new HashMap<>();
SysOrg sysOrg = userInfoService.getUserOrg(account);
result.put("client", sysOrg);
ClientInfo clientInfo = getClientInfo(account);
// 为空或者大于1,直接返回,不对数据进行处理
if (CollectionUtils.isEmpty(clientInfoList) || clientInfoList.size() > 1) {
result.put("clients", clientInfoList);
if (null == clientInfo) {
return result;
}
ClientInfo clientInfo = clientInfoList.get(0);
// 前端直接判断有无 client 即可
result.put("client", clientInfo);
result.put("clientInfo", clientInfo);
// 检测单位信息
List<ClientTestSide> clientTestSides = clientTestSideService.listByClientId(clientInfo.getId());
if (CollectionUtils.isEmpty(clientTestSides) || clientTestSides.size() > 1) {
......
......@@ -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)
@Override
public boolean updateQualityJudge(Long[] ids, Account account) {
......@@ -980,7 +995,16 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
// 杂质合计值修约
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()
......@@ -988,6 +1012,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
// 依旧优先级来处理判定顺序
.orderBy("judge_priority", true));
RestAssert.fail(CollectionUtils.isEmpty(gradingProductList), "产品标准不能为空");
// 循环产品标准依次判定级别
......@@ -998,7 +1023,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
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() + "】下的检测项目为空");
// 若存在
gradingItemList.forEach(t -> {
......@@ -1007,20 +1032,18 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
});
// 过滤 只要名称包含
List<GradingItem> gradingItems = gradingItemList.stream().filter(t -> {
//
for (Map.Entry<String, Double> entry : itemDataMap.entrySet()) {
if (entry.getKey().contains(t.getName()) && StringUtils.isNotBlank(t.getLimitValue())) {
return true;
}
// 不包含的检测项目,过滤掉
if (!contains(itemDataMap, t.getName()) || StringUtils.isBlank(t.getLimitValue())) {
return false;
}
return false;
return true;
}).collect(Collectors.toList());
RestAssert.fail(CollectionUtils.isEmpty(gradingItems), "样品下设定组合判定的检测项目不存在");
RestAssert.fail(CollectionUtils.isEmpty(gradingItems), "产品等级【" + product.getProductGrade() + "】下的检测项目过滤后为空");
// 若失败,则进入下一判级
if (gradingItems.stream().anyMatch(t -> {
// 获取填写检测值
double testValue = itemDataMap.get(t.getName());
double testValue = getValue(itemDataMap, t.getName());
// 若不包含正常的比较符,那么则为区间比较符
if (!CompareUtils.Comparator.containsKey(t.getDecisionSymbol())) {
String[] dataArr = t.getLimitValue().split(",");
......@@ -1110,7 +1133,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
@Override
public List<TesterWorkloadStatsVO> getTesterWorkloadStatusQuery(QueryDTO queryDTO) {
return baseMapper.selectTesterWorkloadStatus(queryDTO);
return baseMapper.selectTesterWorkloadStats(queryDTO);
}
@Override
......
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.lims.hmhj.mapper.MaterialMapper;
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.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;
......@@ -24,11 +25,19 @@ public class MaterialServiceImpl extends BaseServiceImpl<MaterialMapper, Materia
@Override
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 code = material.getCode();
String supplier = material.getSupplier();
material.setCode(null).setName(null).setSupplier(null);
Wrapper wrapper = new EntityWrapper<>(material);
if (null != materialWrapper) {
wrapper = materialWrapper;
}
if (StringUtils.isNotBlank(name)) {
wrapper.like("name", name);
}
......@@ -45,4 +54,11 @@ public class MaterialServiceImpl extends BaseServiceImpl<MaterialMapper, Materia
public boolean removeByIds(List<Long> ids) {
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;
import com.patzn.cloud.feign.lims.base.client.LmsUserGroupClient;
import com.patzn.cloud.service.base.entity.SysOrg;
import com.patzn.cloud.service.base.entity.SysUser;
import com.patzn.cloud.service.base.entity.SysUserRelRole;
import com.patzn.cloud.service.base.vo.SysOrgVO;
import com.patzn.cloud.service.hmhj.entity.Entrust;
import com.patzn.cloud.service.lims.base.entity.LmsUserGroup;
import com.patzn.cloud.service.lims.hmhj.service.IEntrustService;
......@@ -92,6 +90,10 @@ public class UserInfoServiceImpl {
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) {
List<SysOrg> orgList = sysOrgClient.getListByUserId(account.getUserId()).getData();
return CollectionUtils.isNotEmpty(orgList) ? orgList.get(0) : null;
......@@ -107,4 +109,12 @@ public class UserInfoServiceImpl {
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 @@
<if test="null!=vo.flowStatus">
AND e.flow_status = #{vo.flowStatus}
</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}
</if>
......@@ -76,11 +88,8 @@
</select>
<select id="selectEntrustSampleReceive" resultType="com.patzn.cloud.service.hmhj.vo.EntrustVO">
SELECT e.*,s.sample_name
SELECT 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
<include refid="basicCondition"/>
<if test="null != vo.prepareStatus">
......@@ -105,11 +114,8 @@
<select id="selectVOList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustVO">
SELECT e.*,s.sample_name
SELECT 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
<include refid="basicCondition"/>
......@@ -117,6 +123,9 @@
AND exists (
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}
<if test="null != vo.judgeStatus">
and s.judge_status = #{vo.judgeStatus}
</if>
<if test="null != vo.judgeStatusList">
and s.judge_status IN
<foreach collection="vo.judgeStatusList" index="index" item="judgeStatus" open="(" separator="," close=")">
......@@ -196,15 +205,9 @@
<select id="selectVOListByItem" resultType="com.patzn.cloud.service.hmhj.vo.EntrustVO">
SELECT
e.*,s.sample_name
e.*
FROM entrust e
left join (
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
WHERE e.deleted = 0
<include refid="basicCondition"/>
<if test="null!=vo.itemStatus">
......@@ -244,10 +247,10 @@
<select id="selectEntrustProgressList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustVO">
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
left join (select s.entrust_id,s.name,count(1) "sample_num" from entrust_sample s
where s.deleted = 0 group by s.entrust_id, s.name
left join (select s.entrust_id,count(1) "sample_num" from entrust_sample s
where s.deleted = 0 group by s.entrust_id
) s on s.entrust_id = e.id
WHERE deleted = 0
......
......@@ -461,7 +461,7 @@
</if>
</select>
<!-- 检测人员工作量统计查询 -->
<select id="selectTesterWorkloadStatus" resultType="com.patzn.cloud.service.hmhj.vo.TesterWorkloadStatsVO">
<select id="selectTesterWorkloadStats" resultType="com.patzn.cloud.service.hmhj.vo.TesterWorkloadStatsVO">
select
i.tester_id,
i.tester,
......@@ -661,7 +661,9 @@
<!--旨在质量判定时统一结构使用,其他位置勿用-->
<select id="listIndexReplaceItemBySampleId" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO">
select ii.*,
select
i.name || '##'|| ii.name "name",
ii.*,
i.compose_judge,
s.code "sample_code",
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