Commit 7b95a371 by wangweidong

完善烟草demo

parent 1655b7bf
package com.patzn.lims.Thread;
public class SampleKeepThread {
}
......@@ -91,6 +91,25 @@ public class StringHandleUtils {
return StringUtils.isEmpty(result) ? "" : result.deleteCharAt(result.toString().length() - 1).toString();
}
public static String joinNormal(Collection<String> collection, String sep) {
if (CollectionUtils.isEmpty(collection)) {
return "";
}
if (StringUtils.isEmpty(sep)) {
sep = ",";
}
StringBuffer result = new StringBuffer();
// 给内容去重
Set<String> sets = Sets.newLinkedHashSet(collection);
for (String s : sets) {
result.append(s).append(sep);
}
return StringUtils.isEmpty(result) ? "" : result.toString();
}
public static String joinLong(Collection<Long> collection, String sep) {
if (CollectionUtils.isEmpty(collection)) {
return "";
......
package com.patzn.lims.drug.entity;
import java.math.BigDecimal;
import java.util.Date;
import com.patzn.lims.core.bean.BaseEntity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.StringUtils;
/**
* <p>
* 检测值扩展表
* </p>
*
* @author wwd
* @since 2020-05-19
*/
@Data
@Accessors(chain = true)
@ApiModel
public class TestValueExtend extends BaseEntity {
@ApiModelProperty(value = "缺陷")
private String defect;
@ApiModelProperty(value = "缺陷类别")
private String type;
@ApiModelProperty(value = "缺陷代码")
private String code;
@ApiModelProperty(value = "数量")
private BigDecimal quantity;
@ApiModelProperty(value = "创建人ID")
@TableField(fill = FieldFill.INSERT)
private Long uid;
@ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
private Date ctime;
@ApiModelProperty(value = "最后修改人ID")
@TableField(fill = FieldFill.UPDATE)
private Long lid;
@ApiModelProperty(value = "最后修改时间")
@TableField(fill = FieldFill.UPDATE)
private Date ltime;
@ApiModelProperty(value = "是否删除0否1是")
@TableLogic
private Integer deleted;
@ApiModelProperty(value = "检测项目ID")
private Long itemId;
public String toDefectsString(){
StringBuffer sb = new StringBuffer();
if (StringUtils.isNotBlank(defect)){
sb.append("缺陷:"+defect).append(",");
}
if (StringUtils.isNotBlank(type)){
sb.append("类别:"+type).append(",");
}
if (StringUtils.isNotBlank(code)){
sb.append("代码:"+code).append(",");
}
if (null!=quantity){
sb.append("数量:"+quantity);
}
return sb.toString();
}
}
......@@ -6,10 +6,7 @@ import com.patzn.lims.common.StringHandleUtils;
import com.patzn.lims.core.api.PtAssert;
import com.patzn.lims.core.web.Account;
import com.patzn.lims.drug.dto.DrugItemRelEquipDTO;
import com.patzn.lims.drug.entity.DrugItem;
import com.patzn.lims.drug.entity.DrugItemAllocate;
import com.patzn.lims.drug.entity.DrugItemRelEquip;
import com.patzn.lims.drug.entity.DrugSample;
import com.patzn.lims.drug.entity.*;
import com.patzn.lims.drug.eunms.ItemStatusEnum;
import com.patzn.lims.drug.eunms.SampleStatusEnum;
import com.patzn.lims.drug.eunms.SingleJudgeEnum;
......@@ -49,6 +46,9 @@ public class DrugItemServiceImpl extends BaseServiceImpl<DrugItemMapper, DrugIte
@Autowired
private IDrugItemRelEquipService drugItemRelEquipService;
@Autowired
private ITestValueExtendService testValueExtendService;
// @Autowired
// private ISysMessageService sysMessageService;
......@@ -96,7 +96,38 @@ public class DrugItemServiceImpl extends BaseServiceImpl<DrugItemMapper, DrugIte
@Override
public Page<DrugItemVO> pageVO(Page page, DrugItemVO vo) {
return baseMapper.selectVOList(page,vo);
Page<DrugItemVO> voPage= baseMapper.selectVOList(page,vo);
List<DrugItemVO> list= voPage.getRecords();
if (CollectionUtils.isEmpty(list)){
return voPage;
}
List<Long> itemIds = list.stream().map(i->{
return i.getId();
}).collect(Collectors.toList());
List<TestValueExtend> testValueExtends = testValueExtendService.list(Wrappers.<TestValueExtend>query().in("item_id",itemIds));
Map<Long,Set<String>> extendsMap = new HashMap<>();
for (TestValueExtend extend:testValueExtends) {
if (extendsMap.containsKey(extend.getItemId())){
Set<String> set= extendsMap.get(extend.getItemId());
set.add(extend.toDefectsString());
extendsMap.put(extend.getItemId(),set);
}else{
Set<String> set= new HashSet<>();
set.add(extend.toDefectsString());
extendsMap.put(extend.getItemId(),set);
}
}
for (DrugItemVO itemVO:list) {
Set<String> setDef= extendsMap.get(itemVO.getId());
if (null!=setDef){
String des= StringHandleUtils.joinNormal(setDef,"\r\n");
itemVO.setDefects(des);
}
}
return voPage;
}
@Override
......@@ -125,11 +156,37 @@ public class DrugItemServiceImpl extends BaseServiceImpl<DrugItemMapper, DrugIte
}
}
List<TestValueExtend> testValueExtends = testValueExtendService.list(Wrappers.<TestValueExtend>query().in("item_id",itemIds));
Map<Long,Set<String>> extendsMap = new HashMap<>();
for (TestValueExtend extend:testValueExtends) {
if (extendsMap.containsKey(extend.getItemId())){
Set<String> set= extendsMap.get(extend.getItemId());
set.add(extend.toDefectsString());
extendsMap.put(extend.getItemId(),set);
}else{
Set<String> set= new HashSet<>();
set.add(extend.toDefectsString());
extendsMap.put(extend.getItemId(),set);
}
}
for (DrugItemVO itemVO:list) {
Set<String> set= equipMap.get(itemVO.getId());
if (null!=set){
itemVO.setEquipNames(StringHandleUtils.join(set));
}
Set<String> setDef= extendsMap.get(itemVO.getId());
if (null!=setDef){
String des= StringHandleUtils.joinNormal(setDef,"\r\n");
itemVO.setDefects(des);
}
}
voPage.setRecords(list);
return voPage;
......@@ -165,15 +222,35 @@ public class DrugItemServiceImpl extends BaseServiceImpl<DrugItemMapper, DrugIte
ObjectUtils.checkNull(itemIds);
List<DrugItem> itemList = list(Wrappers.<DrugItem>query().in("id",itemIds));
List<Long> blankIds = new ArrayList<>();
for (DrugItem item: itemList) {
PtAssert.fail(StringUtils.isBlank(item.getTestValue()),"检测项目"+item.getName()+"的检测值未填写");
//PtAssert.fail("检测项目"+item.getName()+"的检测值未填写");
if (StringUtils.isBlank(item.getTestValue())){
blankIds.add(item.getId());
}
PtAssert.fail(SingleJudgeEnum.WAIT.equals(item.getSingleJudge()),"检测项目"+item.getName()+"未判定");
}
if (CollectionUtils.isNotEmpty(blankIds)){
List<TestValueExtend> extendList = testValueExtendService.list(Wrappers.<TestValueExtend>query().select("id","item_id").isNotNull("defect").in("item_id",blankIds));
for (TestValueExtend extend:extendList) {
blankIds.remove(extend.getItemId());
}
if (CollectionUtils.isNotEmpty(blankIds)){
for (DrugItem item: itemList) {
if (blankIds.contains(item.getId())){
PtAssert.fail("检测项目"+item.getName()+"的检测值或缺陷未填写");
}
}
}
}
drugItemOperationService.writeTester(itemIds,account);
return super.update(new DrugItem().setStatus(ItemStatusEnum.CHECK).setProgress(ItemStatusEnum.CHECK),
Wrappers.<DrugItem>query().in("id",itemIds));
}
......@@ -184,7 +261,9 @@ public class DrugItemServiceImpl extends BaseServiceImpl<DrugItemMapper, DrugIte
List<DrugItem> itemList = list(Wrappers.<DrugItem>query().in("id",itemIds));
for (DrugItem item: itemList) {
PtAssert.fail(StringUtils.isBlank(item.getTestValue()),"检测项目"+item.getName()+"的检测值未填写");
if (StringUtils.isBlank(item.getTestValue())){
PtAssert.fail("检测项目"+item.getName()+"的检测值未填写");
}
PtAssert.fail(SingleJudgeEnum.WAIT.equals(item.getSingleJudge()),"检测项目"+item.getName()+"未判定");
}
drugItemOperationService.writeTester(itemIds,account);
......
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