Commit 0229b8f8 by lijingjing

大屏接口开发(获取化验成本统计数据,获取化验设备完好率统计数据);

parent 497e10d1
.gradle
.idea
.run
build
gradle*
Dockerfile
......
package com.patzn.cloud.service.lims.hmhj.controller;
import com.baomidou.kisso.annotation.Action;
import com.baomidou.kisso.annotation.Login;
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.dto.QualityManagementDTO;
import com.patzn.cloud.service.hmhj.entity.QualityManagement;
import com.patzn.cloud.service.lims.hmhj.service.IQualityManagementService;
import io.swagger.annotations.Api;
......@@ -37,7 +40,7 @@ public class QualityManagementController extends ServiceController {
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
})
@PostMapping("/page")
public RestResult<Page<QualityManagement>> getPage(QualityManagement qualityManagement) {
public RestResult<Page<QualityManagement>> getPage(QualityManagementDTO qualityManagement) {
return success(qualityManagementService.page(getPage(), qualityManagement));
}
......@@ -78,6 +81,7 @@ public class QualityManagementController extends ServiceController {
}
@ApiOperation("统计各月完成量和总量")
@Login(action = Action.Skip)
@PostMapping("/month_statistic")
public RestResult<Map<String, Map<String,Long>>> monthStatistic(@RequestParam("start") Date start,
@RequestParam("end") Date end) {
......
......@@ -8,6 +8,8 @@ import com.patzn.cloud.commons.toolkit.DateUtils;
import com.patzn.cloud.service.hmhj.dto.LedgerQueryDTO;
import com.patzn.cloud.service.hmhj.dto.QueryDTO;
import com.patzn.cloud.service.hmhj.dto.RangeStatsQueryDTO;
import com.patzn.cloud.service.hmhj.dto.StatsQueryDTO;
import com.patzn.cloud.service.hmhj.entity.CenterCost;
import com.patzn.cloud.service.hmhj.entity.Statistics;
import com.patzn.cloud.service.lims.hmhj.service.IStatisticsService;
import io.swagger.annotations.Api;
......@@ -270,4 +272,24 @@ public class StatisticsController extends ServiceController {
return success(statsService.getProcessSampleStageQuantity(queryDTO));
}
@ApiOperation("获取质保金项目数据")
@Login(action = Action.Skip)
@PostMapping("/quality_inspection_item_quantity")
public RestResult<List<Statistics>> getQualityInspectionItemQuantity(QueryDTO queryDTO) {
return success(statsService.getQualityInspectionItemQuantity(queryDTO));
}
@ApiOperation("CNAS质量目标完成情况")
@Login(action = Action.Skip)
@PostMapping("/cnas_completion_quantity")
public RestResult<Map<String, Object>> getCnasCompletionQuantity(QueryDTO queryDTO) {
return success(statsService.getCnasCompletionQuantity(queryDTO));
}
@ApiOperation("获取化验成本统计数据")
@Login(action = Action.Skip)
@PostMapping("/center_cost")
public RestResult<CenterCost> getCenterCostData(StatsQueryDTO queryDTO) {
return success(statsService.getCenterCost(queryDTO));
}
}
......@@ -5,6 +5,8 @@ import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.hmhj.dto.LedgerQueryDTO;
import com.patzn.cloud.service.hmhj.dto.QueryDTO;
import com.patzn.cloud.service.hmhj.dto.RangeStatsQueryDTO;
import com.patzn.cloud.service.hmhj.dto.StatsQueryDTO;
import com.patzn.cloud.service.hmhj.entity.CenterCost;
import com.patzn.cloud.service.hmhj.entity.Statistics;
import com.patzn.cloud.service.hmhj.vo.DailyStatsLedgerVO;
import org.apache.ibatis.annotations.Param;
......@@ -112,4 +114,13 @@ public interface StatisticsMapper extends BatchMapper<Statistics> {
@SqlParser(filter = true)
Statistics selectAcceptWorkloadQuantity(@Param("vo") RangeStatsQueryDTO queryDTO);
@SqlParser(filter = true)
List<Statistics> selectQualityInspectionItemQuantity(@Param("vo") QueryDTO queryDTO);
@SqlParser(filter = true)
Map<String, Object> selectCnasCompletionQuantity(@Param("vo") QueryDTO queryDTO);
@SqlParser(filter = true)
CenterCost selectCenterCost(@Param("vo") StatsQueryDTO queryDTO);
}
......@@ -2,6 +2,7 @@ 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.dto.QualityManagementDTO;
import com.patzn.cloud.service.hmhj.entity.QualityManagement;
import java.util.Date;
......@@ -16,11 +17,11 @@ import java.util.Map;
*/
public interface IQualityManagementService extends IBaseService<QualityManagement> {
Page<QualityManagement> page(Page<QualityManagement> page, QualityManagement qualityManagement);
Page<QualityManagement> page(Page<QualityManagement> page, QualityManagementDTO qualityManagement);
boolean removeByIds(List<Long> ids);
boolean updateAndRecord(QualityManagement qualityManagement);
Map<String, Map<String,Long>> monthStatistic(Date start, Date end);
Map<String, Map<String, Long>> monthStatistic(Date start, Date end);
}
......@@ -4,6 +4,8 @@ import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.hmhj.dto.LedgerQueryDTO;
import com.patzn.cloud.service.hmhj.dto.QueryDTO;
import com.patzn.cloud.service.hmhj.dto.RangeStatsQueryDTO;
import com.patzn.cloud.service.hmhj.dto.StatsQueryDTO;
import com.patzn.cloud.service.hmhj.entity.CenterCost;
import com.patzn.cloud.service.hmhj.entity.Statistics;
import java.util.List;
......@@ -82,4 +84,10 @@ public interface IStatisticsService extends IBaseService<Statistics> {
Map<String, Object> getProcessSampleStageQuantity(QueryDTO queryDTO);
Statistics getAcceptWorkloadQuantity(RangeStatsQueryDTO queryDTO);
List<Statistics> getQualityInspectionItemQuantity(QueryDTO queryDTO);
Map<String, Object> getCnasCompletionQuantity(QueryDTO queryDTO);
CenterCost getCenterCost(StatsQueryDTO queryDTO);
}
......@@ -1105,6 +1105,9 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
entrustReport.setQualityInspectorId(null).setQualityInspector(null).setQualityInspectTime(null);
}
/** created by meazty on 2022/7/18 16:46 (只要发生退回的报告,记录退回标识) **/
entrustReport.setReturned(1);
EntrustSampleStatusEnum finalSampleStatusEnum = sampleStatusEnum;
// 主要处理流程状态及日志
......
......@@ -17,7 +17,6 @@ import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.commons.toolkit.DateUtils;
import com.patzn.cloud.commons.toolkit.FileUtils;
import com.patzn.cloud.commons.toolkit.MapMergeUtils;
import com.patzn.cloud.feign.base.client.SysFileTemplateClient;
import com.patzn.cloud.oss.starter.OssClient;
import com.patzn.cloud.service.hmhj.dto.*;
import com.patzn.cloud.service.hmhj.entity.*;
......@@ -65,9 +64,6 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
private ICodeRuleService codeRuleService;
@Autowired
private SysFileTemplateClient sysFileTemplateClient;
@Autowired
private IEntrustSampleRecordService entrustSampleRecordService;
@Autowired
......@@ -83,15 +79,10 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
private IEntrustSampleItemService entrustSampleItemService;
@Autowired
private IEntrustRecordService entrustRecordService;
@Autowired
private IEntrustSampleItemIndexService entrustSampleItemIndexService;
@Autowired
private IEntrustReportService entrustReportService;
@Autowired
private IOriginalTemplateConfigService originalTemplateConfigService;
@Autowired
private IEntrustService entrustService;
@Autowired
private IEntrustReportRelSampleService entrustReportRelSampleService;
......@@ -211,9 +202,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
if (CollectionUtils.isEmpty(voList)) {
return page;
}
List<Long> sampleIds = voList.stream().map(s -> {
return s.getId();
}).collect(Collectors.toList());
List<Long> sampleIds = voList.stream().map(EntrustSampleVO::getId).collect(Collectors.toList());
List<EntrustSampleItemIndexVO> indexList = entrustSampleItemIndexService.listVOBySampleIds(sampleIds);
if (CollectionUtils.isEmpty(indexList)) {
......@@ -221,16 +210,12 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
}
Map<Long, List<EntrustSampleItemIndex>> sampleIndexMap = new HashMap<>();
indexList.forEach(idx -> {
MapMergeUtils.getorCreateMapArrayList(idx.getSampleId(), sampleIndexMap, idx);
});
indexList.forEach(idx -> MapMergeUtils.getorCreateMapArrayList(idx.getSampleId(), sampleIndexMap, idx));
voList.forEach(vo -> {
vo.setIndexList(sampleIndexMap.get(vo.getId()));
});
voList.forEach(vo -> vo.setIndexList(sampleIndexMap.get(vo.getId())));
// 数据排序,有结果的排在前面,无结果排后面
Collections.sort(voList, Comparator.comparingInt(t -> CollectionUtils.isNotEmpty(t.getIndexList()) ? 1 : 0));
voList.sort(Comparator.comparingInt(t -> CollectionUtils.isNotEmpty(t.getIndexList()) ? 1 : 0));
return page.setRecords(voList);
}
......@@ -394,7 +379,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
List<EntrustSample> sampleList = getByEntrustId(entrust.getId());
RestAssert.fail(CollectionUtils.isEmpty(sampleList), String.format("编号为【%s】的委托下样品为空", entrust.getCode()));
logger.error("样品数量:{}", sampleList.size());
Long[] sampleIds = sampleList.stream().map(t -> t.getId()).toArray(size -> new Long[size]);
Long[] sampleIds = sampleList.stream().map(EntrustSample::getId).toArray(size -> new Long[size]);
prints("样品的下一级流程", nextFlowStatus);
//
EntrustSample updateSample = new EntrustSample();
......@@ -777,6 +762,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
return list;
}
@Override
public List<EntrustSampleVO> getMakeInfoList(EntrustSampleVO entrustSampleVO, Account account) {
String makeType = entrustSampleVO.getMakeType();
// 默认全部
......@@ -791,7 +777,6 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
}
}
List<Long> sampleIdList = entrustSampleVO.getIds();
RestAssert.fail(CollectionUtils.isEmpty(sampleIdList), "请选择要制备的样品");
......@@ -1164,7 +1149,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
continue;
}
int step = config.getMergeRowNum();
if (step == 1 && config.getMergeEnd() == config.getMergeBegin()) {
if (step == 1 && Objects.equals(config.getMergeEnd(), config.getMergeBegin())) {
continue;
}
if (null != config.getColumnPlace() && null != config.getMergeRowNum()) {
......@@ -1469,7 +1454,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
continue;
}
int step = config.getMergeRowNum();
if (step == 1 && config.getMergeEnd() == config.getMergeBegin()) {
if (step == 1 && Objects.equals(config.getMergeEnd(), config.getMergeBegin())) {
continue;
}
if (null != config.getColumnPlace() && null != config.getMergeRowNum()) {
......@@ -1747,7 +1732,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
if (StringUtils.isNotBlank(sampleFrom) && !sourceSample.getSampleFrom().equals(sampleFrom)) {
sb.append(String.format("样品来源:由【%s】 修改为 【%s】,", sourceSample.getSampleFrom(), sampleFrom));
}
if (null != complianceTest && sourceSample.getComplianceTest() != complianceTest) {
if (null != complianceTest && !Objects.equals(sourceSample.getComplianceTest(), complianceTest)) {
sb.append(String.format("现场见证:由【%s】 修改为 【%s】,", sourceSample.getComplianceTest(), complianceTest));
}
......@@ -1762,11 +1747,17 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
@Transactional(rollbackFor = Exception.class)
@Override
public boolean addTestItemInInput(EntrustSampleADDDTO dto, Account account) {
if (null == dto) return false;
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<EntrustSample> sampleList = getBatchIds(sampleIdsList);
Map<Long, Long> sampleEntrustIdMap = sampleList.stream().collect(Collectors.toMap(EntrustSample::getId, EntrustSample::getEntrustId));
......@@ -2243,7 +2234,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
continue;
}
int step = config.getMergeRowNum();
if (step == 1 && config.getMergeEnd() == config.getMergeBegin()) {
if (step == 1 && config.getMergeEnd().equals(config.getMergeBegin())) {
continue;
}
if (null != config.getColumnPlace() && null != config.getMergeRowNum()) {
......@@ -2354,7 +2345,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
while (isRepeatSampleCode(sample)) {
updateRule = true;
// 原铝散样处理方式
if (sample.getCodeRuleType() == CodeTypeEnum.AL_BULK_SAMPLE_CODE.getIntValue()) {
if (Objects.equals(sample.getCodeRuleType(), CodeTypeEnum.AL_BULK_SAMPLE_CODE.getIntValue())) {
sn = Integer.parseInt(sampleCode.substring(7, 8)) + 1;
sampleCode = front + sn + backend;
sample.setCode(sampleCode);
......
......@@ -8,6 +8,7 @@ import com.patzn.cloud.commons.controller.LoginHelper;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.commons.toolkit.CollectionUtils;
import com.patzn.cloud.commons.toolkit.DateUtils;
import com.patzn.cloud.service.hmhj.dto.QualityManagementDTO;
import com.patzn.cloud.service.hmhj.entity.QualityManagement;
import com.patzn.cloud.service.hmhj.entity.QualityManagementRecord;
import com.patzn.cloud.service.lims.base.service.ILmsPropertyService;
......@@ -36,9 +37,16 @@ public class QualityManagementServiceImpl extends BaseServiceImpl<QualityManagem
private ILmsPropertyService lmsPropertyService;
@Override
public Page<QualityManagement> page(Page<QualityManagement> page, QualityManagement qualityManagement) {
public Page<QualityManagement> page(Page<QualityManagement> page, QualityManagementDTO qualityManagement) {
Date timeS = qualityManagement.getTimeS(), timeE = qualityManagement.getTimeE();
qualityManagement.setTimeS(null).setTimeE(null);
Wrapper wrapper = new EntityWrapper<>(qualityManagement);
if (Objects.nonNull(timeS)) {
wrapper.ge("ctime", timeS);
}
if (Objects.nonNull(timeE)) {
wrapper.le("ctime", timeE);
}
return this.page(page, wrapper);
}
......@@ -55,8 +63,8 @@ public class QualityManagementServiceImpl extends BaseServiceImpl<QualityManagem
if (StringUtils.isNotEmpty(remark)) {
QualityManagementRecord record = new QualityManagementRecord();
record.setQualityManagementId(qualityManagement.getId());
remark = remark.replace("'状态'由'是'修改为'否'","'状态'由'完成'修改为'登记'");
remark = remark.replace("'状态'由'否'修改为'是'","'状态'由'登记'修改为'完成'");
remark = remark.replace("'状态'由'是'修改为'否'", "'状态'由'完成'修改为'登记'");
remark = remark.replace("'状态'由'否'修改为'是'", "'状态'由'登记'修改为'完成'");
record.setRemark(remark);
record.setOperator(LoginHelper.getAccount().getUserName());
record.setOperatorId(LoginHelper.getAccount().getUserId());
......@@ -67,10 +75,10 @@ public class QualityManagementServiceImpl extends BaseServiceImpl<QualityManagem
/* 返回每个月的完成量和总量 */
@Override
public Map<String, Map<String,Long>> monthStatistic(Date start, Date end) {
public Map<String, Map<String, Long>> monthStatistic(Date start, Date end) {
String totalKey = "total";//总量的key
String finishedKey = "finished";//已完成的key
Map<String, Map<String,Long>> resMap = new HashMap<>();
Map<String, Map<String, Long>> resMap = new HashMap<>();
if (start.after(end)) {
return null;
}
......@@ -97,7 +105,8 @@ public class QualityManagementServiceImpl extends BaseServiceImpl<QualityManagem
for (QualityManagement qm : all) {
if (qm.getCtime().after(mStart) && qm.getCtime().before(mEnd)) {
delete.add(qm);
if (qm.getStatus() == 1) {//完成
//完成
if (qm.getStatus() == 1) {
finishNum++;
}
totalNum++;
......@@ -107,10 +116,10 @@ public class QualityManagementServiceImpl extends BaseServiceImpl<QualityManagem
all.removeAll(delete);
HashMap<String, Long> totalFinishedMap = new HashMap<>();
totalFinishedMap.put(totalKey,totalNum);
totalFinishedMap.put(finishedKey,finishNum);
totalFinishedMap.put(totalKey, totalNum);
totalFinishedMap.put(finishedKey, finishNum);
resMap.put(key,totalFinishedMap);
resMap.put(key, totalFinishedMap);
}
return resMap;
......@@ -130,22 +139,22 @@ public class QualityManagementServiceImpl extends BaseServiceImpl<QualityManagem
Map<String, Map<String, Date>> map = new HashMap<>();
Calendar cStart = Calendar.getInstance();
cStart.setTime(DateUtils.toDateByFormatStr(startStr,ym));
cStart.setTime(DateUtils.toDateByFormatStr(startStr, ym));
Calendar cEnd = Calendar.getInstance();
cEnd.setTime(DateUtils.toDateByFormatStr(endStr,ym));
cEnd.add(Calendar.MONTH,1); // 加一个月,不超过这个月
cEnd.setTime(DateUtils.toDateByFormatStr(endStr, ym));
cEnd.add(Calendar.MONTH, 1); // 加一个月,不超过这个月
while (cStart.before(cEnd)) {
String key = DateUtils.toStrByFormatStr(cStart.getTime(),ym);
cStart.set(Calendar.DAY_OF_MONTH,1);//第一天
String s = DateUtils.toStrByFormatStr(cStart.getTime(),ymd) + startTime;
cStart.set(Calendar.DAY_OF_MONTH,cStart.getActualMaximum(Calendar.DAY_OF_MONTH));//最后一天
String e = DateUtils.toStrByFormatStr(cStart.getTime(),ymd) + endTime;
String key = DateUtils.toStrByFormatStr(cStart.getTime(), ym);
cStart.set(Calendar.DAY_OF_MONTH, 1);//第一天
String s = DateUtils.toStrByFormatStr(cStart.getTime(), ymd) + startTime;
cStart.set(Calendar.DAY_OF_MONTH, cStart.getActualMaximum(Calendar.DAY_OF_MONTH));//最后一天
String e = DateUtils.toStrByFormatStr(cStart.getTime(), ymd) + endTime;
HashMap<String, Date> SEMap = new HashMap<>();
SEMap.put(startKey,DateUtils.toDateByFormatStr(s,ymdt));
SEMap.put(endKey,DateUtils.toDateByFormatStr(e,ymdt));
map.put(key,SEMap);
SEMap.put(startKey, DateUtils.toDateByFormatStr(s, ymdt));
SEMap.put(endKey, DateUtils.toDateByFormatStr(e, ymdt));
map.put(key, SEMap);
cStart.add(Calendar.MONTH,1);
cStart.add(Calendar.MONTH, 1);
}
return map;
......
......@@ -6,6 +6,8 @@ import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.hmhj.dto.LedgerQueryDTO;
import com.patzn.cloud.service.hmhj.dto.QueryDTO;
import com.patzn.cloud.service.hmhj.dto.RangeStatsQueryDTO;
import com.patzn.cloud.service.hmhj.dto.StatsQueryDTO;
import com.patzn.cloud.service.hmhj.entity.CenterCost;
import com.patzn.cloud.service.hmhj.entity.Statistics;
import com.patzn.cloud.service.hmhj.vo.DailyStatsLedgerVO;
import com.patzn.cloud.service.lims.common.DateKit;
......@@ -249,6 +251,21 @@ public class StatisticsServiceImpl extends BaseServiceImpl<StatisticsMapper, Sta
}
@Override
public List<Statistics> getQualityInspectionItemQuantity(QueryDTO queryDTO) {
return baseMapper.selectQualityInspectionItemQuantity(queryDTO);
}
@Override
public Map<String, Object> getCnasCompletionQuantity(QueryDTO queryDTO) {
return baseMapper.selectCnasCompletionQuantity(queryDTO);
}
@Override
public CenterCost getCenterCost(StatsQueryDTO queryDTO) {
return baseMapper.selectCenterCost(queryDTO);
}
@Override
public Statistics getItemSamesChainQuantity(RangeStatsQueryDTO queryDTO) {
handleSamesChainTimeRange(queryDTO);
return baseMapper.selectItemSamesChainQuantity(queryDTO);
......
......@@ -152,7 +152,7 @@
FROM entrust_sample s
JOIN entrust e ON (s.entrust_id = e.ID and e.deleted = 0 )
WHERE
s.deleted = 0 AND s.type = 0 and s.company_id = #{vo.companyId}
s.deleted = 0 AND s.type = 0 and s.status > 20 and s.company_id = #{vo.companyId}
<if test="vo.name != null">
AND s.name = #{vo.name}
</if>
......
......@@ -71,13 +71,13 @@
entrust_sample s
join entrust e on e.id = s.entrust_id and e.deleted = 0
where
s.deleted = 0
and s.name = '自产阳极炭块'
s.deleted = 0 AND s.type = 0 and s.ok_judge is not null and s.judge_check_time is not null
and s.name = '炭块'
<if test="null != vo.timeS">
AND e.entrust_time >= #{vo.timeS}
AND s.judge_check_time >= #{vo.timeS}
</if>
<if test="null != vo.timeE">
AND e.entrust_time &lt;= #{vo.timeE}
AND s.judge_check_time &lt;= #{vo.timeE}
</if>
</select>
......@@ -89,15 +89,13 @@
FROM entrust_sample s
JOIN entrust e on e.id = s.entrust_id and e.deleted = 0
WHERE s.deleted = 0
AND s.type = 0 and s.name = '自产阳极炭块'
AND s.sample_grading IS NOT NULL
AND s.status = 70
AND s.judge_status = 2
AND s.type = 0 and s.name = '炭块'
and s.ok_judge is not null and s.judge_check_time is not null
<if test="null != vo.timeS">
AND e.entrust_time >= #{vo.timeS}
AND s.judge_check_time >= #{vo.timeS}
</if>
<if test="null != vo.timeE">
AND e.entrust_time &lt;= #{vo.timeE}
AND s.judge_check_time &lt;= #{vo.timeE}
</if>
</select>
......@@ -110,9 +108,7 @@
JOIN entrust e on e.id = s.entrust_id and e.deleted = 0
WHERE s.deleted = 0
AND s.type = 0 and s.name = '铝成品'
AND s.sample_grading IS NOT NULL
AND s.status = 70
AND s.judge_status = 2
and s.ok_judge is not null and s.judge_check_time is not null
<if test="null != vo.timeS">
AND e.entrust_time >= #{vo.timeS}
</if>
......@@ -158,10 +154,8 @@
sum(case when s.ok_judge = '不合格' then 1 else 0 end) "fail_num"
FROM entrust_sample s
JOIN entrust e on e.id = s.entrust_id and e.deleted = 0
WHERE s.deleted = 0
AND s.type = 0
AND s.sample_grading IS NOT NULL
AND s.status = 70
WHERE s.deleted = 0 AND s.type = 0
and s.ok_judge is not null and s.judge_check_time is not null
AND s.judge_status = 2
AND s.judge_time >= DATE_TRUNC('week', #{vo.queryDate}::TIMESTAMP) - interval '7 day'
AND s.judge_time &lt; DATE_TRUNC('week', #{vo.queryDate}::TIMESTAMP)
......@@ -176,10 +170,8 @@
sum(case when s.ok_judge = '不合格' then 1 else 0 end) "fail_num"
FROM entrust_sample s
JOIN entrust e on e.id = s.entrust_id and e.deleted = 0
WHERE s.deleted = 0
AND s.type = 0
AND s.sample_grading IS NOT NULL
AND s.status = 70
WHERE s.deleted = 0 AND s.type = 0
and s.ok_judge is not null and s.judge_check_time is not null
AND s.judge_status = 2
<if test="null != vo.timeS">
AND s.judge_time >= #{vo.timeS}
......@@ -205,10 +197,9 @@
FROM entrust_sample s
join entrust e on e.id = s.entrust_id and e.deleted = 0
join entrust_report r on r.entrust_id = e.id and r.deleted = 0
WHERE s.deleted = 0
AND s.status = 70
WHERE s.deleted = 0 AND s.type = 0
and s.ok_judge is not null and s.judge_check_time is not null
AND s.judge_status = 2
AND s.type = 0
<if test="null != vo.timeS">
AND s.judge_time >= #{vo.timeS}
</if>
......@@ -220,10 +211,9 @@
FROM entrust_sample s
join entrust e on e.id = s.entrust_id and e.deleted = 0
join entrust_report r on r.entrust_id = e.id and r.deleted = 0
WHERE s.deleted = 0
AND s.status = 70
WHERE s.deleted = 0 AND s.type = 0
and s.ok_judge is not null and s.judge_check_time is not null
AND s.judge_status = 2
AND s.type = 0
<if test="null != vo.lastYearTimeS">
AND s.judge_time >= #{vo.lastYearTimeS}
</if>
......@@ -235,10 +225,9 @@
FROM entrust_sample s
join entrust e on e.id = s.entrust_id and e.deleted = 0
join entrust_report r on r.entrust_id = e.id and r.deleted = 0
WHERE s.deleted = 0
AND s.status = 70
WHERE s.deleted = 0 and s.type = 0
and s.ok_judge is not null and s.judge_check_time is not null
AND s.judge_status = 2
AND s.type = 0
<if test="null != vo.prevTimeS">
AND s.judge_time >= #{vo.prevTimeS}
</if>
......@@ -255,10 +244,9 @@
FROM entrust_sample s
join entrust e on e.id = s.entrust_id and e.deleted = 0
join entrust_report r on r.entrust_id = e.id and r.deleted = 0
WHERE s.deleted = 0
AND s.status = 70
WHERE s.deleted = 0 and s.type = 0
and s.ok_judge is not null and s.judge_check_time is not null
AND s.judge_status = 2
AND s.type = 0
<if test="null != vo.timeS">
AND s.judge_time >= #{vo.timeS}
</if>
......@@ -824,10 +812,10 @@
join entrust e on es.entrust_id = e.id and e.deleted = 0
where es.deleted = 0 and es.type = 0 and es.status > 20
<if test="null != vo.timeS">
AND e.ctime >= #{vo.timeS}
AND e.entrust_time >= #{vo.timeS}
</if>
<if test="null != vo.timeE">
AND e.ctime &lt;= #{vo.timeE}
AND e.entrust_time &lt;= #{vo.timeE}
</if>
group by es.name
</select>
......@@ -863,4 +851,55 @@
and s.type = 0
and to_char(e.entrust_time, 'yy-MM-dd') = to_char(#{vo.queryDate}::timestamp, 'yyyy-MM-dd')
</select>
<!--获取质保金项目数据:-->
<select id="selectQualityInspectionItemQuantity" resultType="com.patzn.cloud.service.hmhj.entity.Statistics">
select
to_char(q.payment_time,'yyyy-MM') "occur_date",
count(1) "total",
count(case when q.status = 1 then q.id else null end) "done_num"
from quality_management q where q.deleted = 0
<if test="null != vo.timeS">
AND q.payment_time >= #{vo.timeS}
</if>
<if test="null != vo.timeE">
AND q.payment_time &lt;= #{vo.timeE}
</if>
group by to_char(q.payment_time,'yyyy-MM')
order by to_char(q.payment_time,'yyyy-MM')
</select>
<!--CNAS质量目标完成情况-->
<select id="selectCnasCompletionQuantity" resultType="java.util.Map">
select
round(sum(r.returned) * 100.00 / count(1), 2) "error",
round(sum(case when r.report_allow_time &lt; e.expect_send_time then 1 else 0 end) * 100.00 / count(1), 2) "timely",
100 "complaintHandle",
100 "satisfaction"
from entrust_report r
join entrust e on e.id = r.entrust_id and e.deleted = 0
where r.deleted = 0
<if test="null != vo.timeS">
AND e.entrust_time >= #{vo.timeS}
</if>
<if test="null != vo.timeE">
AND e.entrust_time &lt;= #{vo.timeE}
</if>
</select>
<!--获取化验成本统计数据: 获取LIMS平台某段时间内化验成本(仅耗材)统计数据,包括总成本和消耗成本(单位万)-->
<select id="selectCenterCost" resultType="com.patzn.cloud.service.hmhj.entity.CenterCost">
select sum(c.consume) "consume",
sum(c.total_cost) "totalCost"
from center_cost c where c.deleted = 0
<if test="null != vo.timeS">
AND to_number(c.year,'9999') >= to_number(to_char(#{vo.timeS}::timestamp,'yyyy'),'9999')
</if>
<if test="null != vo.timeE">
AND to_number(c.year,'9999') &lt;= to_number(to_char(#{vo.timeE}::timestamp,'yyyy'),'9999')
</if>
<if test="null != vo.year">
and c.year = #{vo.year}
</if>
</select>
</mapper>
......@@ -18,9 +18,9 @@ public class LimsCodeGenerator {
new PostgresqlGenerator().setDataSourceConfig(new DataSourceConfig()
.setDbType(DbType.POSTGRE_SQL)
.setDriverName("org.postgresql.Driver")
.setUrl("jdbc:postgresql://localhost:5432/dev_lims_hmhj")
.setUrl("jdbc:postgresql://192.168.1.140:5432/dev_lims_hmhj")
.setUsername("postgres")
.setPassword("post123")
.setPassword("www.163.com")
).execute("lims");
}
}
......
/** created by meazty on 2022/7/20 9:44 **/
/** created by meazty on 2022/7/20 9:44 **/
-- 委托报告 --
ALTER TABLE "public"."entrust_report"
ADD COLUMN "returned" int2;
-- entrust_report
COMMENT ON COLUMN "public"."entrust_report"."returned" IS '是否退回【0:未退回,1:退回过】';
/** created by meazty on 2022/7/15 17:34 **/
/** created by meazty on 2022/7/15 17:34 **/
create or replace view v_lms_user_groups
as
SELECT ug.user_id,
ug.realname,
ug.company_id,
ug.group_ids,
ug.group_names
FROM dblink(func_db_info('pc_lims'::character varying)::text, ' SELECT ur.user_id,
ur.realname,
ur.company_id,
string_agg(DISTINCT ur.group_id::character varying::text, '',''::text) AS group_ids,
string_agg(DISTINCT ug.name::text, '',''::text) AS group_names
FROM lms_user_rel_group ur
JOIN lms_user_group ug ON ug.id = ur.group_id AND ug.deleted = 0
GROUP BY ur.user_id, ur.realname, ur.company_id'::text) ug(user_id bigint, realname character varying, company_id bigint, group_ids character varying, group_names character varying)
\ 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