Commit cdb5eb65 by wangweidong

土工试验平台修改

parent fb6e0fc3
package com.patzn.cloud.service.lims.common;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.poibox.xwpf.HSSFWorkbookUtil;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.multipart.MultipartFile;
import java.io.InputStream;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
public class ExcelReader {
protected static final Logger logger = LoggerFactory.getLogger(ExcelReader.class);
public static <T> Collection<T> readSheetAtOne(Class<T> type, MultipartFile file, List<String> listTemplate, List<String> listColumn) {
InputStream io = null;
XSSFWorkbook workbook = null;
try {
io=file.getInputStream();
workbook = new XSSFWorkbook(io);
}catch (Exception e){
logger.error("ExcelReader error :"+e.getMessage());
e.printStackTrace();
}
XSSFSheet sheet0= workbook.getSheetAt(0);
XSSFRow row0= sheet0.getRow(0);
int cellNum= row0.getLastCellNum();
List<String> listTitle=new ArrayList<>();
for (int i = 0; i < cellNum; i++) {
XSSFCell cell= row0.getCell(i);
String value = HSSFWorkbookUtil.getJavaValue(cell).toString();
listTitle.add(value);
}
RestAssert.fail(listTitle.size()!=listTemplate.size(),"请下载模板按照模板填写数据后导入");
int size = listTemplate.size();
for (int i = 0; i < size; i++) {
String c1 = listTitle.get(i);
String c2 = listTemplate.get(i);
RestAssert.fail(!c2.equals(c1),"请下载模板按照模板填写数据后导入");
}
int rowNum = sheet0.getLastRowNum();
Collection<T> etos = new ArrayList<>();
try {
for (int i = 1; i <= rowNum ; i++) {
T eto = type.newInstance();
XSSFRow row = sheet0.getRow(i);
for (int j = 0; j < size; j++) {
Field f = eto.getClass().getDeclaredField(listColumn.get(j));
f.setAccessible(true);
f.set(eto, HSSFWorkbookUtil.getJavaValue(row.getCell(j)).toString());
}
etos.add(eto);
}
}catch (Exception e){
RestAssert.fail("导入失败");
}finally {
try {
io.close();
workbook.close();
}catch (Exception e){
e.printStackTrace();
}
}
return etos;
}
}
...@@ -198,4 +198,35 @@ public final class StringStaticDataUtils { ...@@ -198,4 +198,35 @@ public final class StringStaticDataUtils {
reportModelList.add("envSendReport.docx"); reportModelList.add("envSendReport.docx");
reportModelList.add("envSampleItemReport.docx"); reportModelList.add("envSampleItemReport.docx");
} }
public static final List<String> soilAptitudeListTemplate=new ArrayList<>();
static {
soilAptitudeListTemplate.add("试验名称");
soilAptitudeListTemplate.add("检定依据");
soilAptitudeListTemplate.add("检测科室");
soilAptitudeListTemplate.add("英文名称");
soilAptitudeListTemplate.add("试验项目英文简写");
soilAptitudeListTemplate.add("大类");
soilAptitudeListTemplate.add("小类");
soilAptitudeListTemplate.add("试验方法");
soilAptitudeListTemplate.add("备注");
}
public static final List<String> soilAptitudeListColumn=new ArrayList<>();
static {
soilAptitudeListColumn.add("name");
soilAptitudeListColumn.add("testBasis");
soilAptitudeListColumn.add("groupName");
soilAptitudeListColumn.add("elName");
soilAptitudeListColumn.add("shortName");
soilAptitudeListColumn.add("mainType");
soilAptitudeListColumn.add("smallType");
soilAptitudeListColumn.add("testMethod");
soilAptitudeListColumn.add("remark");
}
} }
...@@ -34,6 +34,7 @@ public class ExcelController extends ServiceController { ...@@ -34,6 +34,7 @@ public class ExcelController extends ServiceController {
ExcelController.TPL.put("MeterOutAptitudeImport", "资质外计量器具导入模板"); ExcelController.TPL.put("MeterOutAptitudeImport", "资质外计量器具导入模板");
ExcelController.TPL.put("MeterSendSampleImport", "出检样品导入模板"); ExcelController.TPL.put("MeterSendSampleImport", "出检样品导入模板");
ExcelController.TPL.put("SoilEntrustImport", "试验委托单导入模板"); ExcelController.TPL.put("SoilEntrustImport", "试验委托单导入模板");
ExcelController.TPL.put("SoilAptExpImport", "试样项目导入模板");
} }
@ApiOperation(value = "根据模板名称下载模板", notes = "根据模板名称下载导入模板") @ApiOperation(value = "根据模板名称下载模板", notes = "根据模板名称下载导入模板")
......
...@@ -24,6 +24,7 @@ import io.swagger.annotations.Api; ...@@ -24,6 +24,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.web.multipart.MultipartFile;
/** /**
* <p> * <p>
...@@ -99,4 +100,11 @@ public class SoilAptitudeExpController extends ServiceController { ...@@ -99,4 +100,11 @@ public class SoilAptitudeExpController extends ServiceController {
return success(soilAptitudeExpService.remove(Condition.create().in("id", ids))); return success(soilAptitudeExpService.remove(Condition.create().in("id", ids)));
} }
@ApiOperation(value = "导入试验项目 EXCEL", notes = "导入试验项目 EXCEL 的数据内容")
@PostMapping("/import_aptitude/")
public RestResult<Boolean> importAptitudeExp(MultipartFile file) {
return success(soilAptitudeExpService.importAptitudeExp(file,getAccount()));
}
} }
...@@ -189,6 +189,21 @@ public class SoilEntrustController extends ServiceController { ...@@ -189,6 +189,21 @@ public class SoilEntrustController extends ServiceController {
@ApiOperation(value = "样品接收委托分页列表", notes = "分页查询数据列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_sample_take")
public RestResult<Page<SoilEntrustVO>> getPageSampleTake(SoilEntrustVO soilEntrust) {
return success(soilEntrustService.pageVOTake(getPage(), soilEntrust));
}
@ApiOperation(value = "样品接收发放委托历史分页列表", notes = "样品接收发放委托历史分页列表") @ApiOperation(value = "样品接收发放委托历史分页列表", notes = "样品接收发放委托历史分页列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
...@@ -283,6 +298,27 @@ public class SoilEntrustController extends ServiceController { ...@@ -283,6 +298,27 @@ public class SoilEntrustController extends ServiceController {
@ApiOperation(value = "试验项目检测委托分页列表", notes = "试验任务分配委托分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_exp_test_his")
public RestResult<Page<SoilEntrustVO>> getPageTaskTestHis(SoilEntrustVO soilEntrust) {
soilEntrust.setExpStatusList(Lists.newArrayList(
SoilExpStatusEnum.CHECK,
SoilExpStatusEnum.AUDIT,
SoilExpStatusEnum.END
));
soilEntrust.setUid(getAccount().getUserId());
return success(soilEntrustService.pageVOByExperiment(getPage(), soilEntrust));
}
@ApiOperation(value = "试验项目复核委托分页列表", notes = "试验项目复核委托分页列表") @ApiOperation(value = "试验项目复核委托分页列表", notes = "试验项目复核委托分页列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
...@@ -297,6 +333,26 @@ public class SoilEntrustController extends ServiceController { ...@@ -297,6 +333,26 @@ public class SoilEntrustController extends ServiceController {
} }
@ApiOperation(value = "试验项目复核历史委托分页列表", notes = "试验项目复核历史委托分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_exp_check_his")
public RestResult<Page<SoilEntrustVO>> getPageTaskCheckHis(SoilEntrustVO soilEntrust) {
soilEntrust.setExpStatusList(Lists.newArrayList(
SoilExpStatusEnum.AUDIT,
SoilExpStatusEnum.END
));
return success(soilEntrustService.pageVOByExperiment(getPage(), soilEntrust));
}
@ApiOperation(value = "试验项目审核委托分页列表", notes = "试验项目审核委托分页列表") @ApiOperation(value = "试验项目审核委托分页列表", notes = "试验项目审核委托分页列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
......
...@@ -2,6 +2,7 @@ package com.patzn.cloud.service.lims.soil.controller; ...@@ -2,6 +2,7 @@ package com.patzn.cloud.service.lims.soil.controller;
import java.util.List; import java.util.List;
import com.google.common.collect.Lists;
import com.patzn.cloud.commons.api.RestAssert; import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.service.soil.enums.SoilExpStatusEnum; import com.patzn.cloud.service.soil.enums.SoilExpStatusEnum;
import com.patzn.cloud.service.soil.vo.SoilExperimentVO; import com.patzn.cloud.service.soil.vo.SoilExperimentVO;
...@@ -179,6 +180,35 @@ public class SoilExperimentController extends ServiceController { ...@@ -179,6 +180,35 @@ public class SoilExperimentController extends ServiceController {
@ApiOperation(value = "试验项目按照样品分配分页列表", notes = "分页查询数据列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_check")
public RestResult<Page<SoilExperimentVO>> getPageCheck(@RequestParam("sampleIds") Long [] sampleIds ,SoilExperimentVO vo) {
vo.setStatus(SoilExpStatusEnum.CHECK);
return success(soilExperimentService.pageBySampleIds(getPage(), sampleIds,vo));
}
@ApiOperation(value = "试验项目按照样品审核分页列表", notes = "分页查询数据列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_audit")
public RestResult<Page<SoilExperimentVO>> getPageAudit(@RequestParam("sampleIds") Long [] sampleIds ,SoilExperimentVO vo) {
vo.setStatus(SoilExpStatusEnum.AUDIT);
return success(soilExperimentService.pageBySampleIds(getPage(), sampleIds,vo));
}
@ApiOperation(value = "试验项目按照试验项目分配(右侧数据)分配分页列表", notes = "分页查询数据列表") @ApiOperation(value = "试验项目按照试验项目分配(右侧数据)分配分页列表", notes = "分页查询数据列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
...@@ -209,6 +239,27 @@ public class SoilExperimentController extends ServiceController { ...@@ -209,6 +239,27 @@ public class SoilExperimentController extends ServiceController {
} }
@ApiOperation(value = "试验项目按照试验项目检测(右侧数据)历史检测分页列表", notes = "分页查询数据列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_exp_test_his")
public RestResult<Page<SoilExperimentVO>> getPageExpTestHis(SoilExperimentVO vo) {
vo.setStatusList(Lists.newArrayList(
SoilExpStatusEnum.CHECK,
SoilExpStatusEnum.AUDIT,
SoilExpStatusEnum.END
));
vo.setTesterId(getAccount().getUserId());
return success(soilExperimentService.pageExpRight(getPage(),vo));
}
@ApiOperation(value = "试验项目按照试验项目检测(右侧数据)复核分页列表", notes = "分页查询数据列表") @ApiOperation(value = "试验项目按照试验项目检测(右侧数据)复核分页列表", notes = "分页查询数据列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
...@@ -271,6 +322,27 @@ public class SoilExperimentController extends ServiceController { ...@@ -271,6 +322,27 @@ public class SoilExperimentController extends ServiceController {
@ApiOperation(value = "按照试验项目(样品检测按照试验项目左侧)历史分页列表", notes = "按照试验项目检测历史分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_test_by_exp_his")
public RestResult<Page<SoilExperimentVO>> getPageTestByExpHis(SoilExperimentVO vo) {
RestAssert.fail(null == vo.getEntrustId(),"试验委托单ID不能为空");
vo.setStatusList(Lists.newArrayList(
SoilExpStatusEnum.CHECK,
SoilExpStatusEnum.AUDIT,
SoilExpStatusEnum.END
));
vo.setTesterId(getAccount().getUserId());
return success(soilExperimentService.pageTestByExp(getPage(),vo));
}
@ApiOperation(value = "原始记录关联的试验项目分页列表", notes = "原始记录关联的试验项目分页列表") @ApiOperation(value = "原始记录关联的试验项目分页列表", notes = "原始记录关联的试验项目分页列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
...@@ -302,6 +374,25 @@ public class SoilExperimentController extends ServiceController { ...@@ -302,6 +374,25 @@ public class SoilExperimentController extends ServiceController {
@ApiOperation(value = "按照试验项目(数据复核按照试验项目左侧)历史分页列表", notes = "按照试验项目检测分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_check_by_exp_his")
public RestResult<Page<SoilExperimentVO>> getPageCheckByExpHis(SoilExperimentVO vo) {
RestAssert.fail(null == vo.getEntrustId(),"试验委托单ID不能为空");
vo.setStatusList(Lists.newArrayList(
SoilExpStatusEnum.AUDIT,
SoilExpStatusEnum.END
));
return success(soilExperimentService.pageTestByExp(getPage(),vo));
}
@ApiOperation(value = "按照试验项目(数据审核按照试验项目左侧)分页列表", notes = "按照试验项目检测分页列表") @ApiOperation(value = "按照试验项目(数据审核按照试验项目左侧)分页列表", notes = "按照试验项目检测分页列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
...@@ -331,4 +422,12 @@ public class SoilExperimentController extends ServiceController { ...@@ -331,4 +422,12 @@ public class SoilExperimentController extends ServiceController {
return success(soilExperimentService.pageByByEntrust(getPage(),vo)); return success(soilExperimentService.pageByByEntrust(getPage(),vo));
} }
@ApiOperation(value = "批量修改试验项目信息", notes = "批量修改试验项目信息")
@PostMapping("/bath_update_info")
public RestResult<Boolean> bathUpdateInfo(@RequestParam("ids") Long [] ids,SoilExperiment experiment) {
return success(soilExperimentService.bathUpdateInfo(ids,experiment,getAccount()));
}
} }
package com.patzn.cloud.service.lims.soil.controller;
import com.patzn.cloud.service.soil.dto.SoilExperimentRelEquipDTO;
import com.patzn.cloud.service.soil.entity.SoilExperimentRelEquip;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
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.service.lims.soil.service.ISoilExperimentRelEquipService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* 试验项目检测设备表 前端控制器
*
* @author wwd
* @since 2020-10-28
*/
@Api(tags = "试验项目检测设备表")
@RestController
@RequestMapping("/v1/experiment_rel_equip")
public class SoilExperimentRelEquipController extends ServiceController {
@Autowired
private ISoilExperimentRelEquipService soilExperimentRelEquipService;
@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")
public RestResult<Page<SoilExperimentRelEquip>> getPage(SoilExperimentRelEquip soilExperimentRelEquip) {
return success(soilExperimentRelEquipService.page(getPage(), soilExperimentRelEquip));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<SoilExperimentRelEquip> get(@PathVariable("id") Long id) {
return success(soilExperimentRelEquipService.getById(id));
}
@ApiOperation("根据 id 修改信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, SoilExperimentRelEquip soilExperimentRelEquip) {
soilExperimentRelEquip.setId(id);
return success(soilExperimentRelEquipService.updateById(soilExperimentRelEquip));
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(SoilExperimentRelEquip soilExperimentRelEquip) {
return success(soilExperimentRelEquipService.save(soilExperimentRelEquip));
}
@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) {
return success(soilExperimentRelEquipService.removeByIds(ids));
}
@ApiOperation("添加设备信息")
@PostMapping("/add_exp_equip")
public RestResult<Boolean> addExpEquip(@RequestBody SoilExperimentRelEquipDTO equipDTO) {
return success(soilExperimentRelEquipService.addExpEquip(equipDTO,getAccount()));
}
}
...@@ -79,6 +79,20 @@ public class SoilPrepareController extends ServiceController { ...@@ -79,6 +79,20 @@ public class SoilPrepareController extends ServiceController {
@ApiOperation(value = "样品制备历史查询数据列表", notes = "样品制备历史查询数据列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_prepare_his")
public RestResult<Page<SoilPrepareVO>> getPagePrepareHis(SoilPrepareVO soilPrepare) {
return success(soilPrepareService.pagePrepareVO(getPage(), soilPrepare));
}
@ApiOperation(value = "余样样品处理审批分页列表", notes = "余样样品处理审批分页列表") @ApiOperation(value = "余样样品处理审批分页列表", notes = "余样样品处理审批分页列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
......
...@@ -152,6 +152,23 @@ public class SoilSampleBackupController extends ServiceController { ...@@ -152,6 +152,23 @@ public class SoilSampleBackupController extends ServiceController {
} }
@ApiOperation(value = "备样处理审批历史分页列表", notes = "备样分页查询数据列表")
@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_backup_handle_check_his")
public RestResult<Page<SoilSampleBackupVO>> getPageBackupHandleCheckHis(SoilSampleBackupVO soilSampleBackup) {
return success(soilSampleBackupService.pageVOHandleCheckHis(getPage(), soilSampleBackup));
}
@ApiOperation(value = "根据 ids 删除", notes = "根据 id 数组删除指定的数据内容") @ApiOperation(value = "根据 ids 删除", notes = "根据 id 数组删除指定的数据内容")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键数组", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class), @ApiImplicitParam(name = "ids", value = "主键数组", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
......
...@@ -203,6 +203,97 @@ public class SoilSampleController extends ServiceController { ...@@ -203,6 +203,97 @@ public class SoilSampleController extends ServiceController {
@ApiOperation(value = "试验项目检测样品历史分页列表", notes = "试验项目检测样品分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_exp_test_sample_his")
public RestResult<Page<SoilSampleVO>> getPageExpTestSampleHis(SoilSampleVO soilSample) {
soilSample.setUid(getAccount().getUserId());
soilSample.setExpStatusList(Lists.newArrayList(
SoilExpStatusEnum.CHECK,
SoilExpStatusEnum.AUDIT,
SoilExpStatusEnum.END
));
return success(soilSampleService.pageByExp(getPage(), soilSample));
}
@ApiOperation(value = "试验项目复核样品分页列表", notes = "试验项目检测样品分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_exp_check_sample")
public RestResult<Page<SoilSampleVO>> getPageExpCheckSample(SoilSampleVO soilSample) {
soilSample.setExpStatus(SoilExpStatusEnum.CHECK);
return success(soilSampleService.pageByExp(getPage(), soilSample));
}
@ApiOperation(value = "试验项目复核样品历史分页列表", notes = "试验项目检测样品分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_exp_check_sample_his")
public RestResult<Page<SoilSampleVO>> getPageExpCheckSampleHis(SoilSampleVO soilSample) {
soilSample.setExpStatusList(Lists.newArrayList(
SoilExpStatusEnum.AUDIT,
SoilExpStatusEnum.END
));
return success(soilSampleService.pageByExp(getPage(), soilSample));
}
@ApiOperation(value = "试验项目审核样品分页列表", notes = "试验项目审核样品分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_exp_audit_sample")
public RestResult<Page<SoilSampleVO>> getPageExpAuditSample(SoilSampleVO soilSample) {
soilSample.setExpStatus(SoilExpStatusEnum.AUDIT);
return success(soilSampleService.pageByExp(getPage(), soilSample));
}
@ApiOperation(value = "试验项目审核样品历史分页列表", notes = "试验项目审核样品历史分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_exp_audit_sample_his")
public RestResult<Page<SoilSampleVO>> getPageExpAuditSampleHis(SoilSampleVO soilSample) {
soilSample.setExpStatusList(Lists.newArrayList(
SoilExpStatusEnum.END
));
return success(soilSampleService.pageByExp(getPage(), soilSample));
}
@ApiOperation(value = "查询列表", notes = "查询数据列表") @ApiOperation(value = "查询列表", notes = "查询数据列表")
@PostMapping("/list") @PostMapping("/list")
public RestResult<List<SoilSample>> getList(SoilSample soilSample) { public RestResult<List<SoilSample>> getList(SoilSample soilSample) {
......
...@@ -8,6 +8,7 @@ import com.patzn.cloud.commons.api.RestResult; ...@@ -8,6 +8,7 @@ import com.patzn.cloud.commons.api.RestResult;
import com.patzn.cloud.commons.controller.ServiceController; import com.patzn.cloud.commons.controller.ServiceController;
import com.patzn.cloud.service.lims.soil.service.ISoilEntrustService; import com.patzn.cloud.service.lims.soil.service.ISoilEntrustService;
import com.patzn.cloud.service.lims.soil.service.ISoilStandardService; import com.patzn.cloud.service.lims.soil.service.ISoilStandardService;
import com.patzn.cloud.service.soil.entity.SoilEntrust;
import com.patzn.cloud.service.soil.entity.SoilStandard; import com.patzn.cloud.service.soil.entity.SoilStandard;
import com.patzn.cloud.service.soil.enums.SoilEntrustStatusEnum; import com.patzn.cloud.service.soil.enums.SoilEntrustStatusEnum;
import com.patzn.cloud.service.soil.statistics.SoilAnnualEntrustVO; import com.patzn.cloud.service.soil.statistics.SoilAnnualEntrustVO;
...@@ -86,4 +87,19 @@ public class SoilStatisticsController extends ServiceController { ...@@ -86,4 +87,19 @@ public class SoilStatisticsController extends ServiceController {
} }
@ApiOperation(value = "待完成委托量", notes = "客户委托量统计")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_wait_end_entrust_statistics")
public RestResult<Page<SoilEntrustVO>> getPageWaitEndEntrustStatistics(SoilEntrustVO soilEntrustVO) {
soilEntrustVO.setNoStatus(SoilEntrustStatusEnum.END);
return success(soilEntrustService.pageVO(getPage(),soilEntrustVO));
}
} }
package com.patzn.cloud.service.lims.soil.mapper;
import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.soil.entity.SoilExperimentRelEquip;
/**
* <p>
* Mapper 接口
* </p>
*
* @author wwd
* @since 2020-10-28
*/
public interface SoilExperimentRelEquipMapper extends BatchMapper<SoilExperimentRelEquip> {
}
...@@ -21,5 +21,7 @@ public interface SoilPrepareMapper extends BaseMapper<SoilPrepare> { ...@@ -21,5 +21,7 @@ public interface SoilPrepareMapper extends BaseMapper<SoilPrepare> {
List<SoilPrepareVO> selectTakeVOList(RowBounds rowBounds, @Param("vo") SoilPrepareVO soilSample, @Param("groupIds")List<Long> groupIds); List<SoilPrepareVO> selectTakeVOList(RowBounds rowBounds, @Param("vo") SoilPrepareVO soilSample, @Param("groupIds")List<Long> groupIds);
List<SoilPrepareVO> selectTakeVOList(@Param("vo") SoilPrepareVO soilSample, @Param("groupIds")List<Long> groupIds);
List<SoilPrepareVO> selectVOList(RowBounds rowBounds, @Param("vo")SoilPrepareVO soilPrepare); List<SoilPrepareVO> selectVOList(RowBounds rowBounds, @Param("vo")SoilPrepareVO soilPrepare);
} }
...@@ -20,4 +20,6 @@ import java.util.List; ...@@ -20,4 +20,6 @@ import java.util.List;
public interface SoilSampleBackupMapper extends BaseMapper<SoilSampleBackup> { public interface SoilSampleBackupMapper extends BaseMapper<SoilSampleBackup> {
List<SoilSampleBackupVO> selectVOList(RowBounds rowBounds, @Param("vo") SoilSampleBackupVO soilSampleBackup); List<SoilSampleBackupVO> selectVOList(RowBounds rowBounds, @Param("vo") SoilSampleBackupVO soilSampleBackup);
List<SoilSampleBackupVO> selectVOHandleCheckHis(RowBounds rowBounds, @Param("vo") SoilSampleBackupVO soilSampleBackup);
} }
...@@ -3,8 +3,10 @@ package com.patzn.cloud.service.lims.soil.service; ...@@ -3,8 +3,10 @@ package com.patzn.cloud.service.lims.soil.service;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.IBaseService; import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.soil.entity.SoilAptitudeExp; import com.patzn.cloud.service.soil.entity.SoilAptitudeExp;
import org.springframework.web.multipart.MultipartFile;
/** /**
* <p> * <p>
...@@ -25,4 +27,6 @@ public interface ISoilAptitudeExpService extends IBaseService<SoilAptitudeExp> { ...@@ -25,4 +27,6 @@ public interface ISoilAptitudeExpService extends IBaseService<SoilAptitudeExp> {
boolean saveAptExp(SoilAptitudeExp soilAptitudeExp); boolean saveAptExp(SoilAptitudeExp soilAptitudeExp);
boolean updateAptExpById(SoilAptitudeExp soilAptitudeExp); boolean updateAptExpById(SoilAptitudeExp soilAptitudeExp);
boolean importAptitudeExp(MultipartFile file, Account account);
} }
...@@ -26,4 +26,6 @@ public interface ISoilEntrustRecordService extends IBaseService<SoilEntrustRecor ...@@ -26,4 +26,6 @@ public interface ISoilEntrustRecordService extends IBaseService<SoilEntrustRecor
void record(SoilEntrustStatusEnum from, SoilEntrustStatusEnum to, Long[] ids, int type, Account account, String remark); void record(SoilEntrustStatusEnum from, SoilEntrustStatusEnum to, Long[] ids, int type, Account account, String remark);
void record(SoilEntrustStatusEnum from, SoilEntrustStatusEnum to, List<Long> ids, int type, Account account, String remark);
} }
...@@ -7,6 +7,7 @@ import com.patzn.cloud.commons.controller.Account; ...@@ -7,6 +7,7 @@ import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.IBaseService; import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.soil.dto.SoilEntrustDTO; import com.patzn.cloud.service.soil.dto.SoilEntrustDTO;
import com.patzn.cloud.service.soil.entity.SoilEntrust; import com.patzn.cloud.service.soil.entity.SoilEntrust;
import com.patzn.cloud.service.soil.enums.SoilEntrustStatusEnum;
import com.patzn.cloud.service.soil.statistics.SoilAnnualEntrustVO; import com.patzn.cloud.service.soil.statistics.SoilAnnualEntrustVO;
import com.patzn.cloud.service.soil.statistics.SoilCustomerEntrustVO; import com.patzn.cloud.service.soil.statistics.SoilCustomerEntrustVO;
import com.patzn.cloud.service.soil.vo.SoilEntrustVO; import com.patzn.cloud.service.soil.vo.SoilEntrustVO;
...@@ -71,4 +72,8 @@ public interface ISoilEntrustService extends IBaseService<SoilEntrust> { ...@@ -71,4 +72,8 @@ public interface ISoilEntrustService extends IBaseService<SoilEntrust> {
boolean reportCheckBack(Long[] ids, String reason, Account account); boolean reportCheckBack(Long[] ids, String reason, Account account);
boolean reportIssueBack(Long[] ids, String reason, Account account); boolean reportIssueBack(Long[] ids, String reason, Account account);
Page<SoilEntrustVO> pageVOTake(Page<SoilEntrustVO> page, SoilEntrustVO soilEntrust);
void changeStatus(SoilEntrustStatusEnum receive, SoilEntrustStatusEnum send, List<Long> entrustIds, Account account, String 样品接收完成);
} }
package com.patzn.cloud.service.lims.soil.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.soil.dto.SoilExperimentRelEquipDTO;
import com.patzn.cloud.service.soil.entity.SoilExperimentRelEquip;
import java.util.List;
/**
* 服务类
*
* @author wwd
* @since 2020-10-28
*/
public interface ISoilExperimentRelEquipService extends IBaseService<SoilExperimentRelEquip> {
Page<SoilExperimentRelEquip> page(Page<SoilExperimentRelEquip> page, SoilExperimentRelEquip soilExperimentRelEquip);
boolean removeByIds(List<Long> ids);
boolean addExpEquip(SoilExperimentRelEquipDTO equipDTO, Account account);
}
...@@ -47,4 +47,6 @@ public interface ISoilExperimentService extends IBaseService<SoilExperiment> { ...@@ -47,4 +47,6 @@ public interface ISoilExperimentService extends IBaseService<SoilExperiment> {
boolean expAuditBack(Long[] ids, String remark, Account account); boolean expAuditBack(Long[] ids, String remark, Account account);
Page<SoilExperimentVO> pageByByEntrust(Page<SoilExperimentVO> page, SoilExperimentVO vo); Page<SoilExperimentVO> pageByByEntrust(Page<SoilExperimentVO> page, SoilExperimentVO vo);
boolean bathUpdateInfo(Long[] ids, SoilExperiment experiment, Account account);
} }
...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.plugins.Page; ...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.controller.Account; import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.IBaseService; import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.soil.entity.SoilPrepare; import com.patzn.cloud.service.soil.entity.SoilPrepare;
import com.patzn.cloud.service.soil.vo.SoilEntrustVO;
import com.patzn.cloud.service.soil.vo.SoilPrepareVO; import com.patzn.cloud.service.soil.vo.SoilPrepareVO;
/** /**
...@@ -39,4 +40,6 @@ public interface ISoilPrepareService extends IBaseService<SoilPrepare> { ...@@ -39,4 +40,6 @@ public interface ISoilPrepareService extends IBaseService<SoilPrepare> {
boolean handleOk(Long[] ids, Account account); boolean handleOk(Long[] ids, Account account);
Page<SoilPrepareVO> pagePrepareVO(Page<SoilPrepareVO> page, SoilPrepareVO soilPrepare); Page<SoilPrepareVO> pagePrepareVO(Page<SoilPrepareVO> page, SoilPrepareVO soilPrepare);
List<SoilPrepareVO> listVOTake(SoilPrepareVO prepareVO, List<Long> groupIds);
} }
...@@ -28,6 +28,8 @@ public interface ISoilSampleBackupService extends IBaseService<SoilSampleBackup> ...@@ -28,6 +28,8 @@ public interface ISoilSampleBackupService extends IBaseService<SoilSampleBackup>
Page<SoilSampleBackupVO> pageVO(Page<SoilSampleBackupVO> page, SoilSampleBackupVO soilSampleBackup); Page<SoilSampleBackupVO> pageVO(Page<SoilSampleBackupVO> page, SoilSampleBackupVO soilSampleBackup);
Page<SoilSampleBackupVO> pageVOHandleCheckHis(Page<SoilSampleBackupVO> page, SoilSampleBackupVO soilSampleBackup);
boolean applyHandle(Long[] ids, SoilSampleBackup soilSampleBackup, Account account); boolean applyHandle(Long[] ids, SoilSampleBackup soilSampleBackup, Account account);
boolean disposalOk(Long[] ids, Account account); boolean disposalOk(Long[] ids, Account account);
......
package com.patzn.cloud.service.lims.soil.service.impl; package com.patzn.cloud.service.lims.soil.service.impl;
import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.google.common.collect.Lists;
import com.patzn.cloud.commons.api.RestAssert; import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl; import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.feign.lims.base.client.LmsUserGroupClient;
import com.patzn.cloud.service.lims.base.entity.LmsUserGroup;
import com.patzn.cloud.service.lims.common.ExcelReader;
import com.patzn.cloud.service.lims.common.StringStaticDataUtils;
import com.patzn.cloud.service.lims.soil.mapper.SoilAptitudeExpMapper; import com.patzn.cloud.service.lims.soil.mapper.SoilAptitudeExpMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilAptitudeExpService; import com.patzn.cloud.service.lims.soil.service.ISoilAptitudeExpService;
import com.patzn.cloud.service.soil.entity.SoilAptitudeExp; import com.patzn.cloud.service.soil.entity.SoilAptitudeExp;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.util.List; import java.util.*;
import java.util.stream.Collectors;
/** /**
* <p> * <p>
...@@ -25,11 +36,17 @@ import java.util.List; ...@@ -25,11 +36,17 @@ import java.util.List;
@Service @Service
public class SoilAptitudeExpServiceImpl extends BaseServiceImpl<SoilAptitudeExpMapper, SoilAptitudeExp> implements ISoilAptitudeExpService { public class SoilAptitudeExpServiceImpl extends BaseServiceImpl<SoilAptitudeExpMapper, SoilAptitudeExp> implements ISoilAptitudeExpService {
@Autowired
private LmsUserGroupClient lmsUserGroupClient;
@Override @Override
public Page<SoilAptitudeExp> page(Page<SoilAptitudeExp> page, SoilAptitudeExp soilAptitudeExp) { public Page<SoilAptitudeExp> page(Page<SoilAptitudeExp> page, SoilAptitudeExp soilAptitudeExp) {
Wrapper wrapper = new EntityWrapper<>(soilAptitudeExp); Wrapper wrapper = new EntityWrapper<>(soilAptitudeExp);
if (StringUtils.isNotBlank(soilAptitudeExp.getName())){
wrapper.like("name",soilAptitudeExp.getName());
soilAptitudeExp.setName(null);
}
return this.page(page, wrapper); return this.page(page, wrapper);
} }
...@@ -49,10 +66,51 @@ public class SoilAptitudeExpServiceImpl extends BaseServiceImpl<SoilAptitudeExpM ...@@ -49,10 +66,51 @@ public class SoilAptitudeExpServiceImpl extends BaseServiceImpl<SoilAptitudeExpM
@Override @Override
public boolean updateAptExpById(SoilAptitudeExp soilAptitudeExp) { public boolean updateAptExpById(SoilAptitudeExp soilAptitudeExp) {
RestAssert.fail(StringUtils.isBlank(soilAptitudeExp.getShortName()),"英文简写不能为空"); RestAssert.fail(StringUtils.isBlank(soilAptitudeExp.getShortName()),"英文简写不能为空");
RestAssert.fail(StringUtils.isBlank(soilAptitudeExp.getGroupName()),"检测科室不能为空");
RestAssert.fail(!is_alpha(soilAptitudeExp.getShortName()),"英文简写请填写字母"); RestAssert.fail(!is_alpha(soilAptitudeExp.getShortName()),"英文简写请填写字母");
return updateById(soilAptitudeExp); return updateById(soilAptitudeExp);
} }
@Transactional(rollbackFor = Exception.class)
@Override
public boolean importAptitudeExp(MultipartFile file, Account account) {
Collection<SoilAptitudeExp> list= ExcelReader.readSheetAtOne(SoilAptitudeExp.class,file, StringStaticDataUtils.soilAptitudeListTemplate,StringStaticDataUtils.soilAptitudeListColumn);
if (CollectionUtils.isEmpty(list)){
RestAssert.fail("暂无数据");
}
Set<String> groupNameSet = new HashSet<>();
for (SoilAptitudeExp soilAptitudeExp:list) {
RestAssert.fail(StringUtils.isBlank(soilAptitudeExp.getName()),"试验项目名称不能为空!");
RestAssert.fail(StringUtils.isBlank(soilAptitudeExp.getShortName()),"试验项目英文简写不能为空!");
RestAssert.fail(StringUtils.isBlank(soilAptitudeExp.getGroupName()),"检测科室不能为空!");
RestAssert.fail(!is_alpha(soilAptitudeExp.getShortName()),"英文简写请填写字母");
groupNameSet.add(soilAptitudeExp.getGroupName());
}
List<LmsUserGroup> groupList= lmsUserGroupClient.listGroupByNameList(groupNameSet).serviceData();
if (CollectionUtils.isEmpty(groupList)){
RestAssert.fail("您填写的检测科室不存在,请联系管理员添加相应科室!");
}
List<String> namlesDb = groupList.stream().map(g->{
return g.getName();
}).collect(Collectors.toList());
for (String name:groupNameSet) {
RestAssert.fail(!namlesDb.contains(name),"检测科室:"+name+",不存在,请联系管理员添加相应科室!");
}
Map<String,LmsUserGroup> groupMap = new HashMap<>();
for (LmsUserGroup group:groupList) {
groupMap.put(group.getName(),group);
}
for (SoilAptitudeExp soilAptitudeExp:list) {
soilAptitudeExp.setGroupId(groupMap.get(soilAptitudeExp.getGroupName()).getId());
}
return saveBatch(list);
}
/** /**
* 判断是否是字母 * 判断是否是字母
......
package com.patzn.cloud.service.lims.soil.service.impl; package com.patzn.cloud.service.lims.soil.service.impl;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.toolkit.CollectionUtils; import com.baomidou.mybatisplus.toolkit.CollectionUtils;
...@@ -15,6 +16,7 @@ import org.springframework.stereotype.Service; ...@@ -15,6 +16,7 @@ import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import org.springframework.transaction.annotation.Transactional;
/** /**
* <p> * <p>
...@@ -47,6 +49,15 @@ public class SoilEntrustRecordServiceImpl extends BaseServiceImpl<SoilEntrustRec ...@@ -47,6 +49,15 @@ public class SoilEntrustRecordServiceImpl extends BaseServiceImpl<SoilEntrustRec
if (ArrayUtils.isEmpty(ids)){ if (ArrayUtils.isEmpty(ids)){
return; return;
} }
record(from,to, Arrays.asList(ids),1,account,remark);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void record(SoilEntrustStatusEnum from, SoilEntrustStatusEnum to, List<Long> ids, int type, Account account, String remark) {
if (CollectionUtils.isEmpty(ids)){
return;
}
List<SoilEntrustRecord> saveRecordList = new ArrayList<>(); List<SoilEntrustRecord> saveRecordList = new ArrayList<>();
for (Long id:ids) { for (Long id:ids) {
SoilEntrustRecord record = new SoilEntrustRecord(); SoilEntrustRecord record = new SoilEntrustRecord();
......
...@@ -3,22 +3,22 @@ package com.patzn.cloud.service.lims.soil.service.impl; ...@@ -3,22 +3,22 @@ package com.patzn.cloud.service.lims.soil.service.impl;
import java.io.InputStream; import java.io.InputStream;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.baomidou.mybatisplus.mapper.Condition; import com.baomidou.mybatisplus.mapper.Condition;
import com.baomidou.mybatisplus.toolkit.IdWorker; import com.baomidou.mybatisplus.toolkit.IdWorker;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.patzn.cloud.commons.api.RestAssert; import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account; import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.controller.LoginHelper;
import com.patzn.cloud.commons.toolkit.StringHandleUtils; import com.patzn.cloud.commons.toolkit.StringHandleUtils;
import com.patzn.cloud.feign.lims.base.client.LmsCodeRuleClient; import com.patzn.cloud.feign.lims.base.client.LmsCodeRuleClient;
import com.patzn.cloud.feign.lims.base.client.LmsUserGroupClient;
import com.patzn.cloud.service.lims.base.dto.CodeTypeDTO; import com.patzn.cloud.service.lims.base.dto.CodeTypeDTO;
import com.patzn.cloud.service.lims.base.entity.LmsUserGroup;
import com.patzn.cloud.service.lims.base.enums.CodeTypeEnum; import com.patzn.cloud.service.lims.base.enums.CodeTypeEnum;
import com.patzn.cloud.service.lims.common.MyComparator; import com.patzn.cloud.service.lims.common.MyComparator;
import com.patzn.cloud.service.lims.common.service.ILmsMsgService; import com.patzn.cloud.service.lims.common.service.ILmsMsgService;
import com.patzn.cloud.service.lims.soil.service.*; import com.patzn.cloud.service.lims.soil.service.*;
import com.patzn.cloud.service.meter.entity.MeterSampleQuote;
import com.patzn.cloud.service.soil.dto.SoilEntrustDTO; import com.patzn.cloud.service.soil.dto.SoilEntrustDTO;
import com.patzn.cloud.service.soil.dto.SoilSampleDTO; import com.patzn.cloud.service.soil.dto.SoilSampleDTO;
import com.patzn.cloud.service.soil.entity.*; import com.patzn.cloud.service.soil.entity.*;
...@@ -26,11 +26,13 @@ import com.patzn.cloud.service.lims.soil.mapper.SoilEntrustMapper; ...@@ -26,11 +26,13 @@ import com.patzn.cloud.service.lims.soil.mapper.SoilEntrustMapper;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl; import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.enums.SoilEntrustStatusEnum; import com.patzn.cloud.service.soil.enums.SoilEntrustStatusEnum;
import com.patzn.cloud.service.soil.enums.SoilExpStatusEnum; import com.patzn.cloud.service.soil.enums.SoilExpStatusEnum;
import com.patzn.cloud.service.soil.enums.SoilPrepareStatusEnum;
import com.patzn.cloud.service.soil.statistics.SoilAnnualEntrustVO; import com.patzn.cloud.service.soil.statistics.SoilAnnualEntrustVO;
import com.patzn.cloud.service.soil.statistics.SoilCustomerEntrustVO; import com.patzn.cloud.service.soil.statistics.SoilCustomerEntrustVO;
import com.patzn.cloud.service.soil.vo.SoilEntrustVO; import com.patzn.cloud.service.soil.vo.SoilEntrustVO;
import com.patzn.cloud.service.soil.vo.SoilPrepareVO;
import com.patzn.cloud.service.soil.vo.SoilSampleVO;
import com.patzn.poibox.xwpf.HSSFWorkbookUtil; import com.patzn.poibox.xwpf.HSSFWorkbookUtil;
import org.apache.bcel.generic.IF_ACMPEQ;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -38,7 +40,6 @@ import org.apache.poi.xssf.usermodel.XSSFCell; ...@@ -38,7 +40,6 @@ import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
...@@ -93,6 +94,16 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S ...@@ -93,6 +94,16 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S
private ISoilReportService soilReportService; private ISoilReportService soilReportService;
@Autowired
private ISoilAptitudeExpService soilAptitudeExpService;
@Autowired
private LmsUserGroupClient userGroupClient;
@Autowired
private ISoilPrepareService soilPrepareService;
@Override @Override
public Page<SoilEntrust> page(Page<SoilEntrust> page, SoilEntrust soilEntrust) { public Page<SoilEntrust> page(Page<SoilEntrust> page, SoilEntrust soilEntrust) {
Wrapper wrapper = new EntityWrapper<>(soilEntrust); Wrapper wrapper = new EntityWrapper<>(soilEntrust);
...@@ -550,6 +561,52 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S ...@@ -550,6 +561,52 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S
return super.update(soilEntrust,Condition.create().in("id",ids)); return super.update(soilEntrust,Condition.create().in("id",ids));
} }
@Override
public Page<SoilEntrustVO> pageVOTake(Page<SoilEntrustVO> page, SoilEntrustVO soilEntrust) {
List<LmsUserGroup> groupList= userGroupClient.getByUserId(LoginHelper.getAccount().getUserId()).serviceData();
if (CollectionUtils.isEmpty(groupList)){
return page;
}
List<Long> groupIds =groupList.stream().map(g->{
return g.getId();
}).collect(Collectors.toList());
SoilPrepareVO prepareVO = new SoilPrepareVO();
prepareVO.setStatus(SoilPrepareStatusEnum.PREPARED);
List<SoilPrepareVO> prepareVOList= soilPrepareService.listVOTake(prepareVO,groupIds);
if (CollectionUtils.isEmpty(prepareVOList)){
return page;
}
List<Long> sampleIds = prepareVOList.stream().map(p->{
return p.getSampleId();
}).collect(Collectors.toList());
List<SoilSample> sampleList = soilSampleService.list(Condition.create().setSqlSelect("entrust_id").in("id",sampleIds).groupBy("entrust_id"));
if (CollectionUtils.isEmpty(sampleList)){
return page;
}
List<Long> entrustIds = sampleList.stream().map(p->{
return p.getEntrustId();
}).collect(Collectors.toList());
soilEntrust.setIdList(entrustIds);
return page.setRecords(baseMapper.selectVOList(page,soilEntrust));
}
@Transactional(rollbackFor = Exception.class)
@Override
public void changeStatus(SoilEntrustStatusEnum from, SoilEntrustStatusEnum to, List<Long> entrustIds, Account account, String remark) {
if (CollectionUtils.isEmpty(entrustIds)){
return;
}
SoilEntrust entrust = new SoilEntrust();
entrust.setStatus(to);
entrust.setProgress(to);
if (super.update(entrust,Condition.create().in("id",entrustIds))){
soilEntrustRecordService.record(from,to,entrustIds,1,account,remark);
}
}
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
...@@ -620,7 +677,7 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S ...@@ -620,7 +677,7 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S
break; break;
} }
} }
}else if ("水 深, m".equals(cellValue)){ }else if ("水 深, m".equals(cellValue)||"水深, m".equals(cellValue)||"水深".equals(cellValue)){
for (int m = j+1; m < lastCellNum; m++) { for (int m = j+1; m < lastCellNum; m++) {
String value= HSSFWorkbookUtil.getJavaValue(row.getCell(m)).toString(); String value= HSSFWorkbookUtil.getJavaValue(row.getCell(m)).toString();
...@@ -703,6 +760,14 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S ...@@ -703,6 +760,14 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S
SoilEntrustDTO dto = entrust.convert(SoilEntrustDTO.class); SoilEntrustDTO dto = entrust.convert(SoilEntrustDTO.class);
List<SoilSampleDTO> sampleDTOS = new ArrayList<>(); List<SoilSampleDTO> sampleDTOS = new ArrayList<>();
List<SoilAptitudeExp> aptitudeExpList = soilAptitudeExpService.list(Condition.create());
Map<String,SoilAptitudeExp> expMap = new HashMap<>();
for (SoilAptitudeExp soilAptitudeExp:aptitudeExpList) {
expMap.put(soilAptitudeExp.getName(),soilAptitudeExp);
}
for (Map.Entry<String,Map<String,String>> e: sampleInfoMap.entrySet()) { for (Map.Entry<String,Map<String,String>> e: sampleInfoMap.entrySet()) {
String eKey= e.getKey(); String eKey= e.getKey();
if ("0".equals(eKey)){ if ("0".equals(eKey)){
...@@ -733,6 +798,19 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S ...@@ -733,6 +798,19 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S
}else if ("Ö".equals(value)){ }else if ("Ö".equals(value)){
SoilExperiment experiment = new SoilExperiment(); SoilExperiment experiment = new SoilExperiment();
experiment.setName(key); experiment.setName(key);
SoilAptitudeExp soilAptitudeExp= expMap.get(key);
if (null!=soilAptitudeExp){
experiment.setGroupName(soilAptitudeExp.getGroupName());
experiment.setGroupId(soilAptitudeExp.getGroupId());
experiment.setShortName(soilAptitudeExp.getShortName());
experiment.setTestBasis(soilAptitudeExp.getTestBasis());
experiment.setTestMethod(soilAptitudeExp.getTestMethod());
experiment.setElName(soilAptitudeExp.getElName());
experiment.setMainType(soilAptitudeExp.getMainType());
experiment.setSmallType(soilAptitudeExp.getSmallType());
}
experiment.setStatus(SoilExpStatusEnum.DRAFT);
experiment.setProgress(SoilExpStatusEnum.DRAFT);
experimentList.add(experiment); experimentList.add(experiment);
} }
} }
......
package com.patzn.cloud.service.lims.soil.service.impl;
import com.baomidou.mybatisplus.mapper.Condition;
import com.google.common.collect.Sets;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.service.lims.soil.mapper.SoilExperimentRelEquipMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilExperimentRelEquipService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.dto.SoilExperimentRelEquipDTO;
import com.patzn.cloud.service.soil.entity.SoilExperimentRelEquip;
import org.apache.commons.collections4.CollectionUtils;
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 org.springframework.transaction.annotation.Transactional;
import java.util.*;
/**
* 服务实现类
*
* @author wwd
* @since 2020-10-28
*/
@Service
public class SoilExperimentRelEquipServiceImpl extends BaseServiceImpl<SoilExperimentRelEquipMapper, SoilExperimentRelEquip> implements ISoilExperimentRelEquipService {
@Override
public Page<SoilExperimentRelEquip> page(Page<SoilExperimentRelEquip> page, SoilExperimentRelEquip soilExperimentRelEquip) {
Wrapper wrapper = new EntityWrapper<>(soilExperimentRelEquip);
return this.page(page, wrapper);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean addExpEquip(SoilExperimentRelEquipDTO equipDTO, Account account) {
RestAssert.fail(null == equipDTO,"数据有误");
List<SoilExperimentRelEquip> equipList=equipDTO.getEquipList();
List<Long> expIds= equipDTO.getExpIds();
RestAssert.fail(CollectionUtils.isEmpty(equipList),"请选择仪器设备!");
for (SoilExperimentRelEquip relEquip:equipList) {
RestAssert.fail(null == relEquip.getEquipId(),"设备ID不能为空");
RestAssert.fail(StringUtils.isBlank(relEquip.getEquipName()),"设备名称不能为空");
RestAssert.fail(StringUtils.isBlank(relEquip.getLabNum()),"设备编号不能为空");
}
RestAssert.fail(CollectionUtils.isEmpty(expIds),"请选择仪试验项目!");
List<SoilExperimentRelEquip> saveRelEquipList = new ArrayList<>();
List<SoilExperimentRelEquip> dbList = super.list(Condition.create().in("exp_id",expIds));
Map<Long, Set<Long>> equipMap=new HashMap<>();
for (SoilExperimentRelEquip equip:dbList) {
if (!equipMap.containsKey(equip.getExpId())){
Set<Long> set = Sets.newHashSet(equip.getEquipId());
equipMap.put(equip.getExpId(),set);
}else{
Set<Long> set = equipMap.get(equip.getExpId());
set.add(equip.getEquipId());
equipMap.put(equip.getExpId(),set);
}
}
for (Long expId:expIds) {
Set<Long> equipSet = equipMap.get(expId);
for (SoilExperimentRelEquip relEquip:equipList) {
if (null == equipSet){
SoilExperimentRelEquip saveEquip = relEquip.convert(SoilExperimentRelEquip.class);
saveEquip.setExpId(expId);
saveRelEquipList.add(saveEquip);
}else{
if (!equipSet.contains(relEquip.getEquipId())){
SoilExperimentRelEquip saveEquip = relEquip.convert(SoilExperimentRelEquip.class);
saveEquip.setExpId(expId);
saveRelEquipList.add(saveEquip);
}
}
}
}
if (CollectionUtils.isNotEmpty(saveRelEquipList)){
return saveBatch(saveRelEquipList);
}
return true;
}
}
package com.patzn.cloud.service.lims.soil.service.impl; package com.patzn.cloud.service.lims.soil.service.impl;
import java.lang.reflect.Field;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -289,6 +290,33 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap ...@@ -289,6 +290,33 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
} }
@Override
public boolean bathUpdateInfo(Long[] ids, SoilExperiment experiment, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要修改的试验项目");
if (isAllFieldNull(experiment)){
RestAssert.fail("请填写试验项目信息");
}
return super.update(experiment,Condition.create().in("id",ids));
}
public static boolean isAllFieldNull(Object object) {
Class clazz = object.getClass();
Field [] fields = clazz.getDeclaredFields();
try {
for (Field field:fields) {
field.setAccessible(true);
Object value = field.get(object);
if (value!=null){
return false;
}
}
}catch (Exception e){
e.printStackTrace();
}
return true;
}
public List<SoilExperimentVO> initOriginalRecord(List<SoilExperimentVO> voList){ public List<SoilExperimentVO> initOriginalRecord(List<SoilExperimentVO> voList){
if (CollectionUtils.isEmpty(voList)){ if (CollectionUtils.isEmpty(voList)){
return voList; return voList;
......
...@@ -14,6 +14,7 @@ import com.patzn.cloud.service.lims.soil.mapper.SoilPrepareMapper; ...@@ -14,6 +14,7 @@ import com.patzn.cloud.service.lims.soil.mapper.SoilPrepareMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilPrepareService; import com.patzn.cloud.service.lims.soil.service.ISoilPrepareService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl; import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.enums.SoilPrepareStatusEnum; import com.patzn.cloud.service.soil.enums.SoilPrepareStatusEnum;
import com.patzn.cloud.service.soil.vo.SoilEntrustVO;
import com.patzn.cloud.service.soil.vo.SoilPrepareVO; import com.patzn.cloud.service.soil.vo.SoilPrepareVO;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -159,4 +160,9 @@ public class SoilPrepareServiceImpl extends BaseServiceImpl<SoilPrepareMapper, S ...@@ -159,4 +160,9 @@ public class SoilPrepareServiceImpl extends BaseServiceImpl<SoilPrepareMapper, S
return page.setRecords(list); return page.setRecords(list);
} }
@Override
public List<SoilPrepareVO> listVOTake(SoilPrepareVO prepareVO, List<Long> groupIds) {
return baseMapper.selectTakeVOList(prepareVO,groupIds);
}
} }
...@@ -75,6 +75,11 @@ public class SoilSampleBackupServiceImpl extends BaseServiceImpl<SoilSampleBacku ...@@ -75,6 +75,11 @@ public class SoilSampleBackupServiceImpl extends BaseServiceImpl<SoilSampleBacku
return page.setRecords(baseMapper.selectVOList(page,soilSampleBackup)); return page.setRecords(baseMapper.selectVOList(page,soilSampleBackup));
} }
@Override
public Page<SoilSampleBackupVO> pageVOHandleCheckHis(Page<SoilSampleBackupVO> page, SoilSampleBackupVO soilSampleBackup) {
return page.setRecords(baseMapper.selectVOHandleCheckHis(page,soilSampleBackup));
}
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean applyHandle(Long[] ids, SoilSampleBackup soilSampleBackup, Account account) { public boolean applyHandle(Long[] ids, SoilSampleBackup soilSampleBackup, Account account) {
......
...@@ -19,6 +19,7 @@ import com.patzn.cloud.service.soil.entity.SoilPrepare; ...@@ -19,6 +19,7 @@ import com.patzn.cloud.service.soil.entity.SoilPrepare;
import com.patzn.cloud.service.soil.entity.SoilSample; import com.patzn.cloud.service.soil.entity.SoilSample;
import com.patzn.cloud.service.lims.soil.mapper.SoilSampleMapper; import com.patzn.cloud.service.lims.soil.mapper.SoilSampleMapper;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl; import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.enums.SoilEntrustStatusEnum;
import com.patzn.cloud.service.soil.enums.SoilExpStatusEnum; import com.patzn.cloud.service.soil.enums.SoilExpStatusEnum;
import com.patzn.cloud.service.soil.enums.SoilPrepareStatusEnum; import com.patzn.cloud.service.soil.enums.SoilPrepareStatusEnum;
import com.patzn.cloud.service.soil.enums.SoilSampleStatusEnum; import com.patzn.cloud.service.soil.enums.SoilSampleStatusEnum;
...@@ -56,6 +57,8 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi ...@@ -56,6 +57,8 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
@Autowired @Autowired
private ISoilSampleBackupService soilSampleBackupService; private ISoilSampleBackupService soilSampleBackupService;
@Autowired
private ISoilEntrustService soilEntrustService;
@Autowired @Autowired
private ISoilExperimentService soilExperimentService; private ISoilExperimentService soilExperimentService;
...@@ -192,6 +195,33 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi ...@@ -192,6 +195,33 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
//soilSampleBackupService.initBackup(ids,account); //soilSampleBackupService.initBackup(ids,account);
//初始化备样 //初始化备样
} }
//更改委托状态
List<SoilSample> sampleList = super.list(Condition.create().setSqlSelect("entrust_id").in("id",ids).groupBy("entrust_id"));
if (CollectionUtils.isEmpty(sampleList)){
return true;
}
List<Long> entrustIds = sampleList.stream().map(s->{
return s.getEntrustId();
}).collect(Collectors.toList());
List<SoilSample> checkList = super.list(Condition.create().setSqlSelect("entrust_id").in("entrust_id",entrustIds).eq("status",SoilSampleStatusEnum.RECEIVE));
if (CollectionUtils.isEmpty(checkList)){
soilEntrustService.changeStatus(SoilEntrustStatusEnum.RECEIVE,SoilEntrustStatusEnum.SEND,entrustIds,account,"样品接收完成");
}else {
List<Long> noReceiveOkList = checkList.stream().map(s->{
return s.getEntrustId();
}).collect(Collectors.toList());
for (Long eId:noReceiveOkList) {
if (entrustIds.contains(eId)){
entrustIds.remove(eId);
}
}
if (CollectionUtils.isNotEmpty(entrustIds)){
soilEntrustService.changeStatus(SoilEntrustStatusEnum.RECEIVE,SoilEntrustStatusEnum.SEND,entrustIds,account,"样品接收完成");
}
}
return true; return true;
} }
...@@ -212,6 +242,31 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi ...@@ -212,6 +242,31 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
soilSampleBackupService.initBackup(ids,account); soilSampleBackupService.initBackup(ids,account);
//初始化备样 //初始化备样
} }
//更改委托状态
List<SoilSample> sampleList = super.list(Condition.create().setSqlSelect("entrust_id").in("id",ids).groupBy("entrust_id"));
if (CollectionUtils.isEmpty(sampleList)){
return true;
}
List<Long> entrustIds = sampleList.stream().map(s->{
return s.getEntrustId();
}).collect(Collectors.toList());
List<SoilSample> checkList = super.list(Condition.create().setSqlSelect("entrust_id").in("entrust_id",entrustIds).eq("status",SoilSampleStatusEnum.SEND));
if (CollectionUtils.isEmpty(checkList)){
soilEntrustService.changeStatus(SoilEntrustStatusEnum.SEND,SoilEntrustStatusEnum.TEST,entrustIds,account,"样品发放完成");
}else {
List<Long> noReceiveOkList = checkList.stream().map(s->{
return s.getEntrustId();
}).collect(Collectors.toList());
for (Long eId:noReceiveOkList) {
if (entrustIds.contains(eId)){
entrustIds.remove(eId);
}
}
if (CollectionUtils.isNotEmpty(entrustIds)){
soilEntrustService.changeStatus(SoilEntrustStatusEnum.SEND,SoilEntrustStatusEnum.TEST,entrustIds,account,"样品发放完成");
}
}
return true; return true;
} }
...@@ -230,10 +285,20 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi ...@@ -230,10 +285,20 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public List<SoilPrepareVO> obtainPrepareData(Long[] ids, Account account) { public List<SoilPrepareVO> obtainPrepareData(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择数据");
List<SoilExperiment> experimentList = soilExperimentService.list(Condition.create().setSqlSelect("group_id","group_name","sample_id").in("sample_id",ids).groupBy("group_id,group_name,sample_id")); List<SoilExperiment> experimentList = soilExperimentService.list(Condition.create().setSqlSelect("group_id","group_name","sample_id").in("sample_id",ids).groupBy("group_id,group_name,sample_id"));
if (CollectionUtils.isEmpty(experimentList)){ if (CollectionUtils.isEmpty(experimentList)){
return Lists.newArrayList(); return Lists.newArrayList();
} }
List<Long> sampleIds = Arrays.asList(ids);
for (SoilExperiment experiment:experimentList) {
if (!sampleIds.contains(experiment.getSampleId())){
RestAssert.fail(ArrayUtils.isEmpty(ids),"选择的样品不含试验项目,请确认");
}
RestAssert.fail(null == experiment.getGroupId()||StringUtils.isBlank(experiment.getGroupName()),"试验项目:"+experiment.getName()+"未填写实验科室,请确认!");
}
Map<Long,List<SoilExperiment>> groupSampleMap = new HashMap<>(); Map<Long,List<SoilExperiment>> groupSampleMap = new HashMap<>();
for (SoilExperiment experiment:experimentList) { for (SoilExperiment experiment:experimentList) {
if (!groupSampleMap.containsKey(experiment.getSampleId())){ if (!groupSampleMap.containsKey(experiment.getSampleId())){
......
...@@ -41,6 +41,13 @@ ...@@ -41,6 +41,13 @@
</foreach> </foreach>
</if> </if>
<if test="null!=vo.idList">
AND e.id IN
<foreach collection="vo.idList" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
<if test="null!=vo.client"> <if test="null!=vo.client">
AND e.client LIKE CONCAT('%',#{vo.client},'%') AND e.client LIKE CONCAT('%',#{vo.client},'%')
</if> </if>
......
...@@ -32,6 +32,19 @@ ...@@ -32,6 +32,19 @@
<if test="vo.status!=null"> <if test="vo.status!=null">
AND t.status = #{vo.status} AND t.status = #{vo.status}
</if> </if>
<if test="vo.name!=null">
AND t.name LIKE CONCAT('%',#{vo.name},'%')
</if>
<if test="vo.groupName!=null">
AND t.group_name LIKE CONCAT('%',#{vo.groupName},'%')
</if>
<if test="vo.sampleCode!=null">
AND s.sample_code LIKE CONCAT('%',#{vo.sampleCode},'%')
</if>
<if test="vo.testerId!=null"> <if test="vo.testerId!=null">
AND t.tester_id = #{vo.testerId} AND t.tester_id = #{vo.testerId}
</if> </if>
...@@ -61,6 +74,12 @@ ...@@ -61,6 +74,12 @@
AND s.entrust_id = #{vo.entrustId} AND s.entrust_id = #{vo.entrustId}
</if> </if>
<if test="null!=vo.statusList">
AND t.status IN
<foreach collection="vo.statusList" index="index" item="status" open="(" separator="," close=")">
#{status}
</foreach>
</if>
<if test="vo.testerId!=null"> <if test="vo.testerId!=null">
AND t.tester_id = #{vo.testerId} AND t.tester_id = #{vo.testerId}
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.patzn.cloud.service.lims.soil.mapper.SoilExperimentRelEquipMapper">
</mapper>
...@@ -9,15 +9,22 @@ ...@@ -9,15 +9,22 @@
p.group_id, p.group_id,
p.quantity, p.quantity,
p.unit, p.unit,
p.preparer,
p.prepare_date,
p.keep_container,
p.status, p.status,
p.progress, p.progress,
p.sample_id,
s.sample_code, s.sample_code,
s.sample_depth,
s.sample_pack, s.sample_pack,
s.sample_describe, s.sample_describe,
s.describe_detail s.describe_detail,
e.entrust_code
FROM FROM
soil_prepare p soil_prepare p
JOIN soil_sample s ON p.sample_id = s.id JOIN soil_sample s ON p.sample_id = s.id
JOIN soil_entrust e ON s.entrust_id = e.id
WHERE WHERE
p.deleted = 0 p.deleted = 0
AND s.deleted = 0 AND s.deleted = 0
...@@ -43,6 +50,7 @@ ...@@ -43,6 +50,7 @@
<select id="selectVOList" resultType="com.patzn.cloud.service.soil.vo.SoilPrepareVO"> <select id="selectVOList" resultType="com.patzn.cloud.service.soil.vo.SoilPrepareVO">
SELECT SELECT
p.id, p.id,
p.type,
p.group_name, p.group_name,
p.group_id, p.group_id,
p.quantity, p.quantity,
...@@ -56,9 +64,12 @@ ...@@ -56,9 +64,12 @@
p.preparer, p.preparer,
p.prepare_date, p.prepare_date,
p.keep_container, p.keep_container,
p.prepare_way,
p.keep_way,
s.sample_code, s.sample_code,
s.sample_pack, s.sample_pack,
s.sample_describe, s.sample_describe,
s.sample_depth,
s.describe_detail s.describe_detail
FROM FROM
soil_prepare p soil_prepare p
...@@ -71,6 +82,11 @@ ...@@ -71,6 +82,11 @@
AND p.type = #{vo.type} AND p.type = #{vo.type}
</if> </if>
<if test="vo.sampleId!=null">
AND p.sample_id = #{vo.sampleId}
</if>
<if test="vo.status!=null"> <if test="vo.status!=null">
AND p.status = #{vo.status} AND p.status = #{vo.status}
</if> </if>
......
...@@ -80,4 +80,26 @@ ...@@ -80,4 +80,26 @@
<include refid="sWhere"/> <include refid="sWhere"/>
ORDER BY e.entrust_code ,s.sample_code ORDER BY e.entrust_code ,s.sample_code
</select> </select>
<select id="selectVOHandleCheckHis" resultType="com.patzn.cloud.service.soil.vo.SoilSampleBackupVO">
SELECT
<include refid="bColumn"/>,
<include refid="sColumn"/>,
<include refid="eColumn"/>,
b.handler,
b.handle_time,
b.apply_handler,
b.apply_handle_time,
b.apply_remark
FROM soil_sample_backup b
JOIN soil_sample s ON b.sample_id = s.id
JOIN soil_entrust e ON s.entrust_id = e.id
WHERE b.deleted = 0 AND s.deleted = 0 AND e.deleted = 0
<include refid="sWhere"/>
AND b.handler_id IS NOT NULL
ORDER BY e.entrust_code ,s.sample_code
</select>
</mapper> </mapper>
...@@ -61,7 +61,9 @@ ...@@ -61,7 +61,9 @@
</sql> </sql>
<select id="selectVOList" resultType="com.patzn.cloud.service.soil.vo.SoilSampleVO"> <select id="selectVOList" resultType="com.patzn.cloud.service.soil.vo.SoilSampleVO">
SELECT <include refid="sColumn"/>,<include refid="eColumn"/> FROM soil_sample s SELECT <include refid="sColumn"/>,<include refid="eColumn"/>,
o.receive_location,o.receiver,o.receive_time,o.sender,o.send_time,o.make_time,o.maker
FROM soil_sample s
JOIN soil_sample_operation o ON s.id = o.sample_id JOIN soil_sample_operation o ON s.id = o.sample_id
JOIN soil_entrust e ON s.entrust_id = e.id JOIN soil_entrust e ON s.entrust_id = e.id
WHERE s.deleted = 0 AND e.deleted = 0 WHERE s.deleted = 0 AND e.deleted = 0
...@@ -78,6 +80,15 @@ ...@@ -78,6 +80,15 @@
<if test="null!=vo.expStatus"> <if test="null!=vo.expStatus">
AND status = #{vo.expStatus} AND status = #{vo.expStatus}
</if> </if>
<if test="null!=vo.expStatusList">
AND status IN
<foreach collection="vo.expStatusList" index="index" item="status" open="(" separator="," close=")">
#{status}
</foreach>
</if>
<if test="null!=vo.uid"> <if test="null!=vo.uid">
AND tester_id = #{vo.uid} AND tester_id = #{vo.uid}
</if> </if>
......
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