Commit 3404cf37 by lijingjing

添加满意度调查相关查询和数据统计;

parent 300d7b67
......@@ -8,7 +8,9 @@ import com.patzn.cloud.service.hmhj.entity.Entrust;
import com.patzn.cloud.service.hmhj.enums.*;
import com.patzn.cloud.service.hmhj.vo.EntrustVO;
import com.patzn.cloud.service.lims.hmhj.service.impl.UserInfoServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.plugins.Page;
......@@ -22,6 +24,7 @@ import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.Date;
import java.util.List;
/**
......@@ -481,8 +484,10 @@ public class EntrustController extends ServiceController {
@PostMapping("/page_entrust_test_data")
public RestResult<Page<EntrustVO>> getPageTaskTestData(EntrustVO entrust) {
entrust.setItemStatus(EntrustSampleItemStatusEnum.TEST);
// 过滤当前人为检测人的委托数据
// 过滤当前人为检测人的委托数据 - 节点数据不为空,且为检测时,只查询当前人信息
if(StringUtils.isNotBlank(entrust.getSource()) && EntrustFlowEnum.TEST.getName().equalsIgnoreCase(entrust.getSource())) {
entrust.setTesterId(getAccount().getUserId());
}
// 获取当前用户分组
entrust.setGroupNameList(userInfoService.getCurGroupNameList());
return success(entrustService.pageEntrustByItemData(getPage(), entrust));
......
......@@ -71,7 +71,6 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation("制备历史样品分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
......@@ -86,7 +85,6 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation("报告编制样品分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
......@@ -174,8 +172,8 @@ public class EntrustSampleController extends ServiceController {
@ApiOperation("根据 id 修改信息")
@PutMapping("/edit_sample")
public RestResult<Boolean> editSample(EntrustSample entrustSample,String source) {
return success(entrustSampleService.updateSample(entrustSample,source,getAccount()));
public RestResult<Boolean> editSample(EntrustSample entrustSample, String source) {
return success(entrustSampleService.updateSample(entrustSample, source, getAccount()));
}
@ApiOperation("添加")
......@@ -194,9 +192,6 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation(value = "增加标样", notes = "增加标样")
@PostMapping("/add_standard_sample")
public RestResult<Boolean> addStandardSample(@RequestBody EntrustSampleDTO dto) {
......@@ -206,7 +201,6 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation(value = "数据录入添加检测项目", notes = "数据录入添加检测项目")
@PostMapping("/add_test_item_in_input")
public RestResult<Boolean> addTestItemInInput(@RequestBody EntrustSampleADDDTO dto) {
......@@ -214,18 +208,13 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation("获取制备信息")
@PostMapping("/obtain_make_info")
public RestResult<List<EntrustSampleVO>> obtainMakeInfo(@RequestParam("ids") Long [] ids) {
return success(entrustSampleService.obtainMakeInfo(ids,getAccount()));
public RestResult<List<EntrustSampleVO>> obtainMakeInfo(@RequestParam("ids") Long[] ids) {
return success(entrustSampleService.obtainMakeInfo(ids, getAccount()));
}
@ApiOperation("样品接收分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
......@@ -254,7 +243,6 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation("任务分配样品分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
......@@ -269,8 +257,6 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation("任务分配历史样品分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
......@@ -291,13 +277,10 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation("样品生成报告")
@PostMapping("/make_report")
public RestResult<Boolean> makeReport(@RequestBody ReportDTO dto) {
return success(entrustSampleService.makeReport(dto,getAccount()));
return success(entrustSampleService.makeReport(dto, getAccount()));
}
......@@ -310,7 +293,6 @@ public class EntrustSampleController extends ServiceController {
@ApiOperation("质量判定样品分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
......@@ -337,7 +319,7 @@ public class EntrustSampleController extends ServiceController {
public RestResult<Page<EntrustSample>> getPageSampleMakeHis(EntrustSample entrustSample) {
entrustSample.setStatus(EntrustSampleStatusEnum.END);
Wrapper wrapper = new EntityWrapper<>(entrustSample);
wrapper.in("judge_status",Lists.newArrayList(1,2));
wrapper.in("judge_status", Lists.newArrayList(1, 2));
return success(entrustSampleService.pageByWrapper(getPage(), wrapper));
}
......@@ -389,34 +371,32 @@ public class EntrustSampleController extends ServiceController {
@ApiOperation("质量登记提交")
@PostMapping("/submit_judge_register")
public RestResult<Boolean> submitJudgeRegister(@RequestParam("ids") Long [] ids) {
return success(entrustSampleService.submitJudgeRegister(ids,getAccount()));
public RestResult<Boolean> submitJudgeRegister(@RequestParam("ids") Long[] ids) {
return success(entrustSampleService.submitJudgeRegister(ids, getAccount()));
}
@ApiOperation("质量审核通过")
@PostMapping("/submit_judge_check")
public RestResult<Boolean> submitJudgeCheck(@RequestParam("ids") Long [] ids) {
return success(entrustSampleService.submitJudgeCheck(ids,getAccount()));
public RestResult<Boolean> submitJudgeCheck(@RequestParam("ids") Long[] ids) {
return success(entrustSampleService.submitJudgeCheck(ids, getAccount()));
}
@ApiOperation("质量审核提交至验收结果录入")
@PostMapping("/submit_to_acceptance_result_input")
public RestResult<Boolean> submitToAcceptanceResultInput(@RequestParam("ids") Long [] ids) {
return success(entrustSampleService.submitToAcceptanceResultInput(ids,getAccount()));
public RestResult<Boolean> submitToAcceptanceResultInput(@RequestParam("ids") Long[] ids) {
return success(entrustSampleService.submitToAcceptanceResultInput(ids, getAccount()));
}
@ApiOperation("质量审核驳回")
@PostMapping("/back_judge_check")
public RestResult<Boolean> backJudgeCheck(@RequestParam("ids") Long [] ids,@RequestParam("remark") String remark) {
return success(entrustSampleService.backJudgeCheck(ids,remark,getAccount()));
public RestResult<Boolean> backJudgeCheck(@RequestParam("ids") Long[] ids, @RequestParam("remark") String remark) {
return success(entrustSampleService.backJudgeCheck(ids, remark, getAccount()));
}
@ApiOperation("任务分配按照样品分配左侧分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
......@@ -431,7 +411,6 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation("数据录入按照样品录入左侧分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
......@@ -479,7 +458,6 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation("数据复核历史按照样品复核左侧分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
......@@ -527,8 +505,6 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation("检测结果查询分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
......@@ -558,4 +534,10 @@ public class EntrustSampleController extends ServiceController {
public RestResult<Map> getPMakeFeStatsQuery(QueryDTO queryDTO) {
return success(entrustSampleService.getPMakeFeStatsQuery(queryDTO));
}
@ApiOperation(value = "扫码接收", notes = "扫码接收")
@PostMapping("/scan_receive")
public RestResult<Boolean> scanReceive(@RequestParam("sampleCode") String sampleCode) {
return success(entrustSampleService.scanReceive(sampleCode, getAccount()));
}
}
......@@ -80,7 +80,7 @@ public class EntrustSamplePrepareController extends ServiceController {
@ApiOperation("样品接收提交")
@PostMapping("/submit_sample_receive")
public RestResult<Boolean> submitSampleReceive(@RequestParam("ids")Long[] ids) {
return success(entrustSamplePrepareService.submitSampleReceive(ids,getAccount()));
return success(entrustSamplePrepareService.submitSampleReceive(ids,null,getAccount()));
}
......
package com.patzn.cloud.service.lims.hmhj.handler;
import com.patzn.cloud.service.hmhj.entity.Questionnaire;
import com.patzn.poibox.excel.AbstractExeclExportHandler;
import com.patzn.poibox.excel.IExcelTemplate;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class QuestionnaireExportHandler extends AbstractExeclExportHandler {
private List<Questionnaire> questionnaires = null;
public QuestionnaireExportHandler(List<Questionnaire> equipList) {
this.questionnaires = equipList;
}
@Override
public IExcelTemplate exportTemplate() {
return new IExcelTemplate() {
@Override
public String tplname() {
return "QuestionnaireTpl";
}
@Override
public String outname() {
return "客户满意度调查表";
}
};
}
@Override
protected Map<String, Object> renderData() {
Map<String, Object> objMap = new HashMap<>(1);
objMap.put("questionnaires", questionnaires);
return objMap;
}
}
\ No newline at end of file
......@@ -29,4 +29,6 @@ public interface EntrustMapper extends BatchMapper<Entrust> {
List<EntrustVO> selectEntrustProgressList(RowBounds rowBounds, @Param("vo")EntrustVO entrust);
List<EntrustVO> selectVOListByItem(Page<EntrustVO> page, @Param("vo") EntrustVO entrust);
List<EntrustVO> selectEntrustVOHisList(Page<EntrustVO> page,@Param("vo") EntrustVO entrust);
}
......@@ -25,7 +25,7 @@ public interface IEntrustSamplePrepareService extends IBaseService<EntrustSample
boolean makeEnd(SamplePrepareDTO dto, Account account);
boolean submitSampleReceive(Long[] ids, Account account);
boolean submitSampleReceive(Long[] ids,String receiveType, Account account);
boolean addOrUpdateToSetStatus(Long[] sampleIds, EntrustSamplePrepareStatusEnum statusEnum);
......
......@@ -82,5 +82,7 @@ public interface IEntrustSampleService extends IBaseService<EntrustSample> {
boolean addTestItemInInput(EntrustSampleADDDTO dto, Account account);
boolean scanReceive(String sampleCode, Account account);
boolean makeSingleReport(Long sampleId, Long[] itemIds, Long templateId, Account account);
}
......@@ -31,8 +31,12 @@ public class EntrustReportTemplateServiceImpl extends BaseServiceImpl<EntrustRep
@Override
public Page<EntrustReportTemplate> page(Page<EntrustReportTemplate> page, EntrustReportTemplate entrustReportTemplate) {
String name = entrustReportTemplate.getName();
entrustReportTemplate.setName(null);
Wrapper wrapper = new EntityWrapper<>(entrustReportTemplate);
if (StringUtils.isNotBlank(name)) {
wrapper.like("name", name);
}
return this.page(page, wrapper);
}
......@@ -42,10 +46,10 @@ public class EntrustReportTemplateServiceImpl extends BaseServiceImpl<EntrustRep
}
@Override
public boolean uploadTemplate(MultipartFile file, String name,String classType, String remark) {
RestAssert.fail(StringUtils.isBlank(name),"模板名称不能为空");
RestAssert.fail(StringUtils.isBlank(classType),"模板类别不能为空");
RestAssert.fail(StringUtils.isBlank(remark),"模板名称说明不能为空");
public boolean uploadTemplate(MultipartFile file, String name, String classType, String remark) {
RestAssert.fail(StringUtils.isBlank(name), "模板名称不能为空");
RestAssert.fail(StringUtils.isBlank(classType), "模板类别不能为空");
RestAssert.fail(StringUtils.isBlank(remark), "模板名称说明不能为空");
String fileName = file.getOriginalFilename();
RestAssert.fail(StringUtils.isBlank(fileName), "请上传文件");
EntrustReportTemplate attachment = new EntrustReportTemplate();
......
......@@ -208,11 +208,11 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitSampleReceive(Long[] ids, Account account) {
public boolean submitSampleReceive(Long[] ids, String receiveType, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择检测样品");
List<EntrustSamplePrepare> prepareList = super.list(Condition.create().in("id", ids));
RestAssert.fail(CollectionUtils.isEmpty(prepareList), "请选择检测样品");
// receiveType : 接收方式,手动或者扫码接收
List<Long> sampleIdsList = new ArrayList<>();
for (EntrustSamplePrepare prepare : prepareList) {
if (null != prepare.getEntrustSampleId() && null != prepare.getGroupId()) {
......
......@@ -117,47 +117,45 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
List<EntrustSampleVO> sampleVOList = baseMapper.selectVOList(page, entrustSample);
if (CollectionUtils.isEmpty(sampleVOList))return page;
if (CollectionUtils.isEmpty(sampleVOList)) return page;
List<Long> sampleIdsList= sampleVOList.stream().map(s->{
List<Long> sampleIdsList = sampleVOList.stream().map(s -> {
return s.getId();
}).collect(Collectors.toList());
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().setSqlSelect("id","entrust_sample_id","name").isNotNull("name").in("entrust_sample_id",sampleIdsList));
Map<Long,List<String>> itemMap = new HashMap<>();
Map<Long,Set<String>> itemSetMap = new HashMap<>();
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().setSqlSelect("id", "entrust_sample_id", "name").isNotNull("name").in("entrust_sample_id", sampleIdsList));
Map<Long, List<String>> itemMap = new HashMap<>();
Map<Long, Set<String>> itemSetMap = new HashMap<>();
for (EntrustSampleItem item : itemList) {
if (itemMap.containsKey(item.getEntrustSampleId())){
if (itemMap.containsKey(item.getEntrustSampleId())) {
List<String> list = itemMap.get(item.getEntrustSampleId());
list.add(item.getName());
itemMap.put(item.getEntrustSampleId(),list);
itemMap.put(item.getEntrustSampleId(), list);
Set<String> set = itemSetMap.get(item.getEntrustSampleId());
set.add(item.getName());
itemSetMap.put(item.getEntrustSampleId(),set);
}else {
itemSetMap.put(item.getEntrustSampleId(), set);
} else {
List<String> list = new ArrayList<>();
list.add(item.getName());
itemMap.put(item.getEntrustSampleId(),list);
itemMap.put(item.getEntrustSampleId(), list);
Set<String> set = new HashSet<>();
set.add(item.getName());
itemSetMap.put(item.getEntrustSampleId(),set);
itemSetMap.put(item.getEntrustSampleId(), set);
}
}
for (EntrustSampleVO vo : sampleVOList) {
List<String> nameList = itemMap.get(vo.getId());
if (CollectionUtils.isEmpty(nameList)){
if (CollectionUtils.isEmpty(nameList)) {
vo.setItemRepeat(false);
}else {
} else {
String itemNames = StringHandleUtils.join(nameList);
vo.setItemNames(itemNames);
if (nameList.size()!=itemSetMap.get(vo.getId()).size()){
if (nameList.size() != itemSetMap.get(vo.getId()).size()) {
vo.setItemRepeat(true);
}else{
} else {
vo.setItemRepeat(false);
}
}
......@@ -166,7 +164,6 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitToAcceptanceResultInput(Long[] ids, Account account) {
......@@ -226,7 +223,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
vo.setIndexList(sampleIndexMap.get(vo.getId()));
}
// 数据排序,有结果的排在前面,无结果排后面
Collections.sort(voList,Comparator.comparingInt(t->CollectionUtils.isNotEmpty(t.getIndexList()) ? 1 : 0));
Collections.sort(voList, Comparator.comparingInt(t -> CollectionUtils.isNotEmpty(t.getIndexList()) ? 1 : 0));
return page.setRecords(voList);
}
......@@ -1035,7 +1032,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
XWPFDocument baseDoc = xwpfTemplate.getXWPFDocument();
List<EntrustSampleItemVO> sampleItemVOList = entrustSampleItemService.listBySampleIdsAndIds(ids,itemIds);
List<EntrustSampleItemVO> sampleItemVOList = entrustSampleItemService.listBySampleIdsAndIds(ids, itemIds);
List<XWPFTable> tableList = baseDoc.getTables();
......@@ -1071,7 +1068,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
}
} else if (sysFileTemplate.getObjectKey().contains(".xlsx")) {
List<EntrustSampleItemVO> sampleItemVOList = entrustSampleItemService.listBySampleIdsAndIds(ids,itemIds);
List<EntrustSampleItemVO> sampleItemVOList = entrustSampleItemService.listBySampleIdsAndIds(ids, itemIds);
List<EntrustSampleVO> sampleVOList = new ArrayList<>();
for (EntrustSample sample : sampleList) {
......@@ -1295,8 +1292,6 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitJudgeRegister(Long[] ids, Account account) {
......@@ -1532,9 +1527,9 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
public boolean addTestItemInInput(EntrustSampleADDDTO dto, Account account) {
if (null == dto) return false;
List<Long> sampleIdsList = dto.getSampleIdsList();
if (CollectionUtils.isEmpty(sampleIdsList))return false;
if (CollectionUtils.isEmpty(sampleIdsList)) return false;
List<EntrustSampleItem> itemList = dto.getItemList();
if (CollectionUtils.isEmpty(itemList))return false;
if (CollectionUtils.isEmpty(itemList)) return false;
List<EntrustSampleItem> saveItemList = new ArrayList<>();
......@@ -1550,11 +1545,25 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
}
}
if (CollectionUtils.isNotEmpty(saveItemList)){
if (CollectionUtils.isNotEmpty(saveItemList)) {
return entrustSampleItemService.saveBatch(saveItemList);
}
return false;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean scanReceive(String sampleCode, Account account) {
RestAssert.fail(StringUtils.isBlank(sampleCode), "请扫描二维码");
String[] codeArray = sampleCode.split("~");
RestAssert.fail(codeArray.length != 3, "样品编号有误!");
// 样品编号ID,根据当前提供的样品编号和组号获取
EntrustSample sample = getOne(Condition.create().setSqlSelect("id").eq("code", codeArray[0]).last("LIMIT 1"));
List<EntrustSamplePrepare> prepareList = entrustSamplePrepareService.list(Condition.create().eq("entrust_sample_id", sample.getId()).eq("group_id", Long.parseLong(codeArray[1])));
RestAssert.fail(CollectionUtils.isEmpty(prepareList), "暂未查询到样品下的接收信息!");
Long[] sampleIds = prepareList.stream().map(EntrustSamplePrepare::getEntrustSampleId).toArray(size -> new Long[size]);
return entrustSamplePrepareService.submitSampleReceive(sampleIds, "扫码接收", account);
}
}
\ No newline at end of file
......@@ -656,31 +656,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
if (CollectionUtils.isEmpty(entrust.getItemStatusEnumList())) {
return page;
}
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().in("status", entrust.getItemStatusEnumList()));
if (CollectionUtils.isEmpty(itemList)) {
return page;
}
List<Long> sampleIdsList = itemList.stream().map(i -> {
return i.getEntrustSampleId();
}).collect(Collectors.toList());
if (CollectionUtils.isEmpty(sampleIdsList)) {
return page;
}
List<EntrustSample> sampleList = entrustSampleService.list(Condition.create().in("id", sampleIdsList));
if (CollectionUtils.isEmpty(sampleList)) {
return page;
}
List<Long> ids = sampleList.stream().map(s -> {
return s.getEntrustId();
}).collect(Collectors.toList());
if (CollectionUtils.isEmpty(ids)) {
return page;
}
entrust.setIdsList(ids);
return page.setRecords(baseMapper.selectVOList(page, entrust));
return page.setRecords(baseMapper.selectEntrustVOHisList(page, entrust));
}
@Override
......
......@@ -5,6 +5,7 @@ import com.patzn.cloud.service.hmhj.entity.Material;
import com.patzn.cloud.service.lims.hmhj.mapper.MaterialMapper;
import com.patzn.cloud.service.lims.hmhj.service.IMaterialService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
......@@ -23,8 +24,20 @@ public class MaterialServiceImpl extends BaseServiceImpl<MaterialMapper, Materia
@Override
public Page<Material> page(Page<Material> page, Material material) {
String name = material.getName();
String code = material.getCode();
String supplier = material.getSupplier();
material.setCode(null).setName(null).setSupplier(null);
Wrapper wrapper = new EntityWrapper<>(material);
if (StringUtils.isNotBlank(name)) {
wrapper.like("name", name);
}
if (StringUtils.isNotBlank(code)) {
wrapper.like("code", code);
}
if (StringUtils.isNotBlank(supplier)) {
wrapper.like("supplier", supplier);
}
return this.page(page, wrapper);
}
......
......@@ -58,6 +58,44 @@
order by entrust_time desc
</select>
<!--查询委托历史数据-->
<select id="selectEntrustVOHisList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustVO">
SELECT * FROM entrust e WHERE e.deleted = 0
<if test="null!=vo.itemStatusEnumList">
AND exists (
select 1 from entrust_sample s,entrust_sample_item i where s.deleted = 0 and i.deleted = 0
and s.id = i.entrust_sample_id and e.id = s.entrust_id
and i.status IN
<foreach collection="vo.itemStatusEnumList" index="itemStats" item="id" open="(" separator="," close=")">
#{itemStats}
</foreach>
)
</if>
<if test="null!=vo.client">
AND e.client LIKE CONCAT('%',#{vo.client},'%')
</if>
<if test="null!=vo.code">
AND e.code LIKE CONCAT('%',#{vo.code},'%')
</if>
<if test="null!=vo.testSide">
AND e.test_side LIKE CONCAT('%',#{vo.testSide},'%')
</if>
<if test="null!=vo.statusList">
AND e.status IN
<foreach collection="vo.statusList" index="index" item="status" open="(" separator="," close=")">
#{status}
</foreach>
</if>
<if test="null!=vo.groupNameList">
AND e.test_side IN
<foreach collection="vo.groupNameList" index="index" item="groupName" open="(" separator="," close=")">
#{groupName}
</foreach>
</if>
order by entrust_time desc
</select>
<select id="selectVOListByItem" resultType="com.patzn.cloud.service.hmhj.vo.EntrustVO">
SELECT distinct e.* FROM
entrust e,entrust_sample s,entrust_sample_item i
......
<?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.QuestionnaireMapper">
<select id="selectStatsList" resultType="com.patzn.cloud.service.hmhj.vo.QuestionnaireStatsVO">
select
sum(q.service_attitude) "fwtd_sum",
sum(q.coordination) "xtgt_sum",
sum(q.timeliness) "rjsx_sum",
sum(q.accuracy) "rzqx_sum",
sum(q.clarity) "qxzj_sum",
sum(q.score) "sum_total",
count(distinct q.service_attitude) "num_total",
round(cast((sum(q.service_attitude) / count(distinct q.service_attitude)) as numeric),1) "fwtd_avg",
round(cast((sum(q.coordination) / count(distinct q.service_attitude)) as numeric),1) "xtgt_avg",
round(cast((sum(q.timeliness) / count(distinct q.service_attitude))as numeric),1) "rjsx_avg",
round(cast((sum(q.accuracy) / count(distinct q.service_attitude))as numeric),1) "rzqx_avg",
round(cast((sum(q.clarity) / count(distinct q.service_attitude))as numeric),1) "qxzj_avg",
round(cast((sum(q.score) / count(distinct q.service_attitude))as numeric),1) "avg_total"
from questionnaire q where q.deleted = 0
<if test="null != ids">
AND id IN
<foreach collection="ids" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
</select>
</mapper>
DROP TABLE IF EXISTS "public"."questionnaire";
DROP TABLE IF EXISTS "public"."questionnaire";
CREATE TABLE "public"."questionnaire" (
"id" int8 NOT NULL,
"service_attitude" numeric(3,1) DEFAULT 0.0,
"coordination" numeric(3,1) DEFAULT 0.0,
"timeliness" numeric(3,1) DEFAULT 0.0,
"accuracy" numeric(3,1) DEFAULT 0.0,
"clarity" numeric(3,1) DEFAULT 0.0,
"advice" varchar(512) COLLATE "pg_catalog"."default",
"status" int2 DEFAULT 0,
"score" numeric(10,1) DEFAULT 0.0,
"creator" varchar(64) COLLATE "pg_catalog"."default",
"org_name" varchar(64) COLLATE "pg_catalog"."default",
"company_id" int8,
"uid" int8,
"ctime" timestamp(0) DEFAULT NULL::timestamp without time zone,
"lid" int8,
"ltime" timestamp(0) DEFAULT NULL::timestamp without time zone,
"deleted" int2 DEFAULT 0,
"submit_time" timestamp(6)
)
;
COMMENT ON COLUMN "public"."questionnaire"."service_attitude" IS '服务态度';
COMMENT ON COLUMN "public"."questionnaire"."coordination" IS '协调沟通';
COMMENT ON COLUMN "public"."questionnaire"."timeliness" IS '报告及时性';
COMMENT ON COLUMN "public"."questionnaire"."accuracy" IS '报告准确性';
COMMENT ON COLUMN "public"."questionnaire"."clarity" IS '清晰度和整洁度';
COMMENT ON COLUMN "public"."questionnaire"."advice" IS '建议和意见';
COMMENT ON COLUMN "public"."questionnaire"."status" IS '状态【0:草稿,1:已提交】';
COMMENT ON COLUMN "public"."questionnaire"."score" IS '总分';
COMMENT ON COLUMN "public"."questionnaire"."creator" IS '提交人,创建人';
COMMENT ON COLUMN "public"."questionnaire"."org_name" IS '责任单位名称';
COMMENT ON COLUMN "public"."questionnaire"."company_id" IS '企业ID';
COMMENT ON COLUMN "public"."questionnaire"."uid" IS '创建者ID';
COMMENT ON COLUMN "public"."questionnaire"."ctime" IS '创建时间';
COMMENT ON COLUMN "public"."questionnaire"."lid" IS '最后修改人ID';
COMMENT ON COLUMN "public"."questionnaire"."ltime" IS '最后修改时间';
COMMENT ON COLUMN "public"."questionnaire"."deleted" IS '总分';
COMMENT ON COLUMN "public"."questionnaire"."submit_time" IS '提交时间';
COMMENT ON TABLE "public"."questionnaire" IS '满意度调查表';
-- ----------------------------
-- Primary Key structure for table questionnaire
-- ----------------------------
ALTER TABLE "public"."questionnaire" ADD CONSTRAINT "questionnaire_pkey" PRIMARY KEY ("id");
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment