framework/src/main/java/com/yuanchu/mom/utils/JackSonUtil.java
@@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import org.springframework.stereotype.Component; import java.io.File; @@ -104,6 +105,7 @@ */ public static <T> T unmarshal(String str, Class<T> valueType) throws Exception { try { OBJECT_MAPPER.registerModule(new JavaTimeModule()); return OBJECT_MAPPER.readValue(str, valueType); } catch (JsonParseException e) { throw new Exception(e); framework/src/main/java/com/yuanchu/mom/utils/RedisUtil.java
@@ -112,6 +112,15 @@ } /** * 模糊匹配删除多个缓存 * @param key 可以传一个值 或多个 */ public static void delsLike(String key) { Set<String> keys = redisTemplate.keys(key); redisTemplate.delete(keys); } /** * 获取并删除缓存 * @param key 键 * @return 值 inspect-server/pom.xml
@@ -70,5 +70,10 @@ <artifactId>performance-server</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> <version>2.13.0</version> </dependency> </dependencies> </project> inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java
@@ -14,25 +14,25 @@ @ValueTableShow(name = "样品编号") private String sampleCode; @ValueTableShow(value = 2, name = "样品名称") @ValueTableShow(value = 1, name = "样品名称") private String sample; @ValueTableShow(value = 4, name = "样品型号") @ValueTableShow(value = 2, name = "检验项") private String inspectionItem; @ValueTableShow(value = 3, name = "检验子项") private String inspectionItemSubclass; @ValueTableShow(value = 4, name = "单位") private String unit; @ValueTableShow(value = 5, name = "样品型号") private String model; // @ValueTableShow(value = 5, name = "样品状态") private Integer insState; @ValueTableShow(value = 15, name = "单位") private String unit; @ValueTableShow(value = 7, name = "检验项") private String inspectionItem; @ValueTableShow(value = 8, name = "检验子项") private String inspectionItemSubclass; @ValueTableShow(value = 17, name = "实验室") // @ValueTableShow(value = 17, name = "实验室") private String sonLaboratory; private String inspectionItemType; @@ -40,13 +40,13 @@ // @ValueTableShow(value = 11, name = "检验值类型") private String inspectionValueType; @ValueTableShow(value = 12, name = "要求值") @ValueTableShow(value = 12, name = "试验要求") private String ask; @ValueTableShow(value = 13, name = "最终值") @ValueTableShow(value = 13, name = "检验结果") private String lastValue; @ValueTableShow(value = 14, name = "是否合格") @ValueTableShow(value = 14, name = "结果判定") private Integer insResult; private String equipValue; inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java
@@ -44,7 +44,7 @@ */ @ValueTableShow(5) @Size(max= 255,message="编码长度不能超过255") @ApiModelProperty("委托人") @ApiModelProperty("制单人") @Length(max= 255,message="编码长度不能超过255") private String custom; @@ -118,7 +118,7 @@ @Length(max= 255,message="编码长度不能超过255") private String otcCode; @ValueTableShow(11) // @ValueTableShow(11) @ApiModelProperty("下单人") @TableField(fill = FieldFill.INSERT) private Integer createUser; @@ -203,7 +203,7 @@ private Long companyId; @ValueTableShow(value = 15, name = "制单人") @ValueTableShow(value = 15, name = "委托人") private String prepareUser; } inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -3477,7 +3477,7 @@ } @Override public int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode, String sampleCode) { public int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode) { List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId)); List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList()); List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() @@ -3567,8 +3567,8 @@ return null; }); // 删除数采采集次数 String key = "frequency" + ":" + entrustCode + ":" + sampleCode; RedisUtil.del(key); String key = "frequency" + ":" + entrustCode + ":*"; RedisUtil.delsLike(key); return 1; } performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java
@@ -6,8 +6,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.annotation.ValueClassify; import com.yuanchu.mom.dto.PerformanceShiftAddDto; import com.yuanchu.mom.pojo.Enums; import com.yuanchu.mom.pojo.PerformanceShift; import com.yuanchu.mom.service.EnumService; import com.yuanchu.mom.service.PerformanceShiftService; import com.yuanchu.mom.service.UserService; import com.yuanchu.mom.utils.StyleMonthUtils; import com.yuanchu.mom.utils.StyleYearUtils; import com.yuanchu.mom.vo.Result; @@ -16,11 +19,19 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.NotNull; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.temporal.TemporalAdjusters; import java.time.temporal.WeekFields; import java.util.Collection; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.stream.Collectors; /** @@ -99,4 +110,49 @@ .doWrite((Collection<?>) data.get("data")); } } @Resource private EnumService enumService; @Resource private UserService userService; @ApiOperation(value = "临时接口-添加7月份8月份的数据") @GetMapping("temporaryInterface") public void temporaryInterface() { System.out.println("开始给每个人进行排班,默认早班======start"); // TODO 给每个人都进行排班(默认早班) PerformanceShiftAddDto performanceShiftAddDto = new PerformanceShiftAddDto(); //班次--早(查询字典) List<Enums> shiftType = enumService.selectEnumByCategory("班次类型"); List<String> collect = shiftType.stream().filter(enums -> enums.getLabel().equals("早")).map(enums -> enums.getValue()).collect(Collectors.toList()); performanceShiftAddDto.setShift(collect.get(0)); //人员--所有人 String userIds = userService.getDeviceManager().stream().map(user -> user.getId().toString()).distinct().collect(Collectors.joining(",")); performanceShiftAddDto.setUserId(userIds); //周次--当月所有 // 获取当前日期 LocalDate today = LocalDate.of(2024, 8, 15); // 获取本月的第一天和最后一天 LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth()); LocalDate lastDayOfMonth = today.with(TemporalAdjusters.lastDayOfMonth()); // 获取周字段信息(根据区域设置) WeekFields weekFields = WeekFields.of(Locale.getDefault()); // 获取本月第一天的周一 LocalDate startOfWeek = firstDayOfMonth.with(TemporalAdjusters.previousOrSame(weekFields.getFirstDayOfWeek())); // 遍历本月所有天数,找出每周的第一天和最后一天 LocalDate endOfWeek; while (startOfWeek.isBefore(firstDayOfMonth.plusMonths(1))) { endOfWeek = startOfWeek.plusDays(6); LocalDateTime startDateTime = LocalDateTime.of(startOfWeek, LocalTime.MIDNIGHT); LocalDateTime endDateTime = LocalDateTime.of(endOfWeek, LocalTime.MIDNIGHT); System.out.println("Week starts on " + startDateTime + " and ends on " + endDateTime); performanceShiftAddDto.setStartWeek(startDateTime); performanceShiftAddDto.setEndWeek(endDateTime); performanceShiftService.performanceShiftAdd(performanceShiftAddDto); startOfWeek = startOfWeek.plusWeeks(1); } System.out.println("排班结束======end"); } } performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml
@@ -14,7 +14,7 @@ if(u2.department is not null and u2.department != '', CONCAT(u2.name, '(', u2.department, ')'), u2.name) name, GROUP_CONCAT(s.work_time, ':', s.shift, ':', s.id order by s.work_time SEPARATOR ';') AS shift_time, u2.id user_id FROM performance_shift s LEFT JOIN (SELECT u.* from LEFT JOIN (SELECT distinct u.* from user u left join department_lims dl on FIND_IN_SET(dl.id,u.depart_lims_id) where state=1