包头bug修改

This commit is contained in:
guoshengxiong 2024-11-05 18:01:20 +08:00
parent 797124f378
commit 362a89f5f2
7 changed files with 58 additions and 12 deletions

View File

@ -67,6 +67,7 @@ public class MainProjectCompletePeriodController {
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "search", value = "查询", paramType = "query", required = false, dataType = "String"),
})
@GetMapping(value = "/page")
public Result<IPage<MainProjectCompletePeriod>> queryPageList(@ApiIgnore @RequestParam HashMap<String, Object> param) {

View File

@ -14,6 +14,7 @@ import com.gexin.fastjson.JSONArray;
import com.zhgd.annotation.OperLog;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.xmgl.constant.Cts;
import com.zhgd.xmgl.modules.baotou.entity.WorkerAdmission;
import com.zhgd.xmgl.modules.baotou.entity.WorkerAdmissionCertificateDetail;
import com.zhgd.xmgl.modules.baotou.entity.WorkerAdmissionDetail;
@ -138,8 +139,8 @@ public class WorkerAdmissionController {
JSONArray idCardList = JSON.parseArray(MapUtils.getString(map, "idCardList"));
if (CollUtil.isNotEmpty(numList)) {
List<String> nums = workerAdmissionDetailService.list(new LambdaQueryWrapper<WorkerAdmissionDetail>()
.eq(WorkerAdmissionDetail::getProjectSn, projectSn)
.eq(WorkerAdmissionDetail::getIsCertificateQualified, 1))
.eq(WorkerAdmissionDetail::getProjectSn, projectSn)
.eq(WorkerAdmissionDetail::getIsCertificateQualified, 1))
.stream().map(WorkerAdmissionDetail::getNum).collect(Collectors.toList());
List<String> existNums = new ArrayList<>();
for (int i = 0; i < numList.size(); i++) {
@ -160,7 +161,7 @@ public class WorkerAdmissionController {
.eq(WorkerAdmissionDetail::getIsCertificateQualified, 1)
.eq(WorkerAdmissionDetail::getProjectSn, projectSn)).stream().map(WorkerAdmissionDetail::getIdCard).collect(Collectors.toList());
List<String> existWorkerIdCards = workerInfoService.list(new LambdaQueryWrapper<WorkerInfo>()
.in(WorkerInfo::getIdCard, ids).eq(WorkerInfo::getProjectSn, projectSn)).stream().map(WorkerInfo::getIdCard).collect(Collectors.toList());
.in(WorkerInfo::getIdCard, ids).eq(WorkerInfo::getProjectSn, projectSn).last(Cts.IGNORE_DATA_SCOPE_CONDITION)).stream().map(WorkerInfo::getIdCard).collect(Collectors.toList());
existDetailIdCards.addAll(existWorkerIdCards);
existDetailIdCards = existDetailIdCards.stream().distinct().collect(Collectors.toList());
if (CollUtil.isNotEmpty(existDetailIdCards)) {
@ -235,6 +236,7 @@ public class WorkerAdmissionController {
}
List<WorkerAdmissionDetail> details = workerAdmissionDetailService.queryList(new MapBuilder<String, Object>()
.put("workerAdmissionIds", StrUtil.join(",", admissions.stream().map(WorkerAdmission::getId).collect(Collectors.toList())))
.put("projectSn", admissions.get(0).getProjectSn())
.put("isCertificateQualified", 1)
.build());
List<WorkerAdmissionCertificateDetail> certificateDetails = new ArrayList<>();
@ -320,10 +322,12 @@ public class WorkerAdmissionController {
foldFile.mkdirs();
}
if (CollUtil.isNotEmpty(allList)) {
int i = 1;
for (Map<String, Object> map : allList) {
TemplateExportParams params = new TemplateExportParams(Fileutils.getExportExcelTemplateFile("excel/导出人员申请表模板.xlsx").getAbsolutePath());
Workbook workbook = ExcelExportUtil.exportExcel(params, map);
String fileName = IdUtil.simpleUUID() + ".xlsx";
String fileName = map.get("certificateIssuingUnitName") + "-" + map.get("certificateIssuingPersonName") + "-" + DateUtil.format(DateUtil.parse(map.get("addTime").toString()), "yyyyMMddHHmmss") + "-" + i++;
fileName = Fileutils.checkFileName(fileName) + ".xlsx";
String path = foldFile + "/" + fileName;
FileOutputStream fos = null;
try {
@ -365,7 +369,7 @@ public class WorkerAdmissionController {
@ApiOperation(value = "根据“导出人员申请表”查询身份证号列表", notes = "根据“导出人员申请表”查询身份证号列表", httpMethod = "POST")
@PostMapping(value = "/getIdCardsByExcel")
public Result getIdCardsByExcel(@RequestParam(value = "file") MultipartFile file) throws Exception {
public Result getIdCardsByExcel(@RequestParam(value = "file") MultipartFile file, @RequestParam String projectSn) throws Exception {
try {
if (file == null) {
return Result.error("请上传文件");
@ -403,6 +407,7 @@ public class WorkerAdmissionController {
if (CollUtil.isNotEmpty(idCards)) {
Set<String> idCardSet = workerAdmissionDetailService.queryPageList(new MapBuilder<String, Object>()
.put("idCards", StrUtil.join(",", idCards))
.put("projectSn", projectSn)
.put("isPass", 1)
.put("isCertificateQualified", 1)
.build()).getRecords().stream().map(WorkerAdmissionDetail::getIdCard).distinct().collect(Collectors.toSet());

View File

@ -6,6 +6,13 @@
select * from (
select t.*
from main_project_complete_period t
where 1=1
<if test="param.search != null and param.search != '' and param.levelType == '1'.toString()">
and concat(t.year,'-',t.month) like CONCAT('%',#{param.search},'%')
</if>
<if test="param.search != null and param.search != '' and param.levelType == '2'.toString()">
and concat(t.year,'-',t.month,'-第',CASE t.which_week WHEN 1 THEN '一周' WHEN 2 THEN '二周' WHEN 3 THEN '三周' ELSE '四周' END) like CONCAT('%',#{param.search},'%')
</if>
)t
${ew.customSqlSegment}
</select>

View File

@ -12,7 +12,7 @@
<select id="queryById" resultType="com.zhgd.xmgl.modules.baotou.entity.SunshineProject">
select * from (
select t.*
from pipeline_welding_record t
from sunshine_project t
)t
where t.id = #{id}
</select>

View File

@ -1,5 +1,6 @@
package com.zhgd.xmgl.modules.baotou.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -16,6 +17,7 @@ import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
/**
* @Description: 主要工程量完成情况时间段
@ -54,9 +56,22 @@ public class MainProjectCompletePeriodServiceImpl extends ServiceImpl<MainProjec
}
@Override
public void add(MainProjectCompletePeriod mainProjectCompletePeriod) {
mainProjectCompletePeriod.setId(null);
baseMapper.insert(mainProjectCompletePeriod);
public void add(MainProjectCompletePeriod period) {
LambdaQueryWrapper<MainProjectCompletePeriod> wrapper = new LambdaQueryWrapper<MainProjectCompletePeriod>()
.eq(MainProjectCompletePeriod::getProjectSn, period.getProjectSn())
.eq(MainProjectCompletePeriod::getDeviceUnitId, period.getDeviceUnitId())
.eq(MainProjectCompletePeriod::getLevelType, period.getLevelType())
.eq(MainProjectCompletePeriod::getYear, period.getYear())
.eq(MainProjectCompletePeriod::getMonth, period.getMonth());
if (Objects.equals(period.getLevelType(), 2)) {
wrapper.eq(MainProjectCompletePeriod::getWhichWeek, period.getWhichWeek());
}
List<MainProjectCompletePeriod> periods = mainProjectCompletePeriodMapper.selectList(wrapper);
if (periods.size() > 0) {
throw new OpenAlertException("该数据已存在");
}
period.setId(null);
baseMapper.insert(period);
}
@Override

View File

@ -129,8 +129,8 @@ public class WorkerAdmissionServiceImpl extends ServiceImpl<WorkerAdmissionMappe
@Transactional(rollbackFor = Exception.class)
public void addFromFlow(Map<String, Object> map) {
String instanceId = FlowUtil.getString(map, "instanceId");
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(instanceId).singleResult();
Date approvalTime = historicProcessInstance.getEndTime();
// HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(instanceId).singleResult();
// Date approvalTime = historicProcessInstance.getEndTime();
Long certificateIssuingUnit = FlowUtil.getPullDownLong(map, "certificateIssuingUnit");
Long certificateIssuingUnitSafetyManager = FlowUtil.getPullDownLong(map, "certificateIssuingUnitSafetyManager");
Long certificateIssuingPerson = FlowUtil.getPullDownLong(map, "certificateIssuingPerson");
@ -260,7 +260,7 @@ public class WorkerAdmissionServiceImpl extends ServiceImpl<WorkerAdmissionMappe
admission.setProjectTeamHseManager(projectTeamHseManager);
admission.setTrainingEngineer(trainingEngineer);
admission.setProjectSn(projectSn);
admission.setApprovalTime(approvalTime);
admission.setApprovalTime(new Date());
admission.setQualifierNum(successStrs.size());
admission.setTotalWorkerNum(successStrs.size() + failStrs.size() + existStrs.size());
workerAdmissionService.add(admission);

View File

@ -16,6 +16,8 @@ import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
@Slf4j
@ -104,6 +106,21 @@ public class Fileutils {
}
/**
* window操作系统文件名不能含有 ? / \ < > * | :
* mac操作系统文件名不能以.开头
* linux和Mac基本一直
*
* @param fileName
* @return
*/
public static String checkFileName(String fileName) {
Pattern pattern = Pattern.compile("[\\s\\\\/:\\*\\?\\\"<>\\|.]");
Matcher matcher = pattern.matcher(fileName);
fileName = matcher.replaceAll(""); // 将匹配到的非法字符以空替换
return fileName;
}
//根据文件修改时间进行比较的内部类
static class CompratorByLastModified implements Comparator<File> {
@Override
@ -119,4 +136,5 @@ public class Fileutils {
}
}
}