Commit ad22e0ae by lijingjing

添加电解槽基础数据管理

parent 81165497
package com.patzn.cloud.service.lims.common;
import java.util.HashMap;
import java.util.Map;
public class CompareUtils {
public interface Operation {
boolean calc(double a, double b);
}
public static final Map<String, Operation> Comparator = new HashMap<>();
static {
Comparator.put(">", ((a, b) -> a > b));
Comparator.put(">=", ((a, b) -> a >= b));
Comparator.put("<", ((a, b) -> a < b));
Comparator.put("<=", ((a, b) -> a <= b));
Comparator.put("=", ((a, b) -> a == b));
}
}
package com.patzn.cloud.service.lims.hmhj.controller;
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.hmhj.entity.Electrolyzer;
import com.patzn.cloud.service.lims.hmhj.service.IElectrolyzerService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 电解槽管理 - 前端控制器
*
* @author meazty
* @since 2021-06-17
*/
@Api(tags = "电解槽管理")
@RestController
@RequestMapping("/v1/electrolyzer")
public class ElectrolyzerController extends ServiceController {
@Autowired
private IElectrolyzerService electrolyzerService;
@ApiOperation("分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
})
@PostMapping("/page")
public RestResult<Page<Electrolyzer>> getPage(Electrolyzer electrolyzer) {
return success(electrolyzerService.page(getPage(), electrolyzer));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<Electrolyzer> get(@PathVariable("id") Long id) {
return success(electrolyzerService.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, Electrolyzer electrolyzer) {
electrolyzer.setId(id);
return success(electrolyzerService.updateById(electrolyzer));
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(Electrolyzer electrolyzer) {
electrolyzer.setCreator(getAccount().getUserName());
return success(electrolyzerService.save(electrolyzer));
}
@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(electrolyzerService.removeByIds(ids));
}
}
...@@ -51,9 +51,9 @@ public class EntrustSampleItemController extends ServiceController { ...@@ -51,9 +51,9 @@ public class EntrustSampleItemController extends ServiceController {
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class), @ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
}) })
@PostMapping("/page") @PostMapping("/page")
public RestResult<Page<EntrustSampleItem>> getPage(EntrustSampleItem entrustSampleItem) { public RestResult<Page<EntrustSampleItem>> getPage(EntrustSampleItem entrustSampleItem) {
return success(entrustSampleItemService.page(getPage(), entrustSampleItem)); return success(entrustSampleItemService.page(getPage(), entrustSampleItem));
} }
@ApiOperation("查询 id 信息") @ApiOperation("查询 id 信息")
@ApiImplicitParams({ @ApiImplicitParams({
...@@ -69,27 +69,25 @@ public class EntrustSampleItemController extends ServiceController { ...@@ -69,27 +69,25 @@ public class EntrustSampleItemController extends ServiceController {
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class), @ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
}) })
@PutMapping("/{id}") @PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, EntrustSampleItem entrustSampleItem) { public RestResult<Boolean> edit(@PathVariable("id") Long id, EntrustSampleItem entrustSampleItem) {
entrustSampleItem.setId(id); entrustSampleItem.setId(id);
return success(entrustSampleItemService.updateById(entrustSampleItem)); return success(entrustSampleItemService.updateById(entrustSampleItem));
} }
@ApiOperation("添加") @ApiOperation("添加")
@PostMapping("/") @PostMapping("/")
public RestResult<Boolean> add(EntrustSampleItem entrustSampleItem) { public RestResult<Boolean> add(EntrustSampleItem entrustSampleItem) {
return success(entrustSampleItemService.save(entrustSampleItem)); return success(entrustSampleItemService.save(entrustSampleItem));
} }
@ApiOperation("根据 ids 删除") @ApiOperation("根据 ids 删除")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class), @ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
}) })
@DeleteMapping("/") @DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) { public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(entrustSampleItemService.removeByIds(ids)); return success(entrustSampleItemService.removeByIds(ids));
} }
@ApiOperation("任务分配按照项目分配左侧分页列表") @ApiOperation("任务分配按照项目分配左侧分页列表")
...@@ -125,7 +123,6 @@ public class EntrustSampleItemController extends ServiceController { ...@@ -125,7 +123,6 @@ public class EntrustSampleItemController extends ServiceController {
} }
@ApiOperation("任务分配按照项目分配右侧分页列表") @ApiOperation("任务分配按照项目分配右侧分页列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
...@@ -160,10 +157,6 @@ public class EntrustSampleItemController extends ServiceController { ...@@ -160,10 +157,6 @@ public class EntrustSampleItemController extends ServiceController {
} }
@ApiOperation("数据录入按照样品录入右侧分页列表") @ApiOperation("数据录入按照样品录入右侧分页列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
...@@ -269,8 +262,6 @@ public class EntrustSampleItemController extends ServiceController { ...@@ -269,8 +262,6 @@ public class EntrustSampleItemController extends ServiceController {
} }
@ApiOperation("任务分配历史按照样品分配右侧分页列表") @ApiOperation("任务分配历史按照样品分配右侧分页列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
...@@ -291,26 +282,20 @@ public class EntrustSampleItemController extends ServiceController { ...@@ -291,26 +282,20 @@ public class EntrustSampleItemController extends ServiceController {
} }
@ApiOperation("手工分配") @ApiOperation("手工分配")
@PostMapping("/allot_item") @PostMapping("/allot_item")
public RestResult<Boolean> allotItem(@RequestParam("ids")Long []ids,@RequestParam("tester")String tester,@RequestParam("testerId")Long testerId ) { public RestResult<Boolean> allotItem(@RequestParam("ids") Long[] ids, @RequestParam("tester") String tester, @RequestParam("testerId") Long testerId) {
return success(entrustSampleItemService.allotItem(ids,tester,testerId,getAccount())); return success(entrustSampleItemService.allotItem(ids, tester, testerId, getAccount()));
} }
@ApiOperation("偏离申请") @ApiOperation("偏离申请")
@PostMapping("/deviate_apply") @PostMapping("/deviate_apply")
public RestResult<Boolean> deviateApply(@RequestParam("ids")Long []ids, ItemDeviate deviate) { public RestResult<Boolean> deviateApply(@RequestParam("ids") Long[] ids, ItemDeviate deviate) {
return success(entrustSampleItemService.deviateApply(ids,deviate,getAccount())); return success(entrustSampleItemService.deviateApply(ids, deviate, getAccount()));
} }
@ApiOperation("数据录入按照项目分配左侧分页列表") @ApiOperation("数据录入按照项目分配左侧分页列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
...@@ -344,7 +329,6 @@ public class EntrustSampleItemController extends ServiceController { ...@@ -344,7 +329,6 @@ public class EntrustSampleItemController extends ServiceController {
} }
@ApiOperation("数据录入按照项目录入右侧分页列表") @ApiOperation("数据录入按照项目录入右侧分页列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
...@@ -378,8 +362,6 @@ public class EntrustSampleItemController extends ServiceController { ...@@ -378,8 +362,6 @@ public class EntrustSampleItemController extends ServiceController {
} }
@ApiOperation("数据复核按照项目分配左侧分页列表") @ApiOperation("数据复核按照项目分配左侧分页列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
...@@ -411,7 +393,6 @@ public class EntrustSampleItemController extends ServiceController { ...@@ -411,7 +393,6 @@ public class EntrustSampleItemController extends ServiceController {
} }
@ApiOperation("数据复核按照项目分配右侧分页列表") @ApiOperation("数据复核按照项目分配右侧分页列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
...@@ -442,8 +423,6 @@ public class EntrustSampleItemController extends ServiceController { ...@@ -442,8 +423,6 @@ public class EntrustSampleItemController extends ServiceController {
} }
@ApiOperation("数据审核按照项目分配左侧分页列表") @ApiOperation("数据审核按照项目分配左侧分页列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
...@@ -458,7 +437,6 @@ public class EntrustSampleItemController extends ServiceController { ...@@ -458,7 +437,6 @@ public class EntrustSampleItemController extends ServiceController {
} }
@ApiOperation("数据审核历史按照项目分配左侧分页列表") @ApiOperation("数据审核历史按照项目分配左侧分页列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
...@@ -475,10 +453,6 @@ public class EntrustSampleItemController extends ServiceController { ...@@ -475,10 +453,6 @@ public class EntrustSampleItemController extends ServiceController {
} }
@ApiOperation("数据审核按照项目分配右侧分页列表") @ApiOperation("数据审核按照项目分配右侧分页列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
...@@ -508,43 +482,41 @@ public class EntrustSampleItemController extends ServiceController { ...@@ -508,43 +482,41 @@ public class EntrustSampleItemController extends ServiceController {
return success(entrustSampleItemService.pageByItemRight(getPage(), entrustSampleItem)); return success(entrustSampleItemService.pageByItemRight(getPage(), entrustSampleItem));
} }
@ApiOperation("样品下检测项目列表")
@GetMapping("/list_by_sample_id")
public RestResult<List<EntrustSampleItemVO>> getListBySampleId(@RequestParam("sampleId") Long sampleId) {
return success(entrustSampleItemService.getListBySampleId(sampleId));
}
@ApiOperation("数据录入提交") @ApiOperation("数据录入提交")
@PostMapping("/submit_test") @PostMapping("/submit_test")
public RestResult<Boolean> submitTest(@RequestParam("ids")Long []ids ) { public RestResult<Boolean> submitTest(@RequestParam("ids") Long[] ids) {
return success(entrustSampleItemService.submitTest(ids,getAccount())); return success(entrustSampleItemService.submitTest(ids, getAccount()));
} }
@ApiOperation("数据复核提交") @ApiOperation("数据复核提交")
@PostMapping("/submit_check") @PostMapping("/submit_check")
public RestResult<Boolean> submitCheck(@RequestParam("ids")Long []ids ) { public RestResult<Boolean> submitCheck(@RequestParam("ids") Long[] ids) {
return success(entrustSampleItemService.submitCheck(ids,getAccount())); return success(entrustSampleItemService.submitCheck(ids, getAccount()));
} }
@ApiOperation("数据审核提交") @ApiOperation("数据审核提交")
@PostMapping("/submit_audit") @PostMapping("/submit_audit")
public RestResult<Boolean> submitAudit(@RequestParam("ids")Long []ids ) { public RestResult<Boolean> submitAudit(@RequestParam("ids") Long[] ids) {
return success(entrustSampleItemService.submitAudit(ids,getAccount())); return success(entrustSampleItemService.submitAudit(ids, getAccount()));
} }
@ApiOperation("数据复核退回") @ApiOperation("数据复核退回")
@PostMapping("/back_check") @PostMapping("/back_check")
public RestResult<Boolean> backCheck(@RequestParam("ids")Long []ids ,@RequestParam("reason")String reason) { public RestResult<Boolean> backCheck(@RequestParam("ids") Long[] ids, @RequestParam("reason") String reason) {
return success(entrustSampleItemService.backCheck(ids, reason, getAccount())); return success(entrustSampleItemService.backCheck(ids, reason, getAccount()));
} }
@ApiOperation("偏离审批查询page") @ApiOperation("偏离审批查询page")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
...@@ -559,7 +531,6 @@ public class EntrustSampleItemController extends ServiceController { ...@@ -559,7 +531,6 @@ public class EntrustSampleItemController extends ServiceController {
} }
@ApiOperation("偏离审批查询历史page") @ApiOperation("偏离审批查询历史page")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
...@@ -573,47 +544,38 @@ public class EntrustSampleItemController extends ServiceController { ...@@ -573,47 +544,38 @@ public class EntrustSampleItemController extends ServiceController {
} }
@ApiOperation("偏离审批通过") @ApiOperation("偏离审批通过")
@PostMapping("/deviate_pass") @PostMapping("/deviate_pass")
public RestResult<Boolean> deviatePass(@RequestParam("ids")Long []ids ) { public RestResult<Boolean> deviatePass(@RequestParam("ids") Long[] ids) {
return success(entrustSampleItemService.deviatePass(ids,getAccount())); return success(entrustSampleItemService.deviatePass(ids, getAccount()));
} }
@ApiOperation("偏离审批驳回") @ApiOperation("偏离审批驳回")
@PostMapping("/deviate_back") @PostMapping("/deviate_back")
public RestResult<Boolean> deviateBack(@RequestParam("ids")Long []ids ,@RequestParam("reason") String reason) { public RestResult<Boolean> deviateBack(@RequestParam("ids") Long[] ids, @RequestParam("reason") String reason) {
return success(entrustSampleItemService.deviateBack(ids,reason,getAccount())); return success(entrustSampleItemService.deviateBack(ids, reason, getAccount()));
} }
@ApiOperation("数据审核退回") @ApiOperation("数据审核退回")
@PostMapping("/back_audit") @PostMapping("/back_audit")
public RestResult<Boolean> backAudit(@RequestParam("ids")Long []ids ,@RequestParam("reason")String reason) { public RestResult<Boolean> backAudit(@RequestParam("ids") Long[] ids, @RequestParam("reason") String reason) {
return success(entrustSampleItemService.backAudit(ids, reason, getAccount())); return success(entrustSampleItemService.backAudit(ids, reason, getAccount()));
} }
@ApiOperation(value = "填写原始记录", notes = "填写原始记录") @ApiOperation(value = "填写原始记录", notes = "填写原始记录")
@PostMapping("/save_excel_original_record") @PostMapping("/save_excel_original_record")
public RestResult<OriginalRecord> saveExcelOriginalRecord(@RequestParam("ids")Long[] ids, @RequestParam("templateId") Long templateId) { public RestResult<OriginalRecord> saveExcelOriginalRecord(@RequestParam("ids") Long[] ids, @RequestParam("templateId") Long templateId) {
return success(entrustSampleItemService.saveExcelOriginalRecord(ids,templateId,getAccount())); return success(entrustSampleItemService.saveExcelOriginalRecord(ids, templateId, getAccount()));
} }
@ApiOperation("样品质量判定")
@PostMapping("/sample_quality_judge")
public RestResult<Boolean> sampleQualityJudge(@RequestParam("ids") Long[] ids) {
return success(entrustSampleItemService.updateQualityJudge(ids, getAccount()));
}
} }
package com.patzn.cloud.service.lims.hmhj.mapper;
import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.hmhj.entity.Electrolyzer;
/**
* <p>
* Mapper 接口
* </p>
*
* @author meazty
* @since 2021-06-17
*/
public interface ElectrolyzerMapper extends BatchMapper<Electrolyzer> {
}
...@@ -31,6 +31,8 @@ public interface EntrustSampleItemMapper extends BatchMapper<EntrustSampleItem> ...@@ -31,6 +31,8 @@ public interface EntrustSampleItemMapper extends BatchMapper<EntrustSampleItem>
List<EntrustSampleItemVO> selectVOListByIds(@Param("ids")Long[] ids); List<EntrustSampleItemVO> selectVOListByIds(@Param("ids")Long[] ids);
List<EntrustSampleItemVO> selectByEntrustSampleId(@Param("sampleId")Long sampleId);
List<EntrustSampleItemVO> selectByItemDeviate(RowBounds rowBounds, @Param("vo")EntrustSampleItemVO entrustSampleItem); List<EntrustSampleItemVO> selectByItemDeviate(RowBounds rowBounds, @Param("vo")EntrustSampleItemVO entrustSampleItem);
List<EntrustSampleItemVO> selectListVOByIds(@Param("ids")List<Long> expIdsList); List<EntrustSampleItemVO> selectListVOByIds(@Param("ids")List<Long> expIdsList);
......
package com.patzn.cloud.service.lims.hmhj.service;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.hmhj.entity.Electrolyzer;
import java.util.List;
/**
* 服务类
*
* @author meazty
* @since 2021-06-17
*/
public interface IElectrolyzerService extends IBaseService<Electrolyzer> {
Page<Electrolyzer> page(Page<Electrolyzer> page, Electrolyzer electrolyzer);
boolean removeByIds(List<Long> ids);
}
...@@ -61,4 +61,8 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte ...@@ -61,4 +61,8 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte
List<EntrustSampleItemVO> getItemByOriginalRecordId(Long originalRecordId); List<EntrustSampleItemVO> getItemByOriginalRecordId(Long originalRecordId);
List<EntrustSampleItemVO> listVOByIds(List<Long> expIdsList); List<EntrustSampleItemVO> listVOByIds(List<Long> expIdsList);
List<EntrustSampleItemVO> getListBySampleId(Long sampleId);
boolean updateQualityJudge(Long[] ids, Account account);
} }
package com.patzn.cloud.service.lims.hmhj.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.hmhj.entity.Electrolyzer;
import com.patzn.cloud.service.lims.hmhj.mapper.ElectrolyzerMapper;
import com.patzn.cloud.service.lims.hmhj.service.IElectrolyzerService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 服务实现类
*
* @author meazty
* @since 2021-06-17
*/
@Service
public class ElectrolyzerServiceImpl extends BaseServiceImpl<ElectrolyzerMapper, Electrolyzer> implements IElectrolyzerService {
@Override
public Page<Electrolyzer> page(Page<Electrolyzer> page, Electrolyzer electrolyzer) {
Wrapper wrapper = new EntityWrapper<>(electrolyzer);
return this.page(page, wrapper);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
}
...@@ -12,6 +12,7 @@ import com.patzn.cloud.service.hmhj.entity.*; ...@@ -12,6 +12,7 @@ import com.patzn.cloud.service.hmhj.entity.*;
import com.patzn.cloud.service.hmhj.enums.EntrustSampleItemStatusEnum; import com.patzn.cloud.service.hmhj.enums.EntrustSampleItemStatusEnum;
import com.patzn.cloud.service.hmhj.enums.EntrustSampleStatusEnum; import com.patzn.cloud.service.hmhj.enums.EntrustSampleStatusEnum;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO; import com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO;
import com.patzn.cloud.service.lims.common.CompareUtils;
import com.patzn.cloud.service.lims.common.StringHandleUtils; import com.patzn.cloud.service.lims.common.StringHandleUtils;
import com.patzn.cloud.service.lims.hmhj.common.HSSFWorkbookUtil; import com.patzn.cloud.service.lims.hmhj.common.HSSFWorkbookUtil;
import com.patzn.cloud.service.lims.hmhj.mapper.EntrustSampleItemMapper; import com.patzn.cloud.service.lims.hmhj.mapper.EntrustSampleItemMapper;
...@@ -35,11 +36,12 @@ import java.io.File; ...@@ -35,11 +36,12 @@ import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
* 服务实现类 * 服务实现类
* *
* @author wwd * @author wwd
* @since 2021-02-01 * @since 2021-02-01
...@@ -53,26 +55,29 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -53,26 +55,29 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
@Autowired @Autowired
private IEntrustSampleItemRecordService entrustSampleItemRecordService; private IEntrustSampleItemRecordService entrustSampleItemRecordService;
@Autowired @Autowired
private IOriginalTemplateService originalTemplateService; private IOriginalTemplateService originalTemplateService;
@Autowired @Autowired
private IOriginalTemplateConfigService originalTemplateConfigService; private IOriginalTemplateConfigService originalTemplateConfigService;
@Autowired @Autowired
private IOriginalRecordService originalRecordService; private IOriginalRecordService originalRecordService;
@Autowired @Autowired
private IEntrustService entrustService; private IEntrustService entrustService;
@Autowired @Autowired
private IItemDeviateService itemDeviateService; private IItemDeviateService itemDeviateService;
@Autowired
private IGradingStandardService gradingStandardService;
@Autowired
private IGradingProductService gradingProductService;
@Autowired
private IGradingItemService gradingItemService;
@Autowired @Autowired
private OssClient ossClient; private OssClient ossClient;
...@@ -90,23 +95,22 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -90,23 +95,22 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
} }
@Override @Override
public Page<EntrustSampleItemVO> pageAllotBySampleRight(Page<EntrustSampleItemVO> page, EntrustSampleItemVO entrustSampleItem) { public Page<EntrustSampleItemVO> pageAllotBySampleRight(Page<EntrustSampleItemVO> page, EntrustSampleItemVO entrustSampleItem) {
if (ArrayUtils.isEmpty(entrustSampleItem.getSampleIdsArray())){ if (ArrayUtils.isEmpty(entrustSampleItem.getSampleIdsArray())) {
RestAssert.fail("请选择样品ID"); RestAssert.fail("请选择样品ID");
} }
return page.setRecords(baseMapper.selectVOList(page,entrustSampleItem)); return page.setRecords(baseMapper.selectVOList(page, entrustSampleItem));
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean allotItem(Long[] ids, String tester, Long testerId, Account account) { public boolean allotItem(Long[] ids, String tester, Long testerId, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要分配的检测项目"); RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要分配的检测项目");
RestAssert.fail(StringUtils.isBlank(tester),"请选择检测人员"); RestAssert.fail(StringUtils.isBlank(tester), "请选择检测人员");
RestAssert.fail(null == testerId,"请选择检测人员"); RestAssert.fail(null == testerId, "请选择检测人员");
EntrustSampleItem item = new EntrustSampleItem(); EntrustSampleItem item = new EntrustSampleItem();
...@@ -118,62 +122,61 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -118,62 +122,61 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
item.setProgress(EntrustSampleItemStatusEnum.TEST); item.setProgress(EntrustSampleItemStatusEnum.TEST);
super.update(item,Condition.create().in("id",ids)); super.update(item, Condition.create().in("id", ids));
entrustSampleItemRecordService.record(ids,EntrustSampleItemStatusEnum.ALLOT.getDisplay(),EntrustSampleItemStatusEnum.TEST.getDisplay(),0,"任务分配",account); entrustSampleItemRecordService.record(ids, EntrustSampleItemStatusEnum.ALLOT.getDisplay(), EntrustSampleItemStatusEnum.TEST.getDisplay(), 0, "任务分配", account);
return true; return true;
} }
@Override @Override
public Page<EntrustSampleItemVO> pageByItemLeft(Page<EntrustSampleItemVO> page, EntrustSampleItemVO itemVO) { public Page<EntrustSampleItemVO> pageByItemLeft(Page<EntrustSampleItemVO> page, EntrustSampleItemVO itemVO) {
if (null == itemVO.getEntrustId()){ if (null == itemVO.getEntrustId()) {
return page; return page;
} }
List<EntrustSample> sampleList = entrustSampleService.list(Condition.create().eq("entrust_id",itemVO.getEntrustId())); List<EntrustSample> sampleList = entrustSampleService.list(Condition.create().eq("entrust_id", itemVO.getEntrustId()));
if (CollectionUtils.isEmpty(sampleList)){ if (CollectionUtils.isEmpty(sampleList)) {
return page; return page;
} }
List<Long> sampleIds = sampleList.stream().map(s->{ List<Long> sampleIds = sampleList.stream().map(s -> {
return s.getId(); return s.getId();
}).collect(Collectors.toList()); }).collect(Collectors.toList());
itemVO.setSampleIds(sampleIds); itemVO.setSampleIds(sampleIds);
return page.setRecords(baseMapper.selectByItemLeftList(page,itemVO)); return page.setRecords(baseMapper.selectByItemLeftList(page, itemVO));
} }
@Override @Override
public Page<EntrustSampleItemVO> pageByItemRight(Page<EntrustSampleItemVO> page, EntrustSampleItemVO itemVO) { public Page<EntrustSampleItemVO> pageByItemRight(Page<EntrustSampleItemVO> page, EntrustSampleItemVO itemVO) {
if (null == itemVO.getEntrustId()){ if (null == itemVO.getEntrustId()) {
return page; return page;
} }
if (ArrayUtils.isEmpty(itemVO.getNameArray())){ if (ArrayUtils.isEmpty(itemVO.getNameArray())) {
RestAssert.fail("请选择检测项目"); RestAssert.fail("请选择检测项目");
return page; return page;
} }
List<EntrustSample> sampleList = entrustSampleService.list(Condition.create().eq("entrust_id",itemVO.getEntrustId())); List<EntrustSample> sampleList = entrustSampleService.list(Condition.create().eq("entrust_id", itemVO.getEntrustId()));
if (CollectionUtils.isEmpty(sampleList)){ if (CollectionUtils.isEmpty(sampleList)) {
return page; return page;
} }
List<Long> sampleIds = sampleList.stream().map(s->{ List<Long> sampleIds = sampleList.stream().map(s -> {
return s.getId(); return s.getId();
}).collect(Collectors.toList()); }).collect(Collectors.toList());
itemVO.setSampleIds(sampleIds); itemVO.setSampleIds(sampleIds);
itemVO.setCompanyId(LoginHelper.getAccount().getCompanyId()); itemVO.setCompanyId(LoginHelper.getAccount().getCompanyId());
return page.setRecords(baseMapper.selectByItemLeftRight(page,itemVO)); return page.setRecords(baseMapper.selectByItemLeftRight(page, itemVO));
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean submitTest(Long[] ids, Account account) { public boolean submitTest(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的检测项目"); RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的检测项目");
List<EntrustSampleItem> list = super.list(Condition.create().in("id",ids).eq("status",EntrustSampleItemStatusEnum.TEST)); List<EntrustSampleItem> list = super.list(Condition.create().in("id", ids).eq("status", EntrustSampleItemStatusEnum.TEST));
RestAssert.fail(list.size()!=ids.length,"请选择待检测的检测项目"); RestAssert.fail(list.size() != ids.length, "请选择待检测的检测项目");
// 不再对检测值进行判断 // 不再对检测值进行判断
// for (EntrustSampleItem sampleItem:list) { // for (EntrustSampleItem sampleItem:list) {
// RestAssert.fail(StringUtils.isBlank(sampleItem.getTestValue()),"检测项目名称:"+sampleItem.getName()+"未填写检测值,请确认!"); // RestAssert.fail(StringUtils.isBlank(sampleItem.getTestValue()),"检测项目名称:"+sampleItem.getName()+"未填写检测值,请确认!");
...@@ -187,18 +190,18 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -187,18 +190,18 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
item.setStatus(EntrustSampleItemStatusEnum.CHECK); item.setStatus(EntrustSampleItemStatusEnum.CHECK);
item.setProgress(EntrustSampleItemStatusEnum.CHECK); item.setProgress(EntrustSampleItemStatusEnum.CHECK);
super.update(item,Condition.create().in("id",ids)); super.update(item, Condition.create().in("id", ids));
entrustSampleItemRecordService.record(ids,EntrustSampleItemStatusEnum.TEST.getDisplay(),EntrustSampleItemStatusEnum.CHECK.getDisplay(),0,"数据录入提交",account); entrustSampleItemRecordService.record(ids, EntrustSampleItemStatusEnum.TEST.getDisplay(), EntrustSampleItemStatusEnum.CHECK.getDisplay(), 0, "数据录入提交", account);
return true; return true;
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean submitCheck(Long[] ids, Account account) { public boolean submitCheck(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的检测项目"); RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的检测项目");
List<EntrustSampleItem> list = super.list(Condition.create().in("id",ids).eq("status",EntrustSampleItemStatusEnum.CHECK)); List<EntrustSampleItem> list = super.list(Condition.create().in("id", ids).eq("status", EntrustSampleItemStatusEnum.CHECK));
RestAssert.fail(list.size()!=ids.length,"请选择待复核的检测项目"); RestAssert.fail(list.size() != ids.length, "请选择待复核的检测项目");
EntrustSampleItem item = new EntrustSampleItem(); EntrustSampleItem item = new EntrustSampleItem();
...@@ -210,8 +213,8 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -210,8 +213,8 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
item.setCheckTime(new Date()); item.setCheckTime(new Date());
super.update(item,Condition.create().in("id",ids)); super.update(item, Condition.create().in("id", ids));
entrustSampleItemRecordService.record(ids,EntrustSampleItemStatusEnum.CHECK.getDisplay(),EntrustSampleItemStatusEnum.AUDIT.getDisplay(),0,"数据复核提交",account); entrustSampleItemRecordService.record(ids, EntrustSampleItemStatusEnum.CHECK.getDisplay(), EntrustSampleItemStatusEnum.AUDIT.getDisplay(), 0, "数据复核提交", account);
return true; return true;
} }
...@@ -219,9 +222,9 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -219,9 +222,9 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean submitAudit(Long[] ids, Account account) { public boolean submitAudit(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的检测项目"); RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的检测项目");
List<EntrustSampleItem> list = super.list(Condition.create().in("id",ids).eq("status",EntrustSampleItemStatusEnum.AUDIT)); List<EntrustSampleItem> list = super.list(Condition.create().in("id", ids).eq("status", EntrustSampleItemStatusEnum.AUDIT));
RestAssert.fail(list.size()!=ids.length,"请选择待审核的检测项目"); RestAssert.fail(list.size() != ids.length, "请选择待审核的检测项目");
EntrustSampleItem item = new EntrustSampleItem(); EntrustSampleItem item = new EntrustSampleItem();
...@@ -233,34 +236,33 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -233,34 +236,33 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
item.setAuditTime(new Date()); item.setAuditTime(new Date());
super.update(item,Condition.create().in("id",ids)); super.update(item, Condition.create().in("id", ids));
entrustSampleItemRecordService.record(ids,EntrustSampleItemStatusEnum.AUDIT.getDisplay(),EntrustSampleItemStatusEnum.END.getDisplay(),0,"数据审核提交",account); entrustSampleItemRecordService.record(ids, EntrustSampleItemStatusEnum.AUDIT.getDisplay(), EntrustSampleItemStatusEnum.END.getDisplay(), 0, "数据审核提交", account);
List<Long> sampleIds = list.stream().map(i -> {
List<Long> sampleIds = list.stream().map(i->{
return i.getEntrustSampleId(); return i.getEntrustSampleId();
}).collect(Collectors.toList()); }).collect(Collectors.toList());
List<EntrustSampleItem> listCheckOk = super.list(Condition.create().in("entrust_sample_id",sampleIds).ne("status",EntrustSampleItemStatusEnum.END)); List<EntrustSampleItem> listCheckOk = super.list(Condition.create().in("entrust_sample_id", sampleIds).ne("status", EntrustSampleItemStatusEnum.END));
List<Long> sampleNotOkList = listCheckOk.stream().map(i->{ List<Long> sampleNotOkList = listCheckOk.stream().map(i -> {
return i.getEntrustSampleId(); return i.getEntrustSampleId();
}).collect(Collectors.toList()); }).collect(Collectors.toList());
List<Long> sampleOkIdsList = new ArrayList<>(); List<Long> sampleOkIdsList = new ArrayList<>();
for (Long sampleId:sampleIds) { for (Long sampleId : sampleIds) {
if (!sampleNotOkList.contains(sampleId)){ if (!sampleNotOkList.contains(sampleId)) {
sampleOkIdsList.add(sampleId); sampleOkIdsList.add(sampleId);
} }
} }
if (CollectionUtils.isNotEmpty(sampleOkIdsList)){ if (CollectionUtils.isNotEmpty(sampleOkIdsList)) {
EntrustSample sample = new EntrustSample(); EntrustSample sample = new EntrustSample();
sample.setStatus(EntrustSampleStatusEnum.REPORT_MAKE); sample.setStatus(EntrustSampleStatusEnum.REPORT_MAKE);
sample.setProgress(EntrustSampleStatusEnum.REPORT_MAKE); sample.setProgress(EntrustSampleStatusEnum.REPORT_MAKE);
entrustSampleService.update(sample,Condition.create().in("id",sampleOkIdsList)); entrustSampleService.update(sample, Condition.create().in("id", sampleOkIdsList));
} }
return true; return true;
} }
...@@ -270,37 +272,36 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -270,37 +272,36 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
@Override @Override
public boolean backCheck(Long[] ids, String reason, Account account) { public boolean backCheck(Long[] ids, String reason, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要退回的检测项目"); RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要退回的检测项目");
RestAssert.fail(StringUtils.isBlank(reason),"请填写退回原因"); RestAssert.fail(StringUtils.isBlank(reason), "请填写退回原因");
EntrustSampleItem item = new EntrustSampleItem(); EntrustSampleItem item = new EntrustSampleItem();
item.setStatus(EntrustSampleItemStatusEnum.TEST); item.setStatus(EntrustSampleItemStatusEnum.TEST);
item.setProgress(EntrustSampleItemStatusEnum.BACK_CHECK); item.setProgress(EntrustSampleItemStatusEnum.BACK_CHECK);
super.update(item,Condition.create().in("id",ids)); super.update(item, Condition.create().in("id", ids));
entrustSampleItemRecordService.record(ids,EntrustSampleItemStatusEnum.CHECK.getDisplay(),EntrustSampleItemStatusEnum.TEST.getDisplay(),1,reason,account); entrustSampleItemRecordService.record(ids, EntrustSampleItemStatusEnum.CHECK.getDisplay(), EntrustSampleItemStatusEnum.TEST.getDisplay(), 1, reason, account);
return true; return true;
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean backAudit(Long[] ids, String reason, Account account) { public boolean backAudit(Long[] ids, String reason, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要退回的检测项目"); RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要退回的检测项目");
RestAssert.fail(StringUtils.isBlank(reason),"请填写退回原因"); RestAssert.fail(StringUtils.isBlank(reason), "请填写退回原因");
EntrustSampleItem item = new EntrustSampleItem(); EntrustSampleItem item = new EntrustSampleItem();
item.setStatus(EntrustSampleItemStatusEnum.TEST); item.setStatus(EntrustSampleItemStatusEnum.TEST);
item.setProgress(EntrustSampleItemStatusEnum.BACK_AUDIT); item.setProgress(EntrustSampleItemStatusEnum.BACK_AUDIT);
super.update(item,Condition.create().in("id",ids)); super.update(item, Condition.create().in("id", ids));
entrustSampleItemRecordService.record(ids,EntrustSampleItemStatusEnum.AUDIT.getDisplay(),EntrustSampleItemStatusEnum.TEST.getDisplay(),1,reason,account); entrustSampleItemRecordService.record(ids, EntrustSampleItemStatusEnum.AUDIT.getDisplay(), EntrustSampleItemStatusEnum.TEST.getDisplay(), 1, reason, account);
return true; return true;
} }
...@@ -312,52 +313,52 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -312,52 +313,52 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
@Override @Override
public OriginalRecord saveExcelOriginalRecord(Long[] ids, Long templateId, Account account) { public OriginalRecord saveExcelOriginalRecord(Long[] ids, Long templateId, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择试验项目!"); RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择试验项目!");
RestAssert.fail(null == templateId,"请选择原始记录模板"); RestAssert.fail(null == templateId, "请选择原始记录模板");
OriginalTemplate template = originalTemplateService.getById(templateId); OriginalTemplate template = originalTemplateService.getById(templateId);
if (null == template){ if (null == template) {
RestAssert.fail("模板不存在"); RestAssert.fail("模板不存在");
} }
List<EntrustSampleItemVO> voList = listVOByIds(ids); List<EntrustSampleItemVO> voList = listVOByIds(ids);
if (CollectionUtils.isEmpty(voList)){ if (CollectionUtils.isEmpty(voList)) {
return null; return null;
} }
Entrust entrust = entrustService.getById(voList.get(0).getEntrustId()); Entrust entrust = entrustService.getById(voList.get(0).getEntrustId());
InputStream io = ossClient.download(template.getObjectKey()); InputStream io = ossClient.download(template.getObjectKey());
if (null == io){ if (null == io) {
RestAssert.fail("模板不存在"); RestAssert.fail("模板不存在");
} }
List<OriginalTemplateConfig> configList = originalTemplateConfigService.list(Condition.create().eq("template_id",templateId)); List<OriginalTemplateConfig> configList = originalTemplateConfigService.list(Condition.create().eq("template_id", templateId));
OriginalRecord objectKey=null; OriginalRecord objectKey = null;
XSSFWorkbook xssfWorkbook= null; XSSFWorkbook xssfWorkbook = null;
try { try {
xssfWorkbook= new XSSFWorkbook(io); xssfWorkbook = new XSSFWorkbook(io);
}catch (Exception e){ } catch (Exception e) {
logger.error("获取证书模板错误"+e.getMessage()); logger.error("获取证书模板错误" + e.getMessage());
e.printStackTrace(); e.printStackTrace();
} }
OriginalFactory factory = new OriginalFactory(template,voList,entrust,configList,xssfWorkbook); OriginalFactory factory = new OriginalFactory(template, voList, entrust, configList, xssfWorkbook);
Operation operation = factory.getOperation(); Operation operation = factory.getOperation();
if (null!=operation){ if (null != operation) {
operation.doMakeOriginal(); operation.doMakeOriginal();
} }
FileOutputStream os = null; FileOutputStream os = null;
File file = null; File file = null;
String generated="原始记录"; String generated = "原始记录";
try { try {
file = File.createTempFile(generated, ".xlsx"); file = File.createTempFile(generated, ".xlsx");
os = new FileOutputStream(file); os = new FileOutputStream(file);
xssfWorkbook.write(os); xssfWorkbook.write(os);
os.flush(); os.flush();
objectKey= originalRecordService.uploadExpGenerate(ids,template,entrust, account, "原始记录生成", file); objectKey = originalRecordService.uploadExpGenerate(ids, template, entrust, account, "原始记录生成", file);
logger.error("----------------------17"); logger.error("----------------------17");
} catch (Exception e) { } catch (Exception e) {
logger.error("Exception 报错"+e.getMessage()); logger.error("Exception 报错" + e.getMessage());
e.printStackTrace(); e.printStackTrace();
} finally { } finally {
try { try {
...@@ -384,8 +385,8 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -384,8 +385,8 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
} }
@Override @Override
public boolean deviateApply(Long[] ids,ItemDeviate deviate, Account account) { public boolean deviateApply(Long[] ids, ItemDeviate deviate, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选需要偏离审批的检测项目"); RestAssert.fail(ArrayUtils.isEmpty(ids), "请选需要偏离审批的检测项目");
EntrustSampleItem sampleItem = new EntrustSampleItem(); EntrustSampleItem sampleItem = new EntrustSampleItem();
sampleItem.setStatus(EntrustSampleItemStatusEnum.UPDATE_APPLY); sampleItem.setStatus(EntrustSampleItemStatusEnum.UPDATE_APPLY);
...@@ -405,26 +406,26 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -405,26 +406,26 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
itemDeviate.setProgress(EntrustSampleItemStatusEnum.UPDATE_APPLY); itemDeviate.setProgress(EntrustSampleItemStatusEnum.UPDATE_APPLY);
itemDeviateList.add(itemDeviate); itemDeviateList.add(itemDeviate);
} }
if (update(sampleItem,Condition.create().in("id",ids))){ if (update(sampleItem, Condition.create().in("id", ids))) {
return itemDeviateService.saveBatch(itemDeviateList); return itemDeviateService.saveBatch(itemDeviateList);
} }
return false; return false;
} }
@Override @Override
public Page<EntrustSampleItemVO> pageItemDeviateCheck(Page<EntrustSampleItemVO> page, EntrustSampleItemVO entrustSampleItem) { public Page<EntrustSampleItemVO> pageItemDeviateCheck(Page<EntrustSampleItemVO> page, EntrustSampleItemVO entrustSampleItem) {
return page.setRecords(baseMapper.selectByItemDeviate(page,entrustSampleItem)); return page.setRecords(baseMapper.selectByItemDeviate(page, entrustSampleItem));
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean deviatePass(Long[] ids, Account account) { public boolean deviatePass(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择需要通过的偏离申请"); RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择需要通过的偏离申请");
EntrustSampleItem item = new EntrustSampleItem(); EntrustSampleItem item = new EntrustSampleItem();
item.setStatus(EntrustSampleItemStatusEnum.TEST); item.setStatus(EntrustSampleItemStatusEnum.TEST);
item.setProgress(EntrustSampleItemStatusEnum.UPDATE_APPLY_PASS); item.setProgress(EntrustSampleItemStatusEnum.UPDATE_APPLY_PASS);
if (update(item,Condition.create().in("id",ids))){ if (update(item, Condition.create().in("id", ids))) {
List<ItemDeviate> deviateList = itemDeviateService.list(Condition.create().in("item_id",ids).eq("status",EntrustSampleItemStatusEnum.UPDATE_APPLY)); List<ItemDeviate> deviateList = itemDeviateService.list(Condition.create().in("item_id", ids).eq("status", EntrustSampleItemStatusEnum.UPDATE_APPLY));
List<ItemDeviate> updateList = new ArrayList<>(); List<ItemDeviate> updateList = new ArrayList<>();
for (ItemDeviate itemDeviate : deviateList) { for (ItemDeviate itemDeviate : deviateList) {
...@@ -437,7 +438,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -437,7 +438,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
u.setCheckTime(new Date()); u.setCheckTime(new Date());
updateList.add(u); updateList.add(u);
} }
if (CollectionUtils.isNotEmpty(updateList)){ if (CollectionUtils.isNotEmpty(updateList)) {
return itemDeviateService.updateBatchById(updateList); return itemDeviateService.updateBatchById(updateList);
} }
} }
...@@ -448,14 +449,14 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -448,14 +449,14 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean deviateBack(Long[] ids,String reason, Account account) { public boolean deviateBack(Long[] ids, String reason, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择需要驳回的偏离申请"); RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择需要驳回的偏离申请");
RestAssert.fail(StringUtils.isBlank(reason),"请填写驳回原因"); RestAssert.fail(StringUtils.isBlank(reason), "请填写驳回原因");
EntrustSampleItem item = new EntrustSampleItem(); EntrustSampleItem item = new EntrustSampleItem();
item.setStatus(EntrustSampleItemStatusEnum.TEST); item.setStatus(EntrustSampleItemStatusEnum.TEST);
item.setProgress(EntrustSampleItemStatusEnum.UPDATE_APPLY_BACK); item.setProgress(EntrustSampleItemStatusEnum.UPDATE_APPLY_BACK);
if (update(item,Condition.create().in("id",ids))){ if (update(item, Condition.create().in("id", ids))) {
List<ItemDeviate> deviateList = itemDeviateService.list(Condition.create().in("item_id",ids).eq("status",EntrustSampleItemStatusEnum.UPDATE_APPLY)); List<ItemDeviate> deviateList = itemDeviateService.list(Condition.create().in("item_id", ids).eq("status", EntrustSampleItemStatusEnum.UPDATE_APPLY));
List<ItemDeviate> updateList = new ArrayList<>(); List<ItemDeviate> updateList = new ArrayList<>();
for (ItemDeviate itemDeviate : deviateList) { for (ItemDeviate itemDeviate : deviateList) {
ItemDeviate u = new ItemDeviate(); ItemDeviate u = new ItemDeviate();
...@@ -468,7 +469,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -468,7 +469,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
u.setBackReason(reason); u.setBackReason(reason);
updateList.add(u); updateList.add(u);
} }
if (CollectionUtils.isNotEmpty(updateList)){ if (CollectionUtils.isNotEmpty(updateList)) {
return itemDeviateService.updateBatchById(updateList); return itemDeviateService.updateBatchById(updateList);
} }
} }
...@@ -481,22 +482,22 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -481,22 +482,22 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
EntrustSampleItemStatusEnum.UPDATE_APPLY_BACK, EntrustSampleItemStatusEnum.UPDATE_APPLY_BACK,
EntrustSampleItemStatusEnum.UPDATE_APPLY_PASS EntrustSampleItemStatusEnum.UPDATE_APPLY_PASS
); );
List<ItemDeviate> list = itemDeviateService.list(Condition.create().setSqlSelect("item_id").in("status",statusEnums).groupBy("item_id")); List<ItemDeviate> list = itemDeviateService.list(Condition.create().setSqlSelect("item_id").in("status", statusEnums).groupBy("item_id"));
if (CollectionUtils.isEmpty(list)){ if (CollectionUtils.isEmpty(list)) {
return page; return page;
} }
List<Long> ids = list.stream().map(s->{ List<Long> ids = list.stream().map(s -> {
return s.getItemId(); return s.getItemId();
}).collect(Collectors.toList()); }).collect(Collectors.toList());
entrustSampleItem.setIds(ids); entrustSampleItem.setIds(ids);
return page.setRecords(baseMapper.selectByItemDeviate(page,entrustSampleItem)); return page.setRecords(baseMapper.selectByItemDeviate(page, entrustSampleItem));
} }
@Override @Override
public List<EntrustSampleItemVO> getItemByOriginalRecordId(Long originalRecordId) { public List<EntrustSampleItemVO> getItemByOriginalRecordId(Long originalRecordId) {
if(null == originalRecordId){ if (null == originalRecordId) {
return null; return null;
} }
return baseMapper.selectByOriginalRecordId(originalRecordId); return baseMapper.selectByOriginalRecordId(originalRecordId);
...@@ -507,6 +508,108 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -507,6 +508,108 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
return baseMapper.selectListVOByIds(expIdsList); return baseMapper.selectListVOByIds(expIdsList);
} }
@Override
public List<EntrustSampleItemVO> getListBySampleId(Long sampleId) {
if (null == sampleId) {
return null;
}
return baseMapper.selectByEntrustSampleId(sampleId);
}
@Override
public boolean updateQualityJudge(Long[] ids, Account account) {
RestAssert.fail(null == ids || ids.length == 0, "样品编号不能为空");
// ==
List<EntrustSample> sampleList = entrustSampleService.getBatchIds(Arrays.asList(ids));
for (EntrustSample sample : sampleList) {
// 获取样品检测项目数据
List<EntrustSampleItem> sampleItemList = list(Condition.create().eq("compose_judge", 1)
.eq("entrust_sample_id", sample.getId()));
// 计算合计值
BigDecimal totalValue = sampleItemList.stream().map(t -> new BigDecimal(t.getTestValue())).reduce(BigDecimal.ZERO, BigDecimal::add);
double total = totalValue.doubleValue();
// 获取检测项目值对象
Map<String, Double> itemDataMap = sampleItemList.stream().collect(Collectors.toMap(EntrustSampleItem::getName, t -> Double.parseDouble(t.getTestValue())));
// 获得产品标准信息
GradingStandard standard = gradingStandardService.getById(sample.getProductStandardId());
RestAssert.fail(null == standard, "产品标准不能为空");
// 获得产品等级信息
List<GradingProduct> gradingProductList = gradingProductService.list(Condition.create()
.eq("grading_standard_id", standard.getId()).eq("deleted", 0)
// 依旧优先级来处理判定顺序
.orderBy("judge_priority", false));
RestAssert.fail(CollectionUtils.isEmpty(gradingProductList), "产品标准不能为空");
// 循环产品标准依次判定级别
for (int i = 0; i < gradingProductList.size(); i++) {
GradingProduct product = gradingProductList.get(i);
RestAssert.fail(null == product.getSumValue(), "产品标准合计值不能为空");
RestAssert.fail(StringUtils.isBlank(product.getSumCompare()), "产品标准比较符不能为空");
// 根据比较符类型比较大小
if (!CompareUtils.Comparator.get(product.getSumCompare()).calc(total, product.getSumValue().doubleValue())) {
if (i < gradingProductList.size() - 1) {
continue;
}
return updateJudgeNoPass(sample, account);
}
// 符合合计,比较单个大小是否都符合
List<GradingItem> gradingItemList = gradingItemService.list(Condition.create()
.eq("grading_product_id", product.getId()).eq("compose_judge", 1)
.eq("deleted", 0));
RestAssert.fail(CollectionUtils.isEmpty(gradingItemList), "产品等级【" + product.getProductGrade() + "】下为组合判定的检测项目为空");
// 若存在
gradingItemList.stream().forEach(t -> {
RestAssert.fail(StringUtils.isBlank(t.getDecisionSymbol()), "产品等级下产品检测项目比较符为空");
RestAssert.fail(StringUtils.isBlank(t.getLimitValue()), "产品等级下产品检测项目限制值为空");
RestAssert.fail(null == itemDataMap.get(t.getName()), "样品下设定组合判定的检测项目【" + t.getName() + "】不存在");
});
// 获取失败数量
long failCount = gradingItemList.stream().filter(t ->
!CompareUtils.Comparator.get(t.getDecisionSymbol()).calc(itemDataMap.get(t.getName()), Double.parseDouble(t.getLimitValue()))
).count();
// 若存在不符合判定要求,则进入下一标准判定
if (failCount > 0) {
// 存在下一个标准等级判定,继续判定
if (i < gradingProductList.size() - 1) {
continue;
}
// 不存在下一个判定标准,直接不合格
else {
return updateJudgeNoPass(sample, account);
}
}
// 样品判定合格
sample.setOkJudge("合格").setJudger(account.getUserName()).setJudgerId(account.getUserId())
.setJudgeCheckTime(new Date()).setJudgeStatus(0).setJudgeProgress(0)
.setSampleGrading(product.getProductGrade());
return entrustSampleService.updateById(sample);
}
}
return false;
}
/**
* 不合格判定
*
* @param sample
* @return
*/
private boolean updateJudgeNoPass(EntrustSample sample, Account account) {
sample.setOkJudge("不合格").setJudger(account.getUserName()).setJudgerId(account.getUserId())
.setJudgeCheckTime(new Date()).setJudgeStatus(0).setJudgeProgress(0);
return entrustSampleService.updateById(sample);
}
private List<EntrustSampleItemVO> listVOByIds(Long[] ids) { private List<EntrustSampleItemVO> listVOByIds(Long[] ids) {
return baseMapper.selectVOListByIds(ids); return baseMapper.selectVOListByIds(ids);
} }
......
<?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.hmhj.mapper.ElectrolyzerMapper">
</mapper>
<?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.hmhj.mapper.ElectrolyzerMapper">
</mapper>
...@@ -231,6 +231,18 @@ ...@@ -231,6 +231,18 @@
WHERE i.deleted = 0 AND s.deleted = 0 and rr.deleted = 0 and rr.record_id = #{originalRecordId} limit 1 WHERE i.deleted = 0 AND s.deleted = 0 and rr.deleted = 0 and rr.record_id = #{originalRecordId} limit 1
</select> </select>
<select id="selectByEntrustSampleId" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO">
SELECT
i.id,i.name,i.entrust_sample_id,s.entrust_id,i.agreed_value,i.test_value,i.standard,i.compose_judge,
s.code AS "sampleCode",s.name AS "sampleName", s.sample_shape ,s.sample_quantity, s.standard, s.sample_from,
s.product_code,s.name_code
FROM
entrust_sample_item i
JOIN entrust_sample s ON i.entrust_sample_id = s.ID
WHERE i.deleted = 0 AND s.deleted = 0 and i.entrust_sample_id = #{sampleId}
order by i.name asc
</select>
<select id="selectListVOByIds" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO"> <select id="selectListVOByIds" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO">
SELECT i.id,i.name,i.entrust_sample_id,s.entrust_id,i.agreed_value,i.test_value,i.standard,s.code AS "sampleCode",s.name AS "sampleName", SELECT i.id,i.name,i.entrust_sample_id,s.entrust_id,i.agreed_value,i.test_value,i.standard,s.code AS "sampleCode",s.name AS "sampleName",
......
...@@ -18,7 +18,7 @@ public class LimsCodeGenerator { ...@@ -18,7 +18,7 @@ public class LimsCodeGenerator {
new PostgresqlGenerator().setDataSourceConfig(new DataSourceConfig() new PostgresqlGenerator().setDataSourceConfig(new DataSourceConfig()
.setDbType(DbType.POSTGRE_SQL) .setDbType(DbType.POSTGRE_SQL)
.setDriverName("org.postgresql.Driver") .setDriverName("org.postgresql.Driver")
.setUrl("jdbc:postgresql://139.9.144.39:5432/dev_lims_hmhj") .setUrl("jdbc:postgresql://localhost:5432/dev_lims_hmhj")
.setUsername("dbdev") .setUsername("dbdev")
.setPassword("Project312&QdPt!") .setPassword("Project312&QdPt!")
).execute("lims"); ).execute("lims");
......
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