嘉禾二期

master
sunjianxi 2 years ago
parent eb622551df
commit d613501bcb
  1. 11
      lab-service/lab-capital/src/main/java/org/springblade/lims/capital/controller/SupplierController.java
  2. 15
      lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/ApplyController.java
  3. 2
      lab-service/lab-capital/src/main/java/org/springblade/lims/goods/service/impl/GoodsServiceImpl.java
  4. 93
      lab-service/lab-capital/src/main/resources/log-back.xml
  5. 17
      lab-service/lab-lims/src/main/java/org/springblade/lims/config/RedisToolConfig.java
  6. 8
      lab-service/lab-lims/src/main/java/org/springblade/lims/mapper/LargeScreenMapper.xml
  7. 12
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/LargeScreenServiceImpl.java
  8. 93
      lab-service/lab-lims/src/main/resources/log-back.xml
  9. 1
      lab-service/lab-user/src/main/java/org/springblade/system/user/config/RedissonConfig.java

@ -146,17 +146,6 @@ public class SupplierController extends BladeController {
}
}
// 重复提示
Supplier byId = supplierService.getById(supplier.getId());
if (!byId.getName().equals(supplier.getName())) {
LambdaQueryWrapper<Supplier> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Supplier::getName, supplier.getName());
List<Supplier> suppliers = supplierService.list(wrapper);
if (CollectionUtils.isNotEmpty(suppliers)) {
throw new Exception("该供应商已存在,请勿重复增加!");
}
}
return R.status(supplierService.updateById(supplier));
}

@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil;
@ -24,6 +26,8 @@ import org.springblade.lims.goods.service.IGoodsService;
import org.springblade.lims.goods.vo.ApplyVO;
import org.springblade.resource.enums.SysTypeEnum;
import org.springblade.resource.feign.IMessageClient;
import org.springblade.system.cache.SysCache;
import org.springblade.system.entity.Dept;
import org.springblade.system.feign.ISysClient;
import org.springblade.system.user.entity.User;
import org.springblade.system.user.feign.IUserClient;
@ -31,6 +35,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
import java.util.stream.Collectors;
/**
* 申请表 控制器
@ -85,6 +90,16 @@ public class ApplyController extends BladeController {
if (apply.getStartTime() != null && apply.getEndTime() != null) {
wrapper.between(Apply::getCreateTime, apply.getStartTime(), apply.getEndTime());
}
List<String> roles = Arrays.asList(AuthUtil.getUserRole().split(","));
if(!roles.contains("admin") && !roles.contains("政府")){
List<Long> deptIds = new ArrayList<>();
List<Dept> depts = SysCache.getDeptChild(Long.parseLong(AuthUtil.getDeptId()));
if(CollectionUtils.isNotEmpty(depts)){
deptIds = depts.stream().map(Dept::getId).collect(Collectors.toList());
}
deptIds.add(Long.parseLong(AuthUtil.getDeptId()));
wrapper.in(BaseEntity::getCreateDept,deptIds);
}
// 按照时间倒序
wrapper.orderByDesc(Apply::getCreateTime);
return applyService.page(Condition.getPage(query), wrapper);

@ -55,7 +55,7 @@ public class GoodsServiceImpl extends BaseServiceImpl<GoodsMapper, Goods> implem
} catch (Exception e) {
e.printStackTrace();
}
path = sysClient.getParamValue("jiahe_file_url").getData() + fileName;
//path = sysClient.getParamValue("jiahe_file_url").getData() + fileName;
}
map.put("filename",originalFilename);
map.put("path",path);

@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 日志存放路径 -->
<property name="log.path" value="/home/project/lab-capital/logs" />
<!-- 日志输出格式 -->
<property name="log.pattern" value="%red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - (%msg%n)" />
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 30天 -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 30天 -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 用户访问日志输出 -->
<appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-user.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 按天回滚 daily -->
<fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>2</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.haier.cosmo.hmzy.zhgd" level="info" />
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn" />
<root level="info">
<appender-ref ref="console" />
</root>
<!--系统操作日志-->
<root level="info">
<appender-ref ref="file_info" />
<appender-ref ref="file_error" />
</root>
<!--系统用户操作日志-->
<logger name="sys-user" level="info">
<appender-ref ref="sys-user"/>
</logger>
</configuration>

@ -3,18 +3,35 @@ package org.springblade.lims.config;
import lombok.RequiredArgsConstructor;
import org.springblade.lims.tools.RedisUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
@Configuration
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class RedisToolConfig {
@Value("${spring.redis.host}")
private String host;
@Value("${spring.redis.port}")
private int port;
@Value("${spring.redis.password}")
private String password;
private final RedisTemplate redisTemplate;
@Bean(name = "redisUtil")
public RedisUtil redisUtil() {
RedisStandaloneConfiguration redisConfig = new RedisStandaloneConfiguration(host,port);
redisConfig.setPassword(password);
LettuceConnectionFactory factory = new LettuceConnectionFactory(redisConfig);
factory.afterPropertiesSet();
redisTemplate.setConnectionFactory(factory);
return new RedisUtil(redisTemplate);
}

@ -42,7 +42,7 @@
</if>
</where>
GROUP BY
DATE_FORMAT( a.send_time, '%Y-%m-%d' )
a.current_day
</select>
<select id="getHourElectricity" resultType="org.springblade.lims.entry.LargeScreenVO">
@ -354,7 +354,7 @@
<select id="getTotalCarbonEmissions" resultType="org.springblade.lims.entry.LargeScreenVO">
SELECT
ROUND( sum( IFNULL( a.single_electricity, 0 )) * 0.997, 2 ) totalCarbonEmissions
ROUND( sum( IFNULL( a.single_electricity, 0 )) * 0.997/1000, 2 ) totalCarbonEmissions
FROM
t_instrument_data a
<where>
@ -368,7 +368,7 @@
SELECT
a.manufacturer_brand,
sum( ifnull(b.single_electricity,0) ) `sum`,
round(sum( ifnull(b.single_electricity,0) ) * 0.997,2) totalCarbonEmissions
round(sum( ifnull(b.single_electricity,0) ) * 0.997/1000,2) totalCarbonEmissions
FROM
t_instrument a
LEFT JOIN t_instrument_data b ON a.`code` = b.imei
@ -410,7 +410,7 @@
SELECT
current_month,
ROUND(sum(
ifnull( single_electricity, 0 )) * 0.997,2) AS totalCarbonEmissions
ifnull( single_electricity, 0 )) * 0.997/1000,2) AS totalCarbonEmissions
FROM
t_instrument_data
<where>

@ -268,7 +268,7 @@ public class LargeScreenServiceImpl implements ILargeScreenService {
if(CollectionUtils.isNotEmpty(instrumentList)){
for(Instrument instrument : instrumentList){
Map<String,Object> map = new HashMap<>();
List<Map<String,String>> list1 = (List)redisUtil.get(instrument.getName() + "-runStatus");
List<Map<String,String>> list1 = (List)redisUtil.get(instrument.getCode() + "-runStatus");
map.put("name",instrument.getName());
map.put("list",list1);
list.add(map);
@ -312,7 +312,7 @@ public class LargeScreenServiceImpl implements ILargeScreenService {
map.put("gffdzb",Double.parseDouble(String.format("%.2f",carbonEmissionPlan.getPvPower()/carbonEmissionPlan.getTotalCarbonReduction()*100)));
map.put("gyyhzb",Double.parseDouble(String.format("%.2f",carbonEmissionPlan.getProcessOpt()/carbonEmissionPlan.getTotalCarbonReduction()*100)));
map.put("sbghzb",Double.parseDouble(String.format("%.2f",carbonEmissionPlan.getEquipReplace()/carbonEmissionPlan.getTotalCarbonReduction()*100)));
map.put("ypfzb",Double.parseDouble(String.format("%.2f",carbonEmissionPlan.getTotalCarbonPlan()/largeScreenVO.getTotalCarbonEmissions()*100)));
map.put("ypfzb",Double.parseDouble(String.format("%.2f",largeScreenVO.getTotalCarbonEmissions()/carbonEmissionPlan.getTotalCarbonPlan()*100)));
return map;
}
@ -510,21 +510,21 @@ public class LargeScreenServiceImpl implements ILargeScreenService {
if(CollectionUtils.isNotEmpty(instrumentList)){
for(Instrument instrument : instrumentList){
List<Map<String,String>> list = new ArrayList<>();
if(redisUtil.get(instrument.getName() + "-runStatus") == null){
if(redisUtil.get(instrument.getCode() + "-runStatus") == null){
list = new ArrayList<>();
Map<String,String> map = new HashMap<>();
map.put("time",DateFormatUtils.format(date,"HH:mm"));
map.put("runStatus",instrument.getRunStatus()==null?"2":instrument.getRunStatus().toString());
list.add(map);
//早8点到晚8点,redis过期时间设置为4小时
redisUtil.set(instrument.getName() + "-runStatus",list,60*60*4);
redisUtil.set(instrument.getCode() + "-runStatus",list,60*60*4);
}else{
list = (List)redisUtil.get(instrument.getName() + "-runStatus");
list = (List)redisUtil.get(instrument.getCode() + "-runStatus");
Map<String,String> map = new HashMap<>();
map.put("time",DateFormatUtils.format(date,"HH:mm"));
map.put("runStatus",instrument.getRunStatus()==null?"2":instrument.getRunStatus().toString());
list.add(map);
redisUtil.set(instrument.getName() + "-runStatus",list,60*60*4);
redisUtil.set(instrument.getCode() + "-runStatus",list,60*60*4);
}
}
}

@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 日志存放路径 -->
<property name="log.path" value="/home/project/lab-lims/logs" />
<!-- 日志输出格式 -->
<property name="log.pattern" value="%red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - (%msg%n)" />
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 30天 -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 30天 -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 用户访问日志输出 -->
<appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-user.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 按天回滚 daily -->
<fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>2</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.haier.cosmo.hmzy.zhgd" level="info" />
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn" />
<root level="info">
<appender-ref ref="console" />
</root>
<!--系统操作日志-->
<root level="info">
<appender-ref ref="file_info" />
<appender-ref ref="file_error" />
</root>
<!--系统用户操作日志-->
<logger name="sys-user" level="info">
<appender-ref ref="sys-user"/>
</logger>
</configuration>

@ -33,6 +33,7 @@ public class RedissonConfig {
.setAddress("redis://" + host + ":" + port)
.setDatabase(0)
.setPingConnectionInterval(2000);
config.useSingleServer().setPassword(password);
config.setLockWatchdogTimeout(10000L);
try{
return Redisson.create(config);

Loading…
Cancel
Save