2022年11月23日16:31:54

pull/1/head
litao 4 years ago
parent b8745259e6
commit 5f36c476c6
  1. 17
      lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/LSReservedSample.java
  2. 27
      lab-service/lab-capital/src/main/java/org/springblade/lims/capital/controller/SupplierController.java
  3. 127
      lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/ContractController.java
  4. 49
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ContractController.java
  5. 22
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ContractSampleController.java
  6. 850
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/EntrustController.java
  7. 118
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineItemController.java
  8. 44
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineResultController.java
  9. 2
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/SimpleRelController.java
  10. 13
      lab-service/lab-lims/src/main/java/org/springblade/lims/mapper/ContractSampleMapper.java
  11. 1
      lab-service/lab-lims/src/main/java/org/springblade/lims/mapper/EntrustMapper.xml
  12. 17
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/IContractSampleService.java
  13. 3
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/IContractService.java
  14. 33
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ContractSampleServiceImpl.java
  15. 66
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ContractServiceImpl.java
  16. 64
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java
  17. 27
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ExamineResultServiceImpl.java
  18. 5
      lab-service/lab-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

@ -0,0 +1,17 @@
package org.springblade.lims.entry;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.springblade.core.mp.base.BaseEntity;
import java.io.Serializable;
/**
* @author swj
*/
@Data
@SuppressWarnings("all")
@TableName("ls_reserved_sample")
public class LSReservedSample extends BaseEntity implements Serializable {
}

@ -1,6 +1,7 @@
package org.springblade.lims.capital.controller;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import io.swagger.annotations.Api;
@ -85,8 +86,8 @@ public class SupplierController extends BladeController {
@PostMapping("/save")
@ApiOperationSupport(order = 4)
@ApiOperation(value = "新增", notes = "传入supplier")
public R save(@Valid @RequestBody Supplier supplier) {
//获取
public R save(@Valid @RequestBody Supplier supplier) throws Exception {
// 获取
if(StringUtil.isNotBlank(supplier.getProvinces())){
List<String> lstProvinces = Func.toStrList(supplier.getProvinces());
if(lstProvinces.size() ==3){
@ -95,13 +96,20 @@ public class SupplierController extends BladeController {
supplier.setRegion(lstProvinces.get(2));
}
}
//获取地址
// 获取地址
if(StringUtil.isNotBlank(supplier.getAddressRemark())){
List<String> lstAddress = Func.toStrList(supplier.getAddressRemark());
if(lstAddress.size() ==3){
supplier.setAddress(lstAddress.get(2));
}
}
// 重复提示
LambdaQueryWrapper<Supplier> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Supplier::getName, supplier.getName());
List<Supplier> suppliers = supplierService.list(wrapper);
if (CollectionUtils.isNotEmpty(suppliers)) {
throw new Exception("该供应商已存在,请勿重复增加!");
}
return R.status(supplierService.save(supplier));
}
@ -112,7 +120,7 @@ public class SupplierController extends BladeController {
@PostMapping("/update")
@ApiOperationSupport(order = 5)
@ApiOperation(value = "修改", notes = "传入supplier")
public R update(@Valid @RequestBody Supplier supplier) {
public R update(@Valid @RequestBody Supplier supplier) throws Exception {
//获取
if(StringUtil.isNotBlank(supplier.getProvinces())){
List<String> lstProvinces = Func.toStrList(supplier.getProvinces());
@ -130,6 +138,17 @@ public class SupplierController extends BladeController {
}
}
// 重复提示
Supplier byId = supplierService.getById(supplier.getId());
if (!byId.getName().equals(supplier.getName())) {
LambdaQueryWrapper<Supplier> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Supplier::getName, supplier.getName());
List<Supplier> suppliers = supplierService.list(wrapper);
if (CollectionUtils.isNotEmpty(suppliers)) {
throw new Exception("该供应商已存在,请勿重复增加!");
}
}
return R.status(supplierService.updateById(supplier));
}

@ -3,6 +3,7 @@ package org.springblade.lims.goods.controller;
import cn.hutool.core.util.RandomUtil;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.alibaba.nacos.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -169,11 +170,12 @@ public class ContractController extends BladeController {
Contract contract1 = new Contract();
for (Map.Entry<String, List<ContractExcel>> entry : entries) {
List<ContractExcel> contractExcels = map.get(entry.getKey());
QueryWrapper<Supplier> queryWrapper = new QueryWrapper<>();
if (contractExcels != null && contractExcels.size() > 0) {
QueryWrapper<Supplier> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", contractExcels.get(0).getSupplierName());
Supplier one = supplierService.getOne(queryWrapper);
if (one != null) {
List<Goods> goodsList = new ArrayList<>();
long contractId = RandomUtil.randomLong();
contract1.setId(contractId);
contract1.setSupplierId(one.getId());
@ -181,47 +183,53 @@ public class ContractController extends BladeController {
contract1.setStatus(0);
List<ContractDetail> details = new ArrayList<>();
for (ContractExcel contract : contractExcels) {
QueryWrapper<Goods> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("company_id", one.getId());
queryWrapper1.eq("name", contract.getGoodsName());
Goods one1 = goodsService.getOne(queryWrapper1);
if (one1 == null) {
// 库存里没有这个物品,增个库存,
Goods goods = new Goods();
Long goodIds = RandomUtil.randomLong();
goods.setId(goodIds);
goods.setName(contract.getGoodsName());
goods.setCompanyId(one.getId());
goods.setCompany(one.getName());
goods.setXh(contract.getXh());
goods.setRule(contract.getRule());
goods.setNum(0);
goods.setUnit(contract.getUnit());
goods.setYt(contract.getYt());
goods.setCreateTime(new Date());
goodsService.save(goods);
ContractDetail detail = new ContractDetail();
detail.setContractId(contractId);
detail.setGoodsName(contract.getGoodsName());
detail.setGoodsNum(contract.getGoodsNum());
detail.setRemark(contract.getRemark());
detail.setGoodsId(goodIds);
detail.setInNum(0);
detail.setNotNum(contract.getGoodsNum());
detail.setStatus(0);
details.add(detail);
if (StringUtils.isNotBlank(contract.getBrand())) {
QueryWrapper<Goods> queryWrapper1 = new QueryWrapper<>();
// queryWrapper1.eq("company_id", one.getId());
queryWrapper1.eq("name", contract.getGoodsName());
queryWrapper1.eq("brand", contract.getBrand());
Goods one1 = goodsService.getOne(queryWrapper1);
if (one1 == null) {
// 库存里没有这个物品,增个库存,
Goods goods = new Goods();
Long goodIds = RandomUtil.randomLong();
goods.setId(goodIds);
goods.setName(contract.getGoodsName());
goods.setCompanyId(one.getId());
goods.setCompany(one.getName());
goods.setXh(contract.getXh());
goods.setRule(contract.getRule());
goods.setNum(0);
goods.setUnit(contract.getUnit());
goods.setBrand(contract.getBrand());
goods.setYt(contract.getYt());
goods.setCreateTime(new Date());
goodsList.add(goods);
ContractDetail detail = new ContractDetail();
detail.setContractId(contractId);
detail.setGoodsName(contract.getGoodsName());
detail.setGoodsNum(contract.getGoodsNum());
detail.setRemark(contract.getRemark());
detail.setGoodsId(goodIds);
detail.setInNum(0);
detail.setNotNum(contract.getGoodsNum());
detail.setStatus(0);
details.add(detail);
} else {
ContractDetail detail = new ContractDetail();
detail.setContractId(contractId);
detail.setRemark(contract.getRemark());
detail.setGoodsNum(contract.getGoodsNum());
detail.setGoodsName(contract.getGoodsName());
detail.setGoodsId(one1.getId());
detail.setInNum(0);
detail.setNotNum(contract.getGoodsNum());
detail.setStatus(0);
details.add(detail);
}
} else {
ContractDetail detail = new ContractDetail();
detail.setContractId(contractId);
detail.setRemark(contract.getRemark());
detail.setGoodsNum(contract.getGoodsNum());
detail.setGoodsName(contract.getGoodsName());
detail.setGoodsId(one1.getId());
detail.setInNum(0);
detail.setNotNum(contract.getGoodsNum());
detail.setStatus(0);
details.add(detail);
throw new Exception("品牌不能为空!");
}
}
contract1.setGoodsClassNum(contractExcels.size());
@ -231,6 +239,7 @@ public class ContractController extends BladeController {
contract1.setCreateUser(AuthUtil.getUserId());
contractDetailService.saveBatch(details);
contractService.save(contract1);
goodsService.saveBatch(goodsList);
} else {
throw new Exception("系统内无" + contractExcels.get(0).getSupplierName() + "此供应商,请录入供应商后重新导入!");
}
@ -293,16 +302,19 @@ public class ContractController extends BladeController {
*/
@PostMapping("/saveAndCommit")
public void saveAndCommit(@RequestBody ContractVO contractVO) {
List<ContractDetail> detailList = contractVO.getDetailList();
LambdaQueryWrapper<Batch> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(Batch::getContractId, contractVO.getId());
wrapper1.orderByDesc(Batch::getBatch);
List<Batch> batches = batchService.list(wrapper1);
Integer batch1 = 1;
if (batches != null && batches.size() > 0) {
if (CollectionUtils.isNotEmpty(batches)) {
batch1 = batches.get(0).getBatch() + 1;
}
// 合同详情集合
List<ContractDetail> detailList = contractVO.getDetailList();
List<ProductStoreDetial> productStoreDetials = new ArrayList<>();
List<Batch> batchList = new ArrayList<>();
for (ContractDetail contractDetail : detailList) {
if (contractDetail.getNum() == 0) {
continue;
@ -329,29 +341,29 @@ public class ContractController extends BladeController {
productStoreDetial.setNum(contractDetail.getNum());
productStoreDetial.setCompany(contractVO.getSupplierName());
productStoreDetial.setStatus(0);
productStoreDetialService.save(productStoreDetial);
productStoreDetials.add(productStoreDetial);
// 消息通知
List<User> userList = userClient.listRolebyId("实验室组长").getData();
if (userList != null) {
for (User user : userList) {
messageClient.event(SysTypeEnum.INFORM.getValue(), "质检入库",
"你有新的物品待质检,请及时处理", 1, 5, user.getId().toString(),"/capital/productstoreList");
"你有新的物品待质检,请及时处理", 1, 5, user.getId().toString(), "/capital/productstoreList");
}
}
// 添加合同批次数据
if (contractDetail.getNum() != 0) {
Batch batch = new Batch();
batch.setBatch(batch1);
batch.setNum(contractDetail.getNum());
batch.setContractId(contractVO.getId());
batch.setGoodsId(contractDetail.getGoodsId());
batch.setGoodsName(contractDetail.getGoodsName());
batch.setIsBill(0);
batchService.save(batch);
}
Batch batch = new Batch();
batch.setBatch(batch1);
batch.setNum(contractDetail.getNum());
batch.setContractId(contractVO.getId());
batch.setGoodsId(contractDetail.getGoodsId());
batch.setGoodsName(contractDetail.getGoodsName());
batch.setIsBill(0);
batchList.add(batch);
}
batchService.saveBatch(batchList);
productStoreDetialService.saveBatch(productStoreDetials);
contractDetailService.updateBatchById(detailList);
Contract contract = new Contract();
@ -370,12 +382,11 @@ public class ContractController extends BladeController {
LambdaQueryWrapper<Batch> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Batch::getContractId, contractVO.getId());
wrapper.eq(Batch::getIsBill, 0);
List<Batch> batchList = batchService.list(wrapper);
if (batchList != null && batchList.size() > 0) {
List<Batch> batchList1 = batchService.list(wrapper);
if (CollectionUtils.isNotEmpty(batchList1)) {
contract.setStatus(4);
}
}
contractService.updateById(contract);
}
}

@ -17,6 +17,8 @@ import org.springblade.system.user.entity.User;
import org.springblade.system.user.feign.IUserClient;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Date;
import java.util.List;
@ -34,8 +36,6 @@ public class ContractController extends BladeController {
private final IUserClient userClient;
private final ISysClient sysClient;
private final IMessageClient messageClient;
/**
@ -69,7 +69,7 @@ public class ContractController extends BladeController {
for (String s : split) {
// 消息通知
messageClient.event(SysTypeEnum.INFORM.getValue(), "确认签字",
"你有新的合同评审待签字,请及时处理", 1, 5, s,"/plugin/workflow/process/contractList");
"你有新的合同评审待签字,请及时处理", 1, 5, s, "/plugin/workflow/process/contractList");
String name = userClient.userInfoById(Long.parseLong(s)).getData().getName();
appointAssessorName.append(name).append(",");
}
@ -78,12 +78,12 @@ public class ContractController extends BladeController {
if (contract.getReviewConclusionTechnicalDirectorId() != null) {
// 消息通知
messageClient.event(SysTypeEnum.INFORM.getValue(), "确认签字",
"你有新的合同评审待签字,请及时处理", 1, 5, contract.getReviewConclusionTechnicalDirectorId().toString(),"/plugin/workflow/process/contractList");
"你有新的合同评审待签字,请及时处理", 1, 5, contract.getReviewConclusionTechnicalDirectorId().toString(), "/plugin/workflow/process/contractList");
}
if (contract.getCenterDirectorId() != null) {
// 消息通知1
messageClient.event(SysTypeEnum.INFORM.getValue(), "确认签字",
"你有新的合同评审待签字,请及时处理", 1, 5, contract.getCenterDirectorId().toString(),"/plugin/workflow/process/contractList");
"你有新的合同评审待签字,请及时处理", 1, 5, contract.getCenterDirectorId().toString(), "/plugin/workflow/process/contractList");
}
contract.setStatus(0);
return R.status(contractService.save(contract));
@ -101,16 +101,18 @@ public class ContractController extends BladeController {
String name = userClient.userInfoById(contract.getReviewConclusionTechnicalDirectorId()).getData().getName();
byId.setReviewConclusionTechnicalDirectorName(name);
byId.setReviewConclusionDate(new Date());
byId.setStatus(1);
}
// 中心主任签名
if (contract.getCenterDirectorId() != null) {
else if (contract.getCenterDirectorId() != null) {
byId.setCenterDirectorId(contract.getCenterDirectorId());
String name = userClient.userInfoById(contract.getCenterDirectorId()).getData().getName();
byId.setCenterDirectorName(name);
byId.setCenterDirectorOpinionDate(new Date());
byId.setStatus(3);
}
// 指定评审人员签名
if (contract.getAssessorId() != null && !"".equals(contract.getAssessorId())) {
else if (contract.getAssessorId() != null && !"".equals(contract.getAssessorId())) {
if (byId.getAssessorId() != null) {
byId.setAssessorId(byId.getAssessorId() + "," + contract.getAssessorId());
} else {
@ -126,18 +128,23 @@ public class ContractController extends BladeController {
} else {
byId.setAssessorDept(contract.getAssessorDept());
}
if (byId.getAssessorId().split(",").length == byId.getAppointAssessorId().split(",").length) {
byId.setStatus(2);
}
} else {
byId.setStatus(contract.getStatus());
}
// 如果全部签名完成,改状态为1(新增委托单)
if (byId.getReviewConclusionTechnicalDirectorId() != null
&& byId.getCenterDirectorId() != null
&& byId.getAssessorId() != null
&& byId.getAssessorId().split(",").length == byId.getAppointAssessorId().split(",").length) {
// 消息通知1
// id硬编码
messageClient.event(SysTypeEnum.INFORM.getValue(), "新增委托",
"您的合同已评审完成,请及时处理", 1, 5, "1542330472226856962","/plugin/workflow/process/contractList");
byId.setStatus(1);
}
// if (byId.getReviewConclusionTechnicalDirectorId() != null
// && byId.getCenterDirectorId() != null
// && byId.getAssessorId() != null
// && byId.getAssessorId().split(",").length == byId.getAppointAssessorId().split(",").length) {
// // 消息通知1
// // id硬编码
// messageClient.event(SysTypeEnum.INFORM.getValue(), "新增委托",
// "您的合同已评审完成,请及时处理", 1, 5, "1542330472226856962","/plugin/workflow/process/contractList");
// byId.setStatus(4);
// }
contractService.updateById(byId);
return R.data(byId);
}
@ -151,4 +158,12 @@ public class ContractController extends BladeController {
return R.data(contract);
}
/**
* 打印合同评审表
*/
@GetMapping("/contractReview")
public void contractReview(String id, HttpServletResponse response) {
contractService.contractReview(id, response);
}
}

@ -0,0 +1,22 @@
package org.springblade.lims.controller;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.lims.service.IContractSampleService;
import org.springframework.web.bind.annotation.*;
/**
* @author lt
* @since 2022年11月15日15:52:18
*/
@RestController
@AllArgsConstructor
@RequestMapping("/contractSample")
public class ContractSampleController extends BladeController {
private final IContractSampleService contractSampleService;
}

@ -112,387 +112,70 @@ public class EntrustController extends BladeController {
private final ITaskBlueprintService taskBlueprintService;
private final IContractSampleService contractSampleService;
/**
* 1.分页 委托单表
*/
@GetMapping("/list")
@ApiOperationSupport(order = 2)
public R<IPage<Entrust>> list(Entrust entry, Query query) {
//样品待处理
// List<Entrust> entrustList1 = new ArrayList<>();
// LambdaQueryWrapper<Entrust> wrapper = new LambdaQueryWrapper<>();
// wrapper.eq(Entrust::getEntrustStatus, "6");
// List<Entrust> entrusts = service.list(wrapper);
// if (entrusts != null && entrusts.size() > 0) {
// for (Entrust entrust : entrusts) {
// Date updateTime = entrust.getSamplingDate();
// long updateTimeTime = updateTime.getTime();
// long l = System.currentTimeMillis();
// if (l - updateTimeTime > 2160000000L) {
// entrust.setIsHandle("0");
// service.updateById(entrust);
// }
// }
// if (entry != null && entry.getEntrustStatus() != null && "111".equals(entry.getEntrustStatus())) {
// QueryWrapper<Entrust> queryWrapper = new QueryWrapper<>();
// queryWrapper.eq("entrust_status", "111").or();
// queryWrapper.eq("entrust_status", "2.1").or();
// query.setDescs("create_time");
// IPage<Entrust> page = service.page(Condition.getPage(query), queryWrapper);
// return R.data(page);
// }
// TODO 有空抽代码....
// 如果传部门了
// if (entry != null && entry.getDeptId() != null && !"".equals(entry.getDeptId())) {
// // 科室一
// if (entry.getDeptId().equals("1536303217085018114")) {
// //组长或校核人
// if (entry.getRoleId().equals("1432876219952791554") || entry.getRoleId().equals("1542095624162525185")) {
// query.setDescs("create_time");
// LambdaQueryWrapper<Entrust> wrapper1 = new LambdaQueryWrapper<>(entry);
// if (entry.getEntrustCustomerName() != null) {
// wrapper1.like(Entrust::getEntrustCustomerName, entry.getEntrustCustomerName()).or();
// wrapper1.like(Entrust::getAcceptanceNum, entry.getEntrustCustomerName()).or();
// wrapper1.like(Entrust::getSimpleName, entry.getEntrustCustomerName());
// }
// IPage<Entrust> iPage = service.page(Condition.getPage(query), wrapper1);
//
// List<Entrust> entrustList = new ArrayList<>();
// LambdaQueryWrapper<ETask> eTaskLambdaQueryWrapper = new LambdaQueryWrapper<>();
// eTaskLambdaQueryWrapper.eq(ETask::getDeptId, entry.getDeptId());
// List<ETask> eTasks = eTaskService.list(eTaskLambdaQueryWrapper);
// if (eTasks != null && eTasks.size() > 0) {
// for (ETask eTask : eTasks) {
// if (eTask != null) {
// TaskBlueprint taskBlueprint = blueprintService.getById(eTask.getTaskBlueprintId());
// if (taskBlueprint != null) {
// Entrust entrust = service.getById(taskBlueprint.getEntrustId());
// if (entrust != null) {
// // 待分配
// if ("000".equals(entry.getEntrustStatus())) {
// if ("111".equals(entrust.getEntrustStatus()) && eTask.getStatus() == 0) {
// entrust.setActualDistrib("0");
// entrustList.add(entrust);
// }
// }
// //检测中
// else if ("111".equals(entry.getEntrustStatus())) {
// if ("111".equals(entrust.getEntrustStatus()) && eTask.getStatus() == 1) {
// entrust.setActualDistrib("1");
// entrustList.add(entrust);
// }
// }
// //待审核
// else if ("3".equals(entry.getEntrustStatus())) {
// if ("3".equals(entrust.getEntrustStatus())) {
// entrustList.add(entrust);
// }
// }
// //通过
// else if ("4".equals(entry.getEntrustStatus())) {
// if ("4".equals(entrust.getEntrustStatus())) {
// entrustList.add(entrust);
// }
// }
// //驳回
// else if ("5".equals(entry.getEntrustStatus())) {
// if ("5".equals(entrust.getEntrustStatus())) {
// entrustList.add(entrust);
// }
// }
// //全部
// else if ("111".equals(entrust.getEntrustStatus()) ||
// "3".equals(entrust.getEntrustStatus()) ||
// "2.1".equals(entrust.getEntrustStatus()) ||
// "4".equals(entrust.getEntrustStatus()) ||
// "5".equals(entrust.getEntrustStatus())) {
// if ("111".equals(entrust.getEntrustStatus()) && eTask.getStatus() == 0) {
// entrust.setActualDistrib("0");
// } else if ("111".equals(entrust.getEntrustStatus()) && eTask.getStatus() == 1) {
// entrust.setActualDistrib("1");
// }
// entrustList.add(entrust);
// }
// }
// }
// }
// }
// }
// if (entrustList != null && entrustList.size() > 0) {
// for (Entrust entrust : entrustList) {
// Integer count = 0;
// LambdaQueryWrapper<Examine> queryWrapper = new LambdaQueryWrapper<>();
// if (entrust != null) {
// queryWrapper.eq(Examine::getEntrustId, entrust.getId());
// queryWrapper.eq(Examine::getDeptId, "1536303217085018114");
// List<Examine> examines = examineService.list(queryWrapper);
// if (examines != null && examines.size() > 0) {
// for (Examine examine : examines) {
// if (examine.getExperieNum() != null && !"".equals(examine.getExperieNum())) {
// String experieNum = examine.getExperieNum();
// String[] split = experieNum.split(",");
// count += split.length;
// }
// }
// }
// entrust.setSimpleCount(count);
// }
// }
// }
// iPage.setTotal(entrustList.size());
// List<Entrust> collect = entrustList.stream().skip((query.getCurrent() - 1) * query.getSize()).limit(query.getSize()).collect(Collectors.toList());
// iPage.setRecords(collect);
// return R.data(iPage);
// }
// }
// // 科室二
// if (entry.getDeptId().equals("1536303261238456322")) {
// //组长或校核人
// if (entry.getRoleId().equals("1432876219952791554") || entry.getRoleId().equals("1542095624162525185")) {
// query.setDescs("update_time");
// LambdaQueryWrapper<Entrust> wrapper1 = new LambdaQueryWrapper<>(entry);
// if (entry.getEntrustCustomerName() != null) {
// wrapper1.like(Entrust::getEntrustCustomerName, entry.getEntrustCustomerName()).or();
// wrapper1.like(Entrust::getAcceptanceNum, entry.getEntrustCustomerName()).or();
// wrapper1.like(Entrust::getSimpleName, entry.getEntrustCustomerName());
// }
// IPage<Entrust> iPage = service.page(Condition.getPage(query), wrapper1);
//
// List<Entrust> entrustList = new ArrayList<>();
// LambdaQueryWrapper<ETask> eTaskLambdaQueryWrapper = new LambdaQueryWrapper<>();
// eTaskLambdaQueryWrapper.eq(ETask::getDeptId, entry.getDeptId());
// List<ETask> eTasks = eTaskService.list(eTaskLambdaQueryWrapper);
// if (eTasks != null && eTasks.size() > 0) {
// for (ETask eTask : eTasks) {
// if (eTask != null) {
// TaskBlueprint taskBlueprint = blueprintService.getById(eTask.getTaskBlueprintId());
// if (taskBlueprint != null) {
// Entrust entrust = service.getById(taskBlueprint.getEntrustId());
// if (entrust != null) {
// // 待分配
// if ("000".equals(entry.getEntrustStatus())) {
// if ("111".equals(entrust.getEntrustStatus()) && eTask.getStatus() == 0) {
// entrust.setActualDistrib("0");
// entrustList.add(entrust);
// }
// }
// //检测中
// else if ("111".equals(entry.getEntrustStatus())) {
// if ("111".equals(entrust.getEntrustStatus()) && eTask.getStatus() == 1) {
// entrust.setActualDistrib("1");
// entrustList.add(entrust);
// }
// }
// //待审核
// else if ("3".equals(entry.getEntrustStatus())) {
// if ("3".equals(entrust.getEntrustStatus())) {
// entrustList.add(entrust);
// }
// }
// //通过
// else if ("4".equals(entry.getEntrustStatus())) {
// if ("4".equals(entrust.getEntrustStatus())) {
// entrustList.add(entrust);
// }
// }
// //驳回
// else if ("5".equals(entry.getEntrustStatus())) {
// if ("5".equals(entrust.getEntrustStatus())) {
// entrustList.add(entrust);
// }
// }
// //全部
// else if ("111".equals(entrust.getEntrustStatus()) ||
// "3".equals(entrust.getEntrustStatus()) ||
// "4".equals(entrust.getEntrustStatus()) ||
// "5".equals(entrust.getEntrustStatus())) {
// if ("111".equals(entrust.getEntrustStatus()) && eTask.getStatus() == 0) {
// entrust.setActualDistrib("0");
// } else if ("111".equals(entrust.getEntrustStatus()) && eTask.getStatus() == 1) {
// entrust.setActualDistrib("1");
// }
// entrustList.add(entrust);
// }
// }
// }
// }
// }
// }
// if (entrustList != null && entrustList.size() > 0) {
// for (Entrust entrust : entrustList) {
// Integer count = 0;
// LambdaQueryWrapper<Examine> queryWrapper = new LambdaQueryWrapper<>();
// if (entrust != null) {
// queryWrapper.eq(Examine::getEntrustId, entrust.getId());
// queryWrapper.eq(Examine::getDeptId, "1536303261238456322");
// List<Examine> examines = examineService.list(queryWrapper);
// if (examines != null && examines.size() > 0) {
// for (Examine examine : examines) {
// if (examine.getExperieNum() != null && !"".equals(examine.getExperieNum())) {
// String experieNum = examine.getExperieNum();
// String[] split = experieNum.split(",");
// count += split.length;
// }
// }
// }
// entrust.setSimpleCount(count);
// }
// }
// }
// iPage.setTotal(entrustList.size());
// List<Entrust> collect = entrustList.stream().skip((query.getCurrent() - 1) * query.getSize()).limit(query.getSize()).collect(Collectors.toList());
// iPage.setRecords(collect);
// return R.data(iPage);
// }
// }
// // 科室三
// if (entry.getDeptId().equals("1536303317815422978")) {
// //组长或校核人
// if (entry.getRoleId().equals("1432876219952791554") || entry.getRoleId().equals("1542095624162525185")) {
// query.setDescs("update_time");
// LambdaQueryWrapper<Entrust> wrapper1 = new LambdaQueryWrapper<>(entry);
// if (entry.getEntrustCustomerName() != null) {
// wrapper1.like(Entrust::getEntrustCustomerName, entry.getEntrustCustomerName()).or();
// wrapper1.like(Entrust::getAcceptanceNum, entry.getEntrustCustomerName()).or();
// wrapper1.like(Entrust::getSimpleName, entry.getEntrustCustomerName());
// }
// IPage<Entrust> iPage = service.page(Condition.getPage(query), wrapper1);
//
// List<Entrust> entrustList = new ArrayList<>();
// LambdaQueryWrapper<ETask> eTaskLambdaQueryWrapper = new LambdaQueryWrapper<>();
// eTaskLambdaQueryWrapper.eq(ETask::getDeptId, entry.getDeptId());
// List<ETask> eTasks = eTaskService.list(eTaskLambdaQueryWrapper);
// if (eTasks != null && eTasks.size() > 0) {
// for (ETask eTask : eTasks) {
// if (eTask != null) {
// TaskBlueprint taskBlueprint = blueprintService.getById(eTask.getTaskBlueprintId());
// if (taskBlueprint != null) {
// Entrust entrust = service.getById(taskBlueprint.getEntrustId());
// if (entrust != null) {
// // 待分配
// if ("000".equals(entry.getEntrustStatus())) {
// if ("111".equals(entrust.getEntrustStatus()) && eTask.getStatus() == 0) {
// entrust.setActualDistrib("0");
// entrustList.add(entrust);
// }
// }
// //检测中
// else if ("111".equals(entry.getEntrustStatus())) {
// if ("111".equals(entrust.getEntrustStatus()) && eTask.getStatus() == 1) {
// entrust.setActualDistrib("1");
// entrustList.add(entrust);
// }
// }
// //待审核
// else if ("3".equals(entry.getEntrustStatus())) {
// if ("3".equals(entrust.getEntrustStatus())) {
// entrustList.add(entrust);
// }
// }
// //通过
// else if ("4".equals(entry.getEntrustStatus())) {
// if ("4".equals(entrust.getEntrustStatus())) {
// entrustList.add(entrust);
// }
// }
// //驳回
// else if ("5".equals(entry.getEntrustStatus())) {
// if ("5".equals(entrust.getEntrustStatus())) {
// entrustList.add(entrust);
// }
// }
// //全部
// else if ("111".equals(entrust.getEntrustStatus()) ||
// "3".equals(entrust.getEntrustStatus()) ||
// "4".equals(entrust.getEntrustStatus()) ||
// "5".equals(entrust.getEntrustStatus())) {
// if ("111".equals(entrust.getEntrustStatus()) && eTask.getStatus() == 0) {
// entrust.setActualDistrib("0");
// } else if ("111".equals(entrust.getEntrustStatus()) && eTask.getStatus() == 1) {
// entrust.setActualDistrib("1");
// }
// entrustList.add(entrust);
// }
// }
// }
// }
// }
// }
// if (entrustList != null && entrustList.size() > 0) {
// for (Entrust entrust : entrustList) {
// Integer count = 0;
// LambdaQueryWrapper<Examine> queryWrapper = new LambdaQueryWrapper<>();
// if (entrust != null) {
// queryWrapper.eq(Examine::getEntrustId, entrust.getId());
// queryWrapper.eq(Examine::getDeptId, "1536303317815422978");
// List<Examine> examines = examineService.list(queryWrapper);
// if (examines != null && examines.size() > 0) {
// for (Examine examine : examines) {
// if (examine.getExperieNum() != null && !"".equals(examine.getExperieNum())) {
// String experieNum = examine.getExperieNum();
// String[] split = experieNum.split(",");
// count += split.length;
// }
// }
// }
// entrust.setSimpleCount(count);
// }
// }
// }
// iPage.setTotal(entrustList.size());
// List<Entrust> collect = entrustList.stream().skip((query.getCurrent() - 1) * query.getSize()).limit(query.getSize()).collect(Collectors.toList());
// iPage.setRecords(collect);
// return R.data(iPage);
// }
// }
// // 已完成状态
// if (entry != null && entry.getEntrustStatus() != null && "8".equals(entry.getEntrustStatus())) {
// QueryWrapper<Entrust> queryWrapper = new QueryWrapper<>();
// queryWrapper.eq("entrust_status", "7").or()
// .eq("entrust_status", "8");
// query.setDescs("create_time");
// IPage<Entrust> page = service.page(Condition.getPage(query), queryWrapper);
// return R.data(page);
// }
// TODO 抽空抽...
// 检测中状态
// // 全部
// query.setDescs("create_time");
// LambdaQueryWrapper<Entrust> queryWrapper = new LambdaQueryWrapper<>();
// if (entry.getEntrustStatus() != null) {
// queryWrapper.eq(Entrust::getEntrustStatus, entry.getEntrustStatus());
// }
// if (entry.getEntrustCustomerName() != null) {
// queryWrapper.like(Entrust::getEntrustCustomerName, entry.getEntrustCustomerName()).or();
// queryWrapper.like(Entrust::getAcceptanceNum, entry.getEntrustCustomerName()).or();
// queryWrapper.like(Entrust::getSimpleName, entry.getEntrustCustomerName());
// }
// IPage<Entrust> page = service.page(Condition.getPage(query), queryWrapper);
// return R.data(page);
LambdaQueryWrapper<Entrust> queryWrapper = new LambdaQueryWrapper<>();
if (entry != null && entry.getEntrustStatus() != null && "111".equals(entry.getEntrustStatus())) {
QueryWrapper<Entrust> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("entrust_status", "111").or();
queryWrapper.eq("entrust_status", "2.1").or();
query.setDescs("create_time");
IPage<Entrust> page = service.page(Condition.getPage(query), queryWrapper);
return R.data(page);
}
// 待审核状态
if (entry != null && entry.getEntrustStatus() != null && "3".equals(entry.getEntrustStatus())) {
QueryWrapper<Entrust> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("entrust_status", "3");
query.setDescs("create_time");
IPage<Entrust> page = service.page(Condition.getPage(query), queryWrapper);
List<Entrust> records = page.getRecords();
if (records != null && records.size() > 0) {
for (Entrust record : records) {
LambdaQueryWrapper<Examine> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(Examine::getEntrustId, record.getId());
List<Examine> examines = examineService.list(wrapper1);
if (examines != null && examines.size() > 0) {
for (Examine examine : examines) {
if ("1".equals(examine.getIsFinished()) && examine.getStatus() == 0) {
record.setStatus(1);
}
}
}
}
}
return R.data(page);
queryWrapper.and(qw ->
qw.eq(Entrust::getEntrustStatus, "111").or()
.eq(Entrust::getEntrustStatus, "2.1"));
}
// 已完成状态
if (entry != null && entry.getEntrustStatus() != null && "8".equals(entry.getEntrustStatus())) {
QueryWrapper<Entrust> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("entrust_status", "7").or()
.eq("entrust_status", "8");
query.setDescs("create_time");
IPage<Entrust> page = service.page(Condition.getPage(query), queryWrapper);
return R.data(page);
else if (entry != null && entry.getEntrustStatus() != null && "8".equals(entry.getEntrustStatus())) {
queryWrapper.and(qw ->
qw.eq(Entrust::getEntrustStatus, "7").or()
.eq(Entrust::getEntrustStatus, "8"));
}
// 全部
query.setDescs("create_time");
LambdaQueryWrapper<Entrust> queryWrapper = new LambdaQueryWrapper<>();
if (entry.getEntrustStatus() != null) {
queryWrapper.eq(Entrust::getEntrustStatus, entry.getEntrustStatus());
}
if (entry.getEntrustCustomerName() != null) {
queryWrapper.like(Entrust::getEntrustCustomerName, entry.getEntrustCustomerName()).or();
queryWrapper.like(Entrust::getAcceptanceNum, entry.getEntrustCustomerName()).or();
queryWrapper.like(Entrust::getSimpleName, entry.getEntrustCustomerName());
else {
if (entry.getEntrustStatus() != null) {
queryWrapper.eq(Entrust::getEntrustStatus, entry.getEntrustStatus());
}
if (entry.getEntrustCustomerName() != null) {
queryWrapper.and(qw ->
qw.like(Entrust::getEntrustCustomerName, entry.getEntrustCustomerName()).or()
.like(Entrust::getAcceptanceNum, entry.getEntrustCustomerName()).or()
.like(Entrust::getSimpleName, entry.getEntrustCustomerName()));
}
}
queryWrapper.eq(Entrust::getEntrustType, 1);
queryWrapper.orderByDesc(Entrust::getCreateTime);
IPage<Entrust> page = service.page(Condition.getPage(query), queryWrapper);
return R.data(page);
}
@ -506,6 +189,13 @@ public class EntrustController extends BladeController {
HashMap<String, Object> map = new HashMap<>();
//委托单
Entrust entrust = service.getById(id);
// 如果是合同类型委托单,查看详情返回收样登记
if (entrust.getContractId() != null) {
LambdaQueryWrapper<ContractSample> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ContractSample::getEntrustId, entrust.getId());
List<ContractSample> samples = contractSampleService.list(wrapper);
entrust.setContractSamples(samples);
}
if (entrust.getSampleReceiverId() != null) {
R<User> userR = userClient.userInfoById(Long.valueOf(entrust.getSampleReceiverId()));
User data = userR.getData();
@ -518,25 +208,25 @@ public class EntrustController extends BladeController {
for (Examine examine : list) {
// 2022年10月11日20:31:27 感觉没必要,而且影响前端数据展示
// if (examine.getExperieNum() != null && !"".equals(examine.getExperieNum())) {
ExamineItem examineItem = examineItemService.getById(examine.getExamineItemId());
if (examineItem != null) {
examine.setExamineItemName(examineItem.getName());
}
ExamineWay examineWay = examineWayService.getById(examine.getExamineWayId());
if (examineWay != null) {
examine.setExamineWayName(examineWay.getName());
}
ExamineBasis examineBasis = examineBasisService.getById(examine.getExamineBasisId());
if (examineBasis != null) {
examine.setExamineBasisName(examineBasis.getName());
}
if (examine.getExamineBy() != null && !"".equals(examine.getExamineBy())) {
R<User> userR = userClient.userInfoById(Long.valueOf(examine.getExamineBy()));
User user = userR.getData();
if (user != null) {
examine.setExamineByName(user.getName());
}
ExamineItem examineItem = examineItemService.getById(examine.getExamineItemId());
if (examineItem != null) {
examine.setExamineItemName(examineItem.getName());
}
ExamineWay examineWay = examineWayService.getById(examine.getExamineWayId());
if (examineWay != null) {
examine.setExamineWayName(examineWay.getName());
}
ExamineBasis examineBasis = examineBasisService.getById(examine.getExamineBasisId());
if (examineBasis != null) {
examine.setExamineBasisName(examineBasis.getName());
}
if (examine.getExamineBy() != null && !"".equals(examine.getExamineBy())) {
R<User> userR = userClient.userInfoById(Long.valueOf(examine.getExamineBy()));
User user = userR.getData();
if (user != null) {
examine.setExamineByName(user.getName());
}
}
// }
}
entrust.setExamines(list);
@ -569,26 +259,26 @@ public class EntrustController extends BladeController {
List<Examine> examineList = new ArrayList<>();
for (Examine examine : examines) {
// if (examine.getExperieNum() != null && !"".equals(examine.getExperieNum())) {
ExamineItem examineItem = examineItemService.getById(examine.getExamineItemId());
if (examineItem != null) {
examine.setExamineItemName(examineItem.getName());
}
ExamineWay examineWay = examineWayService.getById(examine.getExamineWayId());
if (examineWay != null) {
examine.setExamineWayName(examineWay.getName());
}
ExamineBasis examineBasis = examineBasisService.getById(examine.getExamineBasisId());
if (examineBasis != null) {
examine.setExamineBasisName(examineBasis.getName());
}
if (examine.getExamineBy() != null && !"".equals(examine.getExamineBy())) {
R<User> userR = userClient.userInfoById(Long.valueOf(examine.getExamineBy()));
User user = userR.getData();
if (user != null) {
examine.setExamineByName(user.getName());
}
ExamineItem examineItem = examineItemService.getById(examine.getExamineItemId());
if (examineItem != null) {
examine.setExamineItemName(examineItem.getName());
}
ExamineWay examineWay = examineWayService.getById(examine.getExamineWayId());
if (examineWay != null) {
examine.setExamineWayName(examineWay.getName());
}
ExamineBasis examineBasis = examineBasisService.getById(examine.getExamineBasisId());
if (examineBasis != null) {
examine.setExamineBasisName(examineBasis.getName());
}
if (examine.getExamineBy() != null && !"".equals(examine.getExamineBy())) {
R<User> userR = userClient.userInfoById(Long.valueOf(examine.getExamineBy()));
User user = userR.getData();
if (user != null) {
examine.setExamineByName(user.getName());
}
examineList.add(examine);
}
examineList.add(examine);
// }
}
eTask.setExamines(examineList);
@ -657,212 +347,40 @@ public class EntrustController extends BladeController {
@ApiOperation(value = "获取委托单所有状态及其对应的数量", notes = "获取委托单所有状态及其对应的数量")
public R<Map<String, Integer>> getEveryStatusAndCount(String deptId) {
Map<String, Integer> map = new HashMap<>(10);
// TODO 找到拿取当前登录用户的接口从后端判断是科室几
// LambdaQueryWrapper<ETask> eTaskLambdaQueryWrapper = new LambdaQueryWrapper<>();
// if (deptId != null && !"".equals(deptId)) {
// // 科室一
// if (deptId.equals("1536303217085018114")) {
// eTaskQueryWrapper.eq("dept_id", deptId);
// eTaskQueryWrapper.eq("status", 0);
// map.put("dfp", eTaskService.count(eTaskQueryWrapper));
// }
// // 科室二
// else if (deptId.equals("1536303261238456322")) {
// eTaskQueryWrapper.eq("dept_id", deptId);
// eTaskQueryWrapper.eq("status", 0);
// map.put("dfp", eTaskService.count(eTaskQueryWrapper));
// }
// // 科室三
// else if (deptId.equals("1536303317815422978")) {
// eTaskQueryWrapper.eq("dept_id", deptId);
// eTaskQueryWrapper.eq("status", 0);
// map.put("dfp", eTaskService.count(eTaskQueryWrapper));
// }
// }
// eTaskQueryWrapper.clear();
//
// //科室一
// if (deptId.equals("1536303217085018114")) {
// eTaskQueryWrapper.eq("dept_id", deptId);
// eTaskQueryWrapper.eq("status", 1);
// map.put("jcz", eTaskService.count(eTaskQueryWrapper));
// }
// //科室二
// else if (deptId.equals("1536303261238456322")) {
// eTaskQueryWrapper.eq("dept_id", deptId);
// eTaskQueryWrapper.eq("status", 1);
// map.put("jcz", eTaskService.count(eTaskQueryWrapper));
// }
// //科室三
// else if (deptId.equals("1536303317815422978")) {
// eTaskQueryWrapper.eq("dept_id", deptId);
// eTaskQueryWrapper.eq("status", 1);
// map.put("jcz", eTaskService.count(eTaskQueryWrapper));
// }
// eTaskQueryWrapper.clear();
QueryWrapper<ETask> eTaskQueryWrapper = new QueryWrapper<>();
// Integer dfp = 0;
// Integer jcz = 0;
// Integer jcwc = 0;
// Integer shtg = 0;
// Integer shbh = 0;
//科室一
// if (deptId.equals("1536303217085018114")) {
// eTaskQueryWrapper.eq("dept_id", deptId);
// List<ETask> eTasks = eTaskService.list(eTaskQueryWrapper);
// if (eTasks != null && eTasks.size() > 0) {
// for (ETask eTask : eTasks) {
// if (eTask != null) {
// TaskBlueprint taskBlueprint = blueprintService.getById(eTask.getTaskBlueprintId());
// if (taskBlueprint != null) {
// Entrust entrust = service.getById(taskBlueprint.getEntrustId());
// if (entrust != null) {
// //待分配
// if ("111".equals(entrust.getEntrustStatus()) && eTask.getStatus() == 0) {
// dfp += 1;
// }
// //检测中
// if ("111".equals(entrust.getEntrustStatus()) && eTask.getStatus() == 1) {
// jcz += 1;
// }
// //待审核
// if ("3".equals(entrust.getEntrustStatus())) {
// jcwc += 1;
// }
// //通过
// if ("4".equals(entrust.getEntrustStatus())) {
// shtg += 1;
// }
// //驳回
// if ("5".equals(entrust.getEntrustStatus())) {
// shbh += 1;
// }
// }
// }
// }
// }
// }
// map.put("dfp", dfp);
// map.put("jcz", jcz);
// map.put("jcwc", jcwc);
// map.put("shtg", shtg);
// map.put("shbh", shbh);
// }
//科室二
// else if (deptId.equals("1536303261238456322")) {
// eTaskQueryWrapper.eq("dept_id", deptId);
// List<ETask> eTasks = eTaskService.list(eTaskQueryWrapper);
// if (eTasks != null && eTasks.size() > 0) {
// for (ETask eTask : eTasks) {
// if (eTask != null) {
// TaskBlueprint taskBlueprint = blueprintService.getById(eTask.getTaskBlueprintId());
// if (taskBlueprint != null) {
// Entrust entrust = service.getById(taskBlueprint.getEntrustId());
// if (entrust != null) {
// //待分配
// if ("111".equals(entrust.getEntrustStatus()) && eTask.getStatus() == 0) {
// dfp += 1;
// }
// //检测中
// if ("111".equals(entrust.getEntrustStatus()) && eTask.getStatus() == 1) {
// jcz += 1;
// }
// //待审核
// if ("3".equals(entrust.getEntrustStatus())) {
// jcwc += 1;
// }
// //通过
// if ("4".equals(entrust.getEntrustStatus())) {
// shtg += 1;
// }
// //驳回
// if ("5".equals(entrust.getEntrustStatus())) {
// shbh += 1;
// }
// }
// }
// }
// }
// }
// map.put("dfp", dfp);
// map.put("jcz", jcz);
// map.put("jcwc", jcwc);
// map.put("shtg", shtg);
// map.put("shbh", shbh);
// }
//科室三
// else if (deptId.equals("1536303317815422978")) {
// eTaskQueryWrapper.eq("dept_id", deptId);
// List<ETask> eTasks = eTaskService.list(eTaskQueryWrapper);
// if (eTasks != null && eTasks.size() > 0) {
// for (ETask eTask : eTasks) {
// if (eTask != null) {
// TaskBlueprint taskBlueprint = blueprintService.getById(eTask.getTaskBlueprintId());
// if (taskBlueprint != null) {
// Entrust entrust = service.getById(taskBlueprint.getEntrustId());
// if (entrust != null) {
// //待分配
// if ("111".equals(entrust.getEntrustStatus()) && eTask.getStatus() == 0) {
// dfp += 1;
// }
// //检测中
// if ("111".equals(entrust.getEntrustStatus()) && eTask.getStatus() == 1) {
// jcz += 1;
// }
// //待审核
// if ("3".equals(entrust.getEntrustStatus())) {
// jcwc += 1;
// }
// //通过
// if ("4".equals(entrust.getEntrustStatus())) {
// shtg += 1;
// }
// //驳回
// if ("5".equals(entrust.getEntrustStatus())) {
// shbh += 1;
// }
// }
// }
// }
// }
// }
// map.put("dfp", dfp);
// map.put("jcz", jcz);
// map.put("jcwc", jcwc);
// map.put("shtg", shtg);
// map.put("shbh", shbh);
// }
//质量管理室
// else {
// TODO 有空再抽代码
QueryWrapper<Entrust> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("entrust_type", 1);
queryWrapper.eq("entrust_status", "0.5");
map.put("dtj", service.count(queryWrapper));
queryWrapper.clear();
queryWrapper.eq("entrust_type", 1);
queryWrapper.eq("entrust_status", "1");
map.put("djy", service.count(queryWrapper));
queryWrapper.clear();
queryWrapper.eq("entrust_type", 1);
queryWrapper.eq("entrust_status", "2");
map.put("djh", service.count(queryWrapper));
queryWrapper.clear();
queryWrapper.eq("entrust_status", "111").or();
queryWrapper.eq("entrust_status", "2.1");
queryWrapper.eq("entrust_type", 1);
queryWrapper.and(qw -> qw.eq("entrust_status", "111").or()
.eq("entrust_status", "2.1"));
map.put("jcz", service.count(queryWrapper));
queryWrapper.clear();
queryWrapper.eq("entrust_status", "7").or()
.eq("entrust_status", "8");
queryWrapper.eq("entrust_type", 1);
queryWrapper.and(qw -> qw.eq("entrust_status", "7").or()
.eq("entrust_status", "8"));
map.put("ywc", service.count(queryWrapper));
queryWrapper.clear();
queryWrapper.eq("entrust_type", 1);
queryWrapper.eq("entrust_status", "-1");
map.put("yzf", service.count(queryWrapper));
queryWrapper.clear();
queryWrapper.eq("entrust_type", 1);
queryWrapper.eq("entrust_status", "-0.5");
map.put("djc", service.count(queryWrapper));
queryWrapper.clear();
@ -1496,63 +1014,93 @@ public class EntrustController extends BladeController {
String acceptance = "";
if ("1".equals(number)) {
if (entrusts.size() >= 0 && entrusts.size() < 9) {
acceptance = "SDCADC-W-" + year + "000" + (entrusts.size() + 1);
acceptance = "SDCADC-W-" + year + "000" + (entrusts.size() + 1);
}
if (entrusts.size() >= 9 && entrusts.size() < 99) {
acceptance = "SDCADC-W-" + year + "00" + (entrusts.size() + + 1);
acceptance = "SDCADC-W-" + year + "00" + (entrusts.size() + +1);
}
if (entrusts.size() >= 99 && entrusts.size() < 999) {
acceptance = "SDCADC-W-" + year + "0" + (entrusts.size() + 1);
acceptance = "SDCADC-W-" + year + "0" + (entrusts.size() + 1);
}
if (entrusts.size() >= 999 && entrusts.size() < 9999) {
acceptance = "SDCADC-W-" + year + (entrusts.size() + 1);
acceptance = "SDCADC-W-" + year + (entrusts.size() + 1);
}
}
if ("2".equals(number)) {
if (entrusts.size() >= 0 && entrusts.size() < 9) {
acceptance = "SDCADC-J-" + year + "000" + (entrusts.size() + 1);
acceptance = "SDCADC-J-" + year + "000" + (entrusts.size() + 1);
}
if (entrusts.size() >= 9 && entrusts.size() < 99) {
acceptance = "SDCADC-J-" + year + "00" + (entrusts.size() + 1);
acceptance = "SDCADC-J-" + year + "00" + (entrusts.size() + 1);
}
if (entrusts.size() >= 99 && entrusts.size() < 999) {
acceptance = "SDCADC-J-" + year + "0" + (entrusts.size() + 1);
acceptance = "SDCADC-J-" + year + "0" + (entrusts.size() + 1);
}
if (entrusts.size() >= 999 && entrusts.size() < 9999) {
acceptance = "SDCADC-J-" + year + (entrusts.size() + 1);
acceptance = "SDCADC-J-" + year + (entrusts.size() + 1);
}
}
if ("3".equals(number)) {
if (entrusts.size() >= 0 && entrusts.size() < 9) {
acceptance = "SDCADC-Z-" + year + "000" + (entrusts.size() + 1);
acceptance = "SDCADC-Z-" + year + "000" + (entrusts.size() + 1);
}
if (entrusts.size() >= 9 && entrusts.size() < 99) {
acceptance = "SDCADC-Z-" + year + "00" + (entrusts.size() + 1);
acceptance = "SDCADC-Z-" + year + "00" + (entrusts.size() + 1);
}
if (entrusts.size() >= 99 && entrusts.size() < 999) {
acceptance = "SDCADC-Z-" + year + "0" + (entrusts.size() + 1);
acceptance = "SDCADC-Z-" + year + "0" + (entrusts.size() + 1);
}
if (entrusts.size() >= 999 && entrusts.size() < 9999) {
acceptance = "SDCADC-Z-" + year + (entrusts.size() + 1);
acceptance = "SDCADC-Z-" + year + (entrusts.size() + 1);
}
}
if ("4".equals(number)) {
if (entrusts.size() >= 0 && entrusts.size() < 9) {
acceptance = "SDCADC-S-" + year + "000" + (entrusts.size() + 1);
acceptance = "SDCADC-S-" + year + "000" + (entrusts.size() + 1);
}
if (entrusts.size() >= 9 && entrusts.size() < 99) {
acceptance = "SDCADC-S-" + year + "00" + (entrusts.size() + 1);
acceptance = "SDCADC-S-" + year + "00" + (entrusts.size() + 1);
}
if (entrusts.size() >= 99 && entrusts.size() < 999) {
acceptance = "SDCADC-S-" + year + "0" + (entrusts.size() + 1);
acceptance = "SDCADC-S-" + year + "0" + (entrusts.size() + 1);
}
if (entrusts.size() >= 999 && entrusts.size() < 9999) {
acceptance = "SDCADC-S-" + year + (entrusts.size() + 1);
acceptance = "SDCADC-S-" + year + (entrusts.size() + 1);
}
}
return acceptance;
}
/**
* 合同受理编号
*/
@GetMapping("/contractAcceptance")
public String contractAcceptance(String name) {
LocalDateTime date = LocalDateTime.now();
int year = date.getYear();
String month = "";
int monthValue = date.getMonthValue();
if (monthValue < 10) {
month = "0" + monthValue;
} else {
month = "" + monthValue;
}
String num = "SDHVTC-" + year + month;
if ("猪".equals(name)) {
num += "A";
} else if ("牛".equals(name)) {
num += "B";
} else if ("羊".equals(name)) {
num += "C";
} else if ("鸡".equals(name)) {
num += "D";
} else if ("鸭".equals(name)) {
num += "E";
} else if ("鹅".equals(name)) {
num += "F";
}
return num;
}
/**
* 16.样品处理
@ -1617,7 +1165,6 @@ public class EntrustController extends BladeController {
service.simpleHandlePrint(id, response);
}
/**
* 22.委托单保存待提交
*/
@ -1740,7 +1287,6 @@ public class EntrustController extends BladeController {
return entrust;
}
/**
* 23.委托单编辑
*/
@ -1758,12 +1304,11 @@ public class EntrustController extends BladeController {
return map;
}
/**
* 24.二维码生成
*/
@GetMapping("/QrcodeUtils")
public void QrcodeUtils(String content , HttpServletResponse response) throws Exception {
public void QrcodeUtils(String content, HttpServletResponse response) throws Exception {
BufferedImage img = QrcodeUtils.generateQRCodeImage(content, 400, ClassLoader.getSystemResourceAsStream("logo.png"));
Map<String, Object> result = new HashMap<>();
@ -1775,7 +1320,7 @@ public class EntrustController extends BladeController {
FileInputStream fis = null;
try {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ImageIO.write(img, "png",bos );
ImageIO.write(img, "png", bos);
byte[] bytes = bos.toByteArray();
farView.setData(bytes);
} catch (Exception e) {
@ -1864,4 +1409,93 @@ public class EntrustController extends BladeController {
}
return R.status(service.updateById(entrust));
}
/**
* 合同计划列表
*/
@GetMapping("/contractList")
public R<IPage<Entrust>> ContractList(Entrust entry, Query query) {
LambdaQueryWrapper<Entrust> queryWrapper = new LambdaQueryWrapper<>();
if (entry != null && entry.getEntrustStatus() != null && "111".equals(entry.getEntrustStatus())) {
queryWrapper.and(qw ->
qw.eq(Entrust::getEntrustStatus, "111").or()
.eq(Entrust::getEntrustStatus, "2.1"));
}
// 已完成状态
else if (entry != null && entry.getEntrustStatus() != null && "8".equals(entry.getEntrustStatus())) {
queryWrapper.and(qw ->
qw.eq(Entrust::getEntrustStatus, "7").or()
.eq(Entrust::getEntrustStatus, "8"));
}
// 全部
else {
if (entry.getEntrustStatus() != null) {
queryWrapper.eq(Entrust::getEntrustStatus, entry.getEntrustStatus());
}
if (entry.getAcceptanceNum() != null) {
queryWrapper.and(qw ->
qw.like(Entrust::getAcceptanceNum, entry.getAcceptanceNum()).or()
.like(Entrust::getSimpleName, entry.getAcceptanceNum()));
}
}
queryWrapper.eq(Entrust::getEntrustType, 2);
queryWrapper.orderByDesc(Entrust::getCreateTime);
IPage<Entrust> page = service.page(Condition.getPage(query), queryWrapper);
return R.data(page);
}
/**
* 合同计划列表所有状态及其对应的数量
*/
@GetMapping("/getContractStatusAndCount")
public R<Map<String, Integer>> getContractStatusAndCount() {
Map<String, Integer> map = new HashMap<>(10);
QueryWrapper<Entrust> queryWrapper = new QueryWrapper<>();
// queryWrapper.eq("entrust_type", 2);
// queryWrapper.eq("entrust_status", "0.5");
// map.put("dtj", service.count(queryWrapper));
// queryWrapper.clear();
queryWrapper.eq("entrust_type", 2);
queryWrapper.eq("entrust_status", "1");
map.put("djy", service.count(queryWrapper));
queryWrapper.clear();
queryWrapper.eq("entrust_type", 2);
queryWrapper.eq("entrust_status", "2");
map.put("djh", service.count(queryWrapper));
queryWrapper.clear();
queryWrapper.eq("entrust_type", 2);
queryWrapper.and(qw -> qw.eq("entrust_status", "111").or()
.eq("entrust_status", "2.1"));
map.put("jcz", service.count(queryWrapper));
queryWrapper.clear();
queryWrapper.eq("entrust_type", 2);
queryWrapper.and(qw -> qw.eq("entrust_status", "7").or()
.eq("entrust_status", "8"));
map.put("ywc", service.count(queryWrapper));
queryWrapper.clear();
// queryWrapper.eq("entrust_type", 2);
// queryWrapper.eq("entrust_status", "-1");
// map.put("yzf", service.count(queryWrapper));
// queryWrapper.clear();
// queryWrapper.eq("entrust_type", 2);
// queryWrapper.eq("entrust_status", "-0.5");
// map.put("djc", service.count(queryWrapper));
// queryWrapper.clear();
// queryWrapper.eq("entrust_status", "4").or();
// queryWrapper.eq("entrust_status", "5").or();
// queryWrapper.eq("entrust_status", "6");
// map.put("dbz", service.count(queryWrapper));
// queryWrapper.clear();
// queryWrapper.eq("entrust_status", "-1");
// map.put("sb", service.count(queryWrapper));
// }
return R.data(map);
}
}

@ -175,10 +175,10 @@ public class ExamineItemController extends BladeController {
*/
@GetMapping("/getReagent")
public R<List<Reagent>> getReagent(String id, String name, String reagentId) throws Exception {
LambdaQueryWrapper<Reagent> wrapper = new LambdaQueryWrapper<>();
List<Reagent> reagentList = new ArrayList<>();
// 如果name不为空,用name模糊查询
if (StringUtils.isNotBlank(name)) {
LambdaQueryWrapper<Reagent> wrapper = new LambdaQueryWrapper<>();
wrapper.like(Reagent::getName, name);
reagentList = reagentService.list(wrapper);
}
@ -186,74 +186,60 @@ public class ExamineItemController extends BladeController {
else {
// id查检测项目
ExamineItem examineItem = service.getById(id);
if (examineItem != null) {
try {
// 条件查询标签一样的试剂数据
LambdaQueryWrapper<Reagent> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Reagent::getType, "1");
// wrapper.eq(Reagent::getAnimalSpecies, examineItem.getAnimalSpecies());
wrapper.eq(Reagent::getExamineType, examineItem.getExamineType());
List<Reagent> reagentArrayList = reagentService.list(wrapper);
String[] animalSplit = examineItem.getAnimalSpecies().split(",");
List<Reagent> reagents = new ArrayList<>();
for (Reagent reagent : reagentArrayList) {
if (StringUtils.isNotEmpty(reagent.getAnimalSpecies())) {
String[] split = reagent.getAnimalSpecies().split(",");
for (String s : split) {
if (Arrays.asList(animalSplit).contains(s)) {
reagents.add(reagent);
break;
}
}
}
}
// 非空 遍历
if (CollectionUtils.isNotEmpty(reagents)) {
for (Reagent reagent : reagents) {
List<Instrument> instrumentList = new ArrayList<>();
if (reagent != null && reagent.getInstrumentId() != null && !"".equals(reagent.getInstrumentId())) {
// 根据仪器id查数据
String[] split1 = reagent.getInstrumentId().split(",");
for (String s1 : split1) {
Instrument instrument = instrumentService.getById(s1);
instrumentList.add(instrument);
}
}
reagent.setInstrumentList(instrumentList);
List<TypeAndOperation> list = JSON.parseArray(reagent.getTypeAndOperation(), TypeAndOperation.class);
reagent.setOperationList(list);
}
reagentList.addAll(reagents);
}
if (StringUtils.isNotEmpty(reagentId)) {
String[] split = reagentId.split(",");
for (String s : split) {
Reagent reagent = reagentService.getById(s);
reagentList.add(reagent);
}
}
// String reagentId = examineItem.getReagentId();
// String[] split = reagentId.split(",");
// for (String s : split) {
// List<Instrument> instrumentList = new ArrayList<>();
// Reagent reagent = reagentService.getById(s);
// if (reagent != null && reagent.getInstrumentId() != null && !"".equals(reagent.getInstrumentId())) {
// String[] split1 = reagent.getInstrumentId().split(",");
// for (String s1 : split1) {
// Instrument instrument = instrumentService.getById(s1);
// instrumentList.add(instrument);
String substring = examineItem.getName().substring(0, 3);
wrapper.like(Reagent::getName, substring);
reagentList = reagentService.list(wrapper);
// if (examineItem != null) {
// try {
// // 条件查询标签一样的试剂数据
// LambdaQueryWrapper<Reagent> wrapper = new LambdaQueryWrapper<>();
// wrapper.eq(Reagent::getType, "1");
//// wrapper.eq(Reagent::getAnimalSpecies, examineItem.getAnimalSpecies());
// wrapper.eq(Reagent::getExamineType, examineItem.getExamineType());
// List<Reagent> reagentArrayList = reagentService.list(wrapper);
// String[] animalSplit = examineItem.getAnimalSpecies().split(",");
// List<Reagent> reagents = new ArrayList<>();
// for (Reagent reagent : reagentArrayList) {
// if (StringUtils.isNotEmpty(reagent.getAnimalSpecies())) {
// String[] split = reagent.getAnimalSpecies().split(",");
// for (String s : split) {
// if (Arrays.asList(animalSplit).contains(s)) {
// reagents.add(reagent);
// break;
// }
// }
// }
// }
//
// // 非空 遍历
// if (CollectionUtils.isNotEmpty(reagents)) {
// for (Reagent reagent : reagents) {
// List<Instrument> instrumentList = new ArrayList<>();
// if (reagent != null && reagent.getInstrumentId() != null && !"".equals(reagent.getInstrumentId())) {
// // 根据仪器id查数据
// String[] split1 = reagent.getInstrumentId().split(",");
// for (String s1 : split1) {
// Instrument instrument = instrumentService.getById(s1);
// instrumentList.add(instrument);
// }
// }
// reagent.setInstrumentList(instrumentList);
// List<TypeAndOperation> list = JSON.parseArray(reagent.getTypeAndOperation(), TypeAndOperation.class);
// reagent.setOperationList(list);
// }
// reagentList.addAll(reagents);
// }
// reagent.setInstrumentList(instrumentList);
// List<TypeAndOperation> list = JSON.parseArray(reagent.getTypeAndOperation(), TypeAndOperation.class);
// reagent.setOperationList(list);
// reagentList.add(reagent);
// if (StringUtils.isNotEmpty(reagentId)) {
// String[] split = reagentId.split(",");
// for (String s : split) {
// Reagent reagent = reagentService.getById(s);
// reagentList.add(reagent);
// }
// }
// } catch (NullPointerException e) {
// throw new Exception("请给当前检测项目关联对应的试剂");
// }
} catch (NullPointerException e) {
throw new Exception("请给当前检测项目关联对应的试剂");
}
}
// }
}
return R.data(reagentList);
}

@ -90,7 +90,7 @@ public class ExamineResultController extends BladeController {
Examine examine = examineService.getById(examineId);
ExamineItem examineItem = examineItemService.getById(examine.getExamineItemId());
ExamineWay examineWay = examineWayService.getById(examine.getExamineWayId());
if ("2".equals(examineWay.getInputMode()) || "6".equals(examineWay.getInputMode())) {
if ("2".equals(examineWay.getInputMode()) || "6".equals(examineWay.getInputMode()) || "7".equals(examineWay.getInputMode())) {
return blsExcel(file, examineId);
} else if ("3".equals(examineWay.getInputMode())) {
return ktyExcel(file, examineId);
@ -98,10 +98,9 @@ public class ExamineResultController extends BladeController {
// else if ("4".equals(examineWay.getInputMode())) {
// return pcrExcel(file, examineId);
// }
else if ("5".equals(examineWay.getInputMode())) {
else if ("5".equals(examineWay.getInputMode())) {
return xnExcel(file, examineId);
}
else {
} else {
return ptExcel(file, examineId, reagentId);
}
}
@ -3147,7 +3146,7 @@ public class ExamineResultController extends BladeController {
List<ExamineTemplate2Excel> read = ExcelUtil.read(file, ExamineTemplate2Excel.class);
if (read != null && read.size() > 0) {
// 布鲁氏杆菌抗体检测(平板凝集)
if ("2".equals(examineWay.getInputMode())) {
if ("2".equals(examineWay.getInputMode()) || "7".equals(examineWay.getInputMode())) {
for (ExamineTemplate2Excel excel : read) {
if ("+".equals(excel.getValue())) {
excel.setResult("阳性");
@ -3724,8 +3723,8 @@ public class ExamineResultController extends BladeController {
* 口蹄疫Excel解析数据
*/
private R ktyExcel1(MultipartFile file, String examineId,
String infoStr,
String reg) throws Exception {
String infoStr,
String reg) throws Exception {
List<ExamineExcel> originRowDatas = ExcelUtil.read(file, ExamineExcel.class);
String[] split = examineId.split(",");
Examine examine = examineService.getById(split[0]);
@ -3933,14 +3932,14 @@ public class ExamineResultController extends BladeController {
data.put("log2", isPig ? "≥1:64" : "≥1:128");
data.put("result", "阳性");
allDatas.add(data);
yangCount ++;
simpleCount ++;
yangCount++;
simpleCount++;
} else {
data.put("log2", isPig ? "<1:64" : "<1:128");
data.put("result", "阴性");
allDatas.add(data);
yinCount ++;
simpleCount ++;
yinCount++;
simpleCount++;
}
}
}
@ -4077,14 +4076,14 @@ public class ExamineResultController extends BladeController {
data.put("log2", isPig ? "≥1:64" : "≥1:128");
data.put("result", "阳性");
allDatas.add(data);
yangCount ++;
simpleCount ++;
yangCount++;
simpleCount++;
} else {
data.put("log2", isPig ? "<1:64" : "<1:128");
data.put("result", "阴性");
allDatas.add(data);
yinCount ++;
simpleCount ++;
yinCount++;
simpleCount++;
}
}
}
@ -4229,7 +4228,8 @@ public class ExamineResultController extends BladeController {
List<Double> list3 = new ArrayList<>();
list3.add(list2.get(1));
list3.add(list2.get(2));
Map<String, String> info = JSON.parseObject(infoStr, new TypeReference<HashMap<String, String>>() {});
Map<String, String> info = JSON.parseObject(infoStr, new TypeReference<HashMap<String, String>>() {
});
List<String> list = new ArrayList<>(info.keySet());
// 公示内容换成真实数据换成真实数据值
@ -4313,7 +4313,6 @@ public class ExamineResultController extends BladeController {
// }
// return R.data(read);
// }
@PostMapping("/pcrExcel")
public R pcrExcel(@RequestBody ExamineResult entry) {
List<PCR2Excel> read = JSON.parseArray(entry.getJsonDatas(), PCR2Excel.class);
@ -4372,7 +4371,8 @@ public class ExamineResultController extends BladeController {
if (read != null && read.size() > 0) {
List<String> list = Arrays.asList("<1", "<1", "1", "2", "3");
List<String> list2 = Arrays.asList("4", "5", "6", "≥6", "7", "8", "9", "≥10", ">=6", ">=10");
for (XN2Excel excel : read) {
for (int i = 0; i < read.size() - 2; i++) {
XN2Excel excel = read.get(i);
if (list.contains(excel.getCtValue())) {
excel.setResult("阴性");
} else if (list2.contains(excel.getCtValue())) {
@ -4515,7 +4515,7 @@ public class ExamineResultController extends BladeController {
// ExamineItem examineItem = examineItemService.getById(examine.getExamineItemId());
ExamineWay examineWay = examineWayService.getById(examine.getExamineWayId());
// 如果是布鲁氏杆菌抗体检测
if ("2".equals(examineWay.getInputMode()) || "6".equals(examineWay.getInputMode())) {
if ("2".equals(examineWay.getInputMode()) || "6".equals(examineWay.getInputMode()) || "7".equals(examineWay.getInputMode())) {
LambdaQueryWrapper<SimpleDoExamineLog> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SimpleDoExamineLog::getExamineId, id);
wrapper.eq(SimpleDoExamineLog::getIsFinished, 0);
@ -4565,6 +4565,12 @@ public class ExamineResultController extends BladeController {
pcrExcel.setExperieNum(s);
list.add(pcrExcel);
}
XNExcel pcrExcel1 = new XNExcel();
pcrExcel1.setExperieNum("阴性对照");
list.add(pcrExcel1);
XNExcel pcrExcel2 = new XNExcel();
pcrExcel2.setExperieNum("阳性对照");
list.add(pcrExcel2);
ExcelUtil.export(response, "结果模板", "结果模板", list, XNExcel.class);
}
// 普通检测

@ -212,7 +212,7 @@ public class SimpleRelController extends BladeController {
wrapper.eq(SimpleRel::getOriginalNum, simpleRel.getOriginalNum());
int count = simpleRelService.count(wrapper);
// 如果有相同的,抛异常提示
if (count > 0) {
if (count > 1) {
throw new Exception("目标原始编号和现有原始编号重复,请检查!");
}

@ -0,0 +1,13 @@
package org.springblade.lims.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springblade.lims.entry.ContractSample;
/**
* @author lt
* @since 2022年11月15日15:52:49
*/
public interface ContractSampleMapper extends BaseMapper<ContractSample> {
}

@ -16,6 +16,7 @@
WHERE
investigative_type = #{investigativeType}
AND create_time >= #{createTime}
AND entrust_type = 1
AND is_deleted in (0,1)
AND entrust_status &lt;&gt; - 1
</select>

@ -0,0 +1,17 @@
package org.springblade.lims.service;
import org.springblade.core.mp.base.BaseService;
import org.springblade.lims.entry.Contract;
import org.springblade.lims.entry.ContractSample;
import javax.servlet.http.HttpServletResponse;
/**
* @author lt
* @since 2022年11月15日15:53:33
*/
public interface IContractSampleService extends BaseService<ContractSample> {
}

@ -5,6 +5,8 @@ package org.springblade.lims.service;
import org.springblade.core.mp.base.BaseService;
import org.springblade.lims.entry.Contract;
import javax.servlet.http.HttpServletResponse;
/**
*
*
@ -13,4 +15,5 @@ import org.springblade.lims.entry.Contract;
*/
public interface IContractService extends BaseService<Contract> {
void contractReview(String id, HttpServletResponse response);
}

@ -0,0 +1,33 @@
package org.springblade.lims.service.impl;
import cn.afterturn.easypoi.word.WordExportUtil;
import lombok.AllArgsConstructor;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.lims.entry.Contract;
import org.springblade.lims.entry.ContractSample;
import org.springblade.lims.mapper.ContractMapper;
import org.springblade.lims.mapper.ContractSampleMapper;
import org.springblade.lims.service.IContractSampleService;
import org.springblade.lims.service.IContractService;
import org.springblade.system.cache.DictBizCache;
import org.springblade.system.enums.DictBizEnum;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
/**
* @author lt
* @since 2022年11月15日15:54:13
*/
@Service
@AllArgsConstructor
public class ContractSampleServiceImpl extends BaseServiceImpl<ContractSampleMapper, ContractSample> implements IContractSampleService {
}

@ -2,13 +2,22 @@
package org.springblade.lims.service.impl;
import cn.afterturn.easypoi.word.WordExportUtil;
import lombok.AllArgsConstructor;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.lims.entry.Contract;
import org.springblade.lims.mapper.ContractMapper;
import org.springblade.lims.service.IContractService;
import org.springblade.system.cache.DictBizCache;
import org.springblade.system.enums.DictBizEnum;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
/**
*
@ -19,4 +28,61 @@ import org.springframework.stereotype.Service;
@AllArgsConstructor
public class ContractServiceImpl extends BaseServiceImpl<ContractMapper, Contract> implements IContractService {
@Override
public void contractReview(String id, HttpServletResponse response) {
Map<String, Object> result = new HashMap<>();
Contract contract = this.getById(id);
result.put("1", contract.getEntrustUnit());
result.put("2", contract.getEntryName());
result.put("3", contract.getContractCode());
result.put("4", contract.getExamineContent());
result.put("5", contract.getContractMount());
result.put("6", contract.getReviewConclusion());
result.put("7", contract.getCenterDirectorOpinion());
String url = DictBizCache.getKey(DictBizEnum.PRINT_URL.getName(), "contractPrint");
//模板地址
// String handleUrl = "C://Users//AAA//Desktop//烁今//打印模板//委托单(模板).docx";
XWPFDocument doc = null;
// FileOutputStream fos = null;
try {
doc = WordExportUtil.exportWord07(url, result);
// fos = new FileOutputStream("C://Users//AAA//Desktop//shuojin//dayin//委托单.docx");
String filename = "测试.docx";
response.setContentType("application/octet-stream");
response.setHeader("content-disposition", "attachment;filename=12344.docx");
doc.write(response.getOutputStream());
contract.setStatus(4);
this.updateById(contract);
} catch (Exception e) {
e.printStackTrace();
} finally {
// if (null != doc) {
//// doc.close();
// try {
// doc.write(fos);
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
// if (null != fos) {
// try {
// fos.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
if (null != doc) {
try {
doc.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}

@ -91,6 +91,8 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
private IContractService contractService;
@Autowired
private IRepairApplicationService repairApplicationService;
@Autowired
private IContractSampleService contractSampleService;
// @Value("${handleUrl}")
@ -175,7 +177,9 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
long id = RandomUtils.nextLong();
// 送检单位、采样单位之类的,如果没有就新增
addIfNull(entrust);
if (entrust.getContractId() == null) {
addIfNull(entrust);
}
// 新增或修改 检测集合
addOrUpdateExamines(entrust.getExamines(), entrust, id);
@ -201,6 +205,20 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
// 委托单入库/修改
addOrUpdateEntrust(entrust, id);
// 合同评审收样登记入库
if (entrust.getContractId() != null) {
if (CollectionUtils.isNotEmpty(entrust.getContractSamples())) {
List<ContractSample> contractSamples = entrust.getContractSamples();
for (ContractSample contractSample : contractSamples) {
contractSample.setContractId(entrust.getContractId().toString());
contractSample.setEntrustId(String.valueOf(entrust.getId()));
contractSample.setSampleName(entrust.getSimpleName());
contractSample.setCollectSampleTime(entrust.getSamplingDate());
}
contractSampleService.saveBatch(contractSamples);
}
}
return entrust;
}
@ -303,7 +321,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
result.put("company", entrust.getTakeCompany());
result.put("person", entrust.getTakePerson());
result.put("address", entrust.getTakeCompanyAddress());
result.put("phone", entrust.getTakePhone());
result.put("takePhone", entrust.getTakePhone());
result.put("resultList", resultList);
result.put("list", resultList1);
@ -3209,7 +3227,8 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
map1.put("3", b1);
map1.put("4", b2);
map2.put("2", "阴性对照OD平均值与阳性对照OD平均值之差");
map2.put("3", Math.abs(Double.parseDouble(format) - Double.parseDouble(format1)));
double cha = Double.parseDouble(format) - Double.parseDouble(format1);
map2.put("3", cha > 0 ? cha : -cha);
}
// 猪瘟病毒间接ELISA抗体检测试剂盒---北京明日达科技发展有限责任公司
else if ("1570671477110534145".equals(reagentId)) {
@ -4343,10 +4362,22 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
*/
private Entrust isContractTypeEntrust(Entrust entrust) {
if (entrust.getContractId() != null) {
// if (CollectionUtils.isNotEmpty(entrust.getContractSamples())) {
// List<ContractSample> contractSamples = entrust.getContractSamples();
// for (ContractSample contractSample : contractSamples) {
// contractSample.setContractId(entrust.getContractId().toString());
// contractSample.setEntrustId(String.valueOf(id));
// contractSample.setSampleName(entrust.getSimpleName());
// contractSample.setCollectSampleTime(entrust.getSamplingDate());
// }
// contractSampleService.saveBatch(contractSamples);
// }
Contract byId = contractService.getById(entrust.getContractId());
entrust.setContractCode(byId.getContractCode());
entrust.setEntrustType(2);
Contract contract = new Contract();
contract.setId(entrust.getContractId());
contract.setStatus(2);
contract.setStatus(6);
contractService.updateById(contract);
} else {
entrust.setEntrustType(1);
@ -4358,6 +4389,21 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
* 样品关联数据入库
*/
private Entrust addSimpleRel(Entrust entrust, long id) {
// 合同评审类型委托单计算样品数量计算
int total = 0;
if (entrust.getContractId() != null) {
LambdaQueryWrapper<Entrust> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Entrust::getContractId, entrust.getContractId());
wrapper.eq(Entrust::getFarmType, entrust.getFarmType());
wrapper.eq(Entrust::getSimpleName, entrust.getSimpleName());
List<Entrust> entrusts = this.list(wrapper);
if (CollectionUtils.isNotEmpty(entrusts)) {
for (Entrust entrust1 : entrusts) {
total += entrust1.getSimpleCount();
}
}
}
List<SimpleRel> rels = new ArrayList<>();
LocalDateTime now = LocalDateTime.now();
@ -4370,12 +4416,12 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
// String s = strings[1] + "-" + now.getYear() + month1 + day1 + hour1 + "-";
String s = "";
StringBuilder simpleName = new StringBuilder();
String simpleName = "";
Integer simpleCount = 0;
List<Map<String, Object>> list = entrust.getSimpleNames();
// 检测编号计数器
int experieNumCount = 1;
int experieNumCount = total + 1;
// 样品排序
for (int sort = 0; sort < list.size(); sort++) {
Map<String, Object> map = list.get(sort);
@ -4383,9 +4429,9 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
String name = (String) map.get("simpleName");
// 拼接样品名称并去逗号
if (sort == (list.size() - 1)) {
simpleName.append(name);
simpleName += name;
} else {
simpleName.append(name).append(",");
simpleName += name + ",";
}
// 样品数量
Integer count = (Integer) map.get("simpleCount");
@ -4430,7 +4476,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
}
simpleRelService.saveBatch(rels);
// 委托单内容补充
entrust.setSimpleName(simpleName.toString());
entrust.setSimpleName(simpleName);
entrust.setSimpleCount(simpleCount);
String originalNum = "01-" + fullByZero(simpleCount);

@ -127,7 +127,7 @@ public class ExamineResultServiceImpl extends BaseServiceImpl<ExamineResultMappe
if (examineResult.getNeedTwice() == 0) {
// 本检测用到的样品状态改为已实验
String[] split = experieNum.split(",");
if (split != null && split.length > 0) {
if (split.length > 0) {
QueryWrapper<Simple> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("entrust_id", byId.getEntrustId());
queryWrapper.eq("experie_num", split);
@ -149,20 +149,23 @@ public class ExamineResultServiceImpl extends BaseServiceImpl<ExamineResultMappe
examine.setId(null);
examine.setExperieNum(examineResult.getPositiveNum());
examine.setSimpleCount(split.length);
QueryWrapper<ExamineItem> queryWrapper = new QueryWrapper<>();
QueryWrapper<ExamineWay> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("input_mode", "6");
List<ExamineItem> list = examineItemService.list(queryWrapper);
List<ExamineWay> list = examineWayService.list(queryWrapper);
if (CollectionUtil.isNotEmpty(list) && list.get(0) != null) {
// 布鲁氏杆菌抗体检测(试管凝集微量法)
ExamineItem examineItem = list.get(0);
examine.setExamineItemId(examineItem.getId());
String wayAndBasis = examineItem.getWayAndBasis();
List<WayAndBasis> wayAndBaseList = JSON.parseArray(wayAndBasis, WayAndBasis.class);
if (CollectionUtil.isNotEmpty(wayAndBaseList) && wayAndBaseList.get(0) != null) {
WayAndBasis wayAndBasis1 = wayAndBaseList.get(0);
examine.setExamineWayId(Long.valueOf(wayAndBasis1.getExamineWayId()));
examine.setExamineBasisId(Long.valueOf(wayAndBasis1.getExamineBasisId()));
}
ExamineWay examineWay = list.get(0);
// ExamineItem examineItem = list.get(0);
// examine.setExamineItemId(examineItem.getId());
// String wayAndBasis = examineItem.getWayAndBasis();
// List<WayAndBasis> wayAndBaseList = JSON.parseArray(wayAndBasis, WayAndBasis.class);
// if (CollectionUtil.isNotEmpty(wayAndBaseList) && wayAndBaseList.get(0) != null) {
// WayAndBasis wayAndBasis1 = wayAndBaseList.get(0);
// examine.setExamineWayId(Long.valueOf(wayAndBasis1.getExamineWayId()));
// examine.setExamineBasisId(Long.valueOf(wayAndBasis1.getExamineBasisId()));
// }
examine.setExamineWayId(examineWay.getId());
examine.setExamineBasisId(1585248987194306561L);
}
examine.setIsFinished("-1");
examineService.save(examine);

@ -2,6 +2,7 @@
package org.springblade.system.user.service.impl;
import com.alibaba.nacos.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -113,7 +114,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
public boolean updateUserInfo(User user) {
String realPath = sysClient.getParamValue("electronic_signature_real_path").getData();
User byId = this.getById(user.getId());
if (byId.getElectronicSignature() != null && !"".equals(byId.getElectronicSignature())) {
if (StringUtils.isNotBlank(byId.getElectronicSignature()) && StringUtils.isNotBlank(user.getElectronicSignature())) {
File file = new File(realPath + byId.getElectronicSignature());
if (file.exists()) {
file.delete();
@ -126,7 +127,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
}
}
user.setPassword(null);
if (!"".equals(user.getElectronicSignature()) && user.getElectronicSignature() != null) {
if (StringUtils.isNotBlank(user.getElectronicSignature())) {
Random random = new Random();
String fileName = random.nextLong() + ".png";
String path = realPath + fileName;

Loading…
Cancel
Save