From fbbfb006e1d745ca3b7ae9ef497c06da4128f380 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 22 四月 2026 17:58:05 +0800
Subject: [PATCH] 报告编制:印章生成调整
---
performance-server/src/main/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java | 99 +++++----------------------------
basic-server/src/main/resources/mapper/SealMapper.xml | 2
inspect-server/src/main/resources/mapper/InsReportMapper.xml | 1
performance-server/src/main/java/com/ruoyi/performance/dto/PerformanceShiftAddDto.java | 10 +--
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java | 10 ++-
inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsReportMapper.java | 2
basic-server/src/main/java/com/ruoyi/basic/pojo/Seal.java | 3 +
basic-server/src/main/java/com/ruoyi/basic/controller/SealController.java | 3
8 files changed, 34 insertions(+), 96 deletions(-)
diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/SealController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/SealController.java
index eacd5c4..11eaeb4 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/controller/SealController.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/SealController.java
@@ -37,11 +37,12 @@
}else{
return Result.fail();
}
-
}
+
@ApiOperation(value="鏌ヨ鍗扮珷鍒楄〃")
@GetMapping("/selectSeal")
public Result selectSeal(Page page,Seal seal) {
return Result.success(sealService.selectSeal(page,seal));
}
+
}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/Seal.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/Seal.java
index 783703c..47ba9c4 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/pojo/Seal.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/Seal.java
@@ -19,6 +19,9 @@
@TableId(type = IdType.AUTO)
private Integer id;
+ @ApiModelProperty(value = "鎵�灞炲煙锛圞JNS/ZTNS锛�")
+ private String contract;
+
@ApiModelProperty(value = "瀹為獙瀹d")
private Integer labId;
diff --git a/basic-server/src/main/resources/mapper/SealMapper.xml b/basic-server/src/main/resources/mapper/SealMapper.xml
index 79e036c..caa735f 100644
--- a/basic-server/src/main/resources/mapper/SealMapper.xml
+++ b/basic-server/src/main/resources/mapper/SealMapper.xml
@@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.basic.mapper.SealMapper">
<select id="selectSeal" resultType="com.ruoyi.basic.pojo.Seal">
- select * from (select l.id,s.lab_id,l.laboratory_name ,s.address, s.type as Type,s.create_time
+ select * from (select l.id,s.contract,s.lab_id,l.laboratory_name ,s.address, s.type as Type,s.create_time
from seal s LEFT JOIN laboratory l on s.lab_id=l.id) a
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
${ew.customSqlSegment}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsReportMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsReportMapper.java
index 3e66633..9aebe59 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsReportMapper.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsReportMapper.java
@@ -34,7 +34,7 @@
@Param("queryStatus") String queryStatus,
@Param("createOrderUser") Integer createOrderUser);
- String getLaboratoryByName(@Param("name") String name, @Param("type") String type);
+ String getLaboratoryByName(@Param("name") String name, @Param("type") String type,@Param("contract") String contract);
/**
* 鎶ュ憡鎶ヨ〃瀵煎嚭
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
index 62688d0..3bda5d4 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
@@ -449,8 +449,12 @@
}
Integer insOrderId = insReportMapper.selectById(id).getInsOrderId();
InsOrder order = insOrderMapper.selectById(insOrderId);
- boolean isRawMater = order.getTypeSource() != null && order.getTypeSource().equals(1);
-
+ IfsInventoryQuantity ifsInventoryQuantity = null;
+ if(ObjectUtils.isNotEmpty(order.getIfsInventoryId())){
+ ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(order.getIfsInventoryId());
+ }
+ boolean isRawMater = order.getTypeSource() != null && !order.getTypeSource().equals(-1);
+ String contract = ObjectUtils.isNotEmpty(ifsInventoryQuantity)?ifsInventoryQuantity.getContract():order.getContract();//ifs鍩�
//鑾峰彇鍦烘墍鐨勬姤鍛婁笓鐢ㄧ珷
String sealUrl;
String laboratory = insOrderMapper.selectById(insReport.getInsOrderId()).getLaboratory();
@@ -461,7 +465,7 @@
} else {
type = "濮旀墭鎶ュ憡";
}
- sealUrl = insReportMapper.getLaboratoryByName(laboratory, type);
+ sealUrl = insReportMapper.getLaboratoryByName(laboratory, type,contract);
} catch (Exception e) {
throw new ErrorException(laboratory + "鎵句笉鍒版姤鍛婁笓鐢ㄧ珷");
}
diff --git a/inspect-server/src/main/resources/mapper/InsReportMapper.xml b/inspect-server/src/main/resources/mapper/InsReportMapper.xml
index 68615c0..ad7a7b9 100644
--- a/inspect-server/src/main/resources/mapper/InsReportMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsReportMapper.xml
@@ -79,6 +79,7 @@
left join laboratory l on s.lab_id = l.id
where l.laboratory_name = #{name}
and s.type = #{type}
+ and s.contract = #{contract}
order by s.create_time desc
limit 1
</select>
diff --git a/performance-server/src/main/java/com/ruoyi/performance/dto/PerformanceShiftAddDto.java b/performance-server/src/main/java/com/ruoyi/performance/dto/PerformanceShiftAddDto.java
index c074fa0..5a10afb 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/dto/PerformanceShiftAddDto.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/dto/PerformanceShiftAddDto.java
@@ -18,11 +18,9 @@
@ApiModelProperty("鍛樺伐id鍒楄〃")
private List<Integer> userIdList;
- @NotNull(message = "璇烽�夋嫨鍛ㄦ")
- @ApiModelProperty("鍛ㄦ寮�濮嬫椂闂�")
- private LocalDateTime startWeek;
+ @ApiModelProperty("寮�濮嬫椂闂�")
+ private LocalDateTime startTime;
- @NotNull(message = "璇烽�夋嫨鍛ㄦ")
- @ApiModelProperty("鍛ㄦ缁撴潫鏃堕棿")
- private LocalDateTime endWeek;
+ @ApiModelProperty("缁撴潫鏃堕棿")
+ private LocalDateTime endTime;
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java
index 4b003f0..64228e2 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java
@@ -47,6 +47,7 @@
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
+import java.time.LocalTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
@@ -66,9 +67,6 @@
@Slf4j
@Service
public class PerformanceShiftServiceImpl extends ServiceImpl<PerformanceShiftMapper, PerformanceShift> implements PerformanceShiftService {
-
- @Autowired
- private ISysDictTypeService dictTypeService;
@Autowired
private StaffAttendanceTrackingRecordService trackingRecordService;
@@ -103,11 +101,11 @@
public void performanceShiftAdd(PerformanceShiftAddDto performanceShiftAddDto) {
//1.鏌ヨ鎵�閫夊懆娆℃椂闂磋寖鍥村唴宸叉帓鐝殑鏁版嵁
List<PerformanceShift> shiftList = baseMapper.selectList(Wrappers.<PerformanceShift>lambdaQuery()
- .between(ObjectUtils.allNotNull(performanceShiftAddDto.getStartWeek(), performanceShiftAddDto.getEndWeek()),
- PerformanceShift::getWorkTime, performanceShiftAddDto.getStartWeek(), performanceShiftAddDto.getEndWeek())
+ .between(ObjectUtils.allNotNull(performanceShiftAddDto.getStartTime(), performanceShiftAddDto.getEndTime()),
+ PerformanceShift::getWorkTime, performanceShiftAddDto.getStartTime(), performanceShiftAddDto.getEndTime())
.in(!performanceShiftAddDto.getUserIdList().isEmpty(), PerformanceShift::getUserId, performanceShiftAddDto.getUserIdList())
);
- List<LocalDateTime> timeList = getLocalDateTimesBetween(performanceShiftAddDto.getStartWeek(), performanceShiftAddDto.getEndWeek());
+ List<LocalDateTime> timeList = getLocalDateTimesBetween(performanceShiftAddDto.getStartTime(), performanceShiftAddDto.getEndTime());
//澶勭悊閫変腑浜哄憳
List<PerformanceShift> newShiftList = new ArrayList<>();
performanceShiftAddDto.getUserIdList().forEach(userId->{
@@ -158,14 +156,24 @@
List<PerformanceShiftMapDto> mapIPage = baseMapper.performanceShift(firstDayOfMonth,lastDayOfMonth, userName, laboratory);
Map<Integer, List<PerformanceShiftMapDto>> groupByUserId = mapIPage.stream().collect(Collectors.groupingBy(PerformanceShiftMapDto::getUserId));
List<PerformanceShiftMapDto> newRecords = new ArrayList<>();
+ List<LocalDateTime> timeList = getLocalDateTimesBetween(LocalDateTime.of(firstDayOfMonth, LocalTime.MIN), LocalDateTime.of(lastDayOfMonth, LocalTime.MIN));
groupByUserId.keySet().forEach(key->{
PerformanceShiftMapDto shiftMapDto = new PerformanceShiftMapDto();
List<PerformanceShiftMapDto> shiftMapDtos = groupByUserId.get(key);
+ List<PerformanceShiftMapDto> newShiftMapDtos = new ArrayList<>();
+ timeList.forEach(t->{
+ PerformanceShiftMapDto mapDto = shiftMapDtos.stream().filter(s -> t.isEqual(s.getWorkTime())).findFirst().orElse(null);
+ if(ObjectUtils.isNotEmpty(mapDto)){
+ newShiftMapDtos.add(mapDto);
+ }else{
+ newShiftMapDtos.add(null);
+ }
+ });
//缁熻鍚勭彮娆″ぉ鏁�
Map<String, Long> countShift = countShift(shiftMapDtos);
shiftMapDto.setMonthlyAttendance(countShift);
shiftMapDto.setMonthlyAttendanceStr(formateMap(countShift));
- shiftMapDto.setList(shiftMapDtos);
+ shiftMapDto.setList(newShiftMapDtos);
shiftMapDto.setUserName(shiftMapDtos.isEmpty()?"":shiftMapDtos.get(0).getUserName());
shiftMapDto.setUserId(key);
@@ -602,82 +610,5 @@
default:
return "鏈煡";
}
- }
-
- /**
- * 杩斿洖琛ㄥご
- * <p>
- * 澶栧眰List浠h〃琛屽唴灞� List浠h〃鍒� 鐩稿悓鐨勫垪鏁版嵁浼氳涓诲姩鍚堝苟
- * 鏋勯�犲弻鍒楄〃澶�
- *
- * @return List<List < String>>
- */
- private static List<List<String>> getYearHeader(String year, List<SysDictData> enums) {
- List<List<String>> line = new ArrayList<>();
- line.add(Arrays.asList("鑰冨嫟姹囨��", "搴忓彿", "搴忓彿"));
- line.add(Arrays.asList("鑰冨嫟姹囨��", "宸ュ彿", "宸ュ彿"));
- line.add(Arrays.asList("鑰冨嫟姹囨��", "濮撳悕", "濮撳悕"));
- line.add(Arrays.asList("鍑哄嫟璇︽儏", year, "鍑哄嫟"));
- // 骞� header
- for (SysDictData anEnum : enums) {
- if (!anEnum.getDictValue().equals("5")) {
- line.add(Arrays.asList("鑰冨嫟姹囨��", year, anEnum.getDictLabel()));
- }
- }
- // 鏈坔eader
- for (int i = 1; i < 13; i++) {
- line.add(Arrays.asList("鍑哄嫟璇︽儏", i + " 鏈�", "鍑哄嫟"));
- for (SysDictData anEnum : enums) {
- if (!anEnum.getDictValue().equals("5")) {
- line.add(Arrays.asList("鍑哄嫟璇︽儏", i + " 鏈�", anEnum.getDictLabel()));
- }
- }
- }
- return line;
- }
-
- private static List<List<String>> getMonthHeader(LocalDateTime localDateTimeYear, List<SysDictData> enums) {
- String year = localDateTimeYear.getYear() + " 骞翠汉鍛樼彮娆�";
- List<List<String>> line = new ArrayList<>();
- line.add(Arrays.asList(year, "搴忓彿", "搴忓彿", "搴忓彿"));
- line.add(Arrays.asList(year, "濮撳悕", "濮撳悕", "濮撳悕"));
- line.add(Arrays.asList(year, "瀹為獙瀹�", "瀹為獙瀹�", "瀹為獙瀹�"));
- line.add(Arrays.asList(year, localDateTimeYear.getYear() + "", localDateTimeYear.getYear() + "", "鍑哄嫟"));
- line.add(Arrays.asList(year, localDateTimeYear.getYear() + "", localDateTimeYear.getYear() + "", enums.get(3).getDictLabel()));
- line.add(Arrays.asList(year, "骞�", "骞�", enums.get(4).getDictLabel()));
- line.add(Arrays.asList(year, localDateTimeYear.getMonthValue() + "", localDateTimeYear.getMonthValue() + "", enums.get(0).getDictLabel()));
- line.add(Arrays.asList(year, "鏈�", "鏈�", enums.get(1).getDictLabel()));
- line.add(Arrays.asList(year, "", "", enums.get(2).getDictLabel()));
- line.add(Arrays.asList(year, "鍛ㄦ", "鏄熸湡", "鍑哄樊"));
- LocalDate firstDayOfMonth = localDateTimeYear.toLocalDate().withDayOfMonth(1);
- LocalDate lastDayOfMonth = localDateTimeYear.toLocalDate().with(TemporalAdjusters.lastDayOfMonth());
- List<LocalDateTime> timeList = getLocalDateTimesBetween(firstDayOfMonth.atStartOfDay(), lastDayOfMonth.atStartOfDay());
- timeList.forEach(i -> {
- int dayOfYear = i.getDayOfMonth();
- Date from = Date.from(i.atZone(ZoneId.systemDefault()).toInstant());
- String weekDay = getWeekDay(i.getDayOfWeek().getValue());
- line.add(Arrays.asList(year, DateUtil.weekOfYear(DateUtil.offsetDay(from, 1)) + "", weekDay, dayOfYear + ""));
- });
- return line;
- }
-
- public List<List<Object>> dataRequiredForProcessingIntoExcelMonth(List<PerformanceShiftMapDto> list, List<SysDictData> enums) {
- List<List<Object>> data = new ArrayList<>();
- for (int i = 0; i < list.size(); i++) {
- List<Object> excelRowList = new ArrayList<>();
- excelRowList.add(i + 1);
- excelRowList.add(list.get(i).getUserName());
- excelRowList.add(list.get(i).getDepartment());
- excelRowList.add(list.get(i).getMonthlyAttendance().get("totalAttendance"));
- excelRowList.add(list.get(i).getMonthlyAttendance().get(enums.get(3).getDictLabel())); // 浼�
- excelRowList.add(list.get(i).getMonthlyAttendance().get(enums.get(4).getDictLabel())); // 鍋�
- excelRowList.add(list.get(i).getMonthlyAttendance().get(enums.get(0).getDictLabel())); // 鏃�
- excelRowList.add(list.get(i).getMonthlyAttendance().get(enums.get(1).getDictLabel())); // 涓�
- excelRowList.add(list.get(i).getMonthlyAttendance().get(enums.get(2).getDictLabel())); // 澶�
- excelRowList.add(list.get(i).getMonthlyAttendance().get(enums.get(6).getDictLabel())); // 宸�
-
- data.add(excelRowList);
- }
- return data;
}
}
--
Gitblit v1.9.3