Commit 95b502d9 authored by 温志超's avatar 温志超

Merge remote-tracking branch 'origin/dev' into dev

parents b2b1a11e 0ea5df47
...@@ -42,7 +42,7 @@ logging: ...@@ -42,7 +42,7 @@ logging:
sql: sql:
Statement: debug Statement: debug
file: file:
name: ximai-mes.log name: logs/ximai-mes.log
# Spring配置 # Spring配置
spring: spring:
...@@ -122,9 +122,9 @@ spring: ...@@ -122,9 +122,9 @@ spring:
servlet: servlet:
multipart: multipart:
# 单个文件大小 # 单个文件大小
max-file-size: 10MB max-file-size: 30MB
# 设置总上传的文件大小 # 设置总上传的文件大小
max-request-size: 20MB max-request-size: 30MB
# 服务模块 # 服务模块
devtools: devtools:
restart: restart:
...@@ -159,7 +159,7 @@ token: ...@@ -159,7 +159,7 @@ token:
# 令牌自定义标识 # 令牌自定义标识
header: Authorization header: Authorization
# 令牌密钥 # 令牌密钥
secret: abcdefghijklmnopqrstuvwxyz secret: q8w3Cx9Lr4fT2y6uV5sZ8aE1mN0kP7gH
# 令牌有效期(默认30分钟) # 令牌有效期(默认30分钟)
expireTime: 1440 expireTime: 1440
......
...@@ -157,7 +157,7 @@ token: ...@@ -157,7 +157,7 @@ token:
# 令牌自定义标识 # 令牌自定义标识
header: Authorization header: Authorization
# 令牌密钥 # 令牌密钥
secret: abcdefghijklmnopqrstuvwxyz secret: q8w3Cx9Lr4fT2y6uV5sZ8aE1mN0kP7gH
# 令牌有效期(默认30分钟) # 令牌有效期(默认30分钟)
expireTime: 1440 expireTime: 1440
......
...@@ -159,7 +159,7 @@ token: ...@@ -159,7 +159,7 @@ token:
# 令牌自定义标识 # 令牌自定义标识
header: Authorization header: Authorization
# 令牌密钥 # 令牌密钥
secret: abcdefghijklmnopqrstuvwxyz secret: q8w3Cx9Lr4fT2y6uV5sZ8aE1mN0kP7gH
# 令牌有效期(默认30分钟) # 令牌有效期(默认30分钟)
expireTime: 1440 expireTime: 1440
......
...@@ -56,7 +56,7 @@ spring: ...@@ -56,7 +56,7 @@ spring:
druid: druid:
# 主库数据源 # 主库数据源
master: master:
url: jdbc:mysql://10.168.8.188:3306/xm_mes?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&serverTimezone=Asia/Shanghai url: jdbc:mysql://10.168.8.188:3306/xm_mes?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B7
username: root username: root
password: t0psunit password: t0psunit
# 从库数据源 # 从库数据源
...@@ -159,7 +159,7 @@ token: ...@@ -159,7 +159,7 @@ token:
# 令牌自定义标识 # 令牌自定义标识
header: Authorization header: Authorization
# 令牌密钥 # 令牌密钥
secret: abcdefghijklmnopqrstuvwxyz secret: q8w3Cx9Lr4fT2y6uV5sZ8aE1mN0kP7gH
# 令牌有效期(默认30分钟) # 令牌有效期(默认30分钟)
expireTime: 1440 expireTime: 1440
......
...@@ -159,7 +159,7 @@ token: ...@@ -159,7 +159,7 @@ token:
# 令牌自定义标识 # 令牌自定义标识
header: Authorization header: Authorization
# 令牌密钥 # 令牌密钥
secret: abcdefghijklmnopqrstuvwxyz secret: q8w3Cx9Lr4fT2y6uV5sZ8aE1mN0kP7gH
# 令牌有效期(默认30分钟) # 令牌有效期(默认30分钟)
expireTime: 1440 expireTime: 1440
......
...@@ -113,6 +113,7 @@ public class TokenService ...@@ -113,6 +113,7 @@ public class TokenService
Map<String, Object> claims = new HashMap<>(); Map<String, Object> claims = new HashMap<>();
claims.put(Constants.LOGIN_USER_KEY, token); claims.put(Constants.LOGIN_USER_KEY, token);
claims.put(Constants.JWT_USERNAME, loginUser.getUsername());
return createToken(claims); return createToken(claims);
} }
......
...@@ -24,7 +24,7 @@ public class ErpDataDto { ...@@ -24,7 +24,7 @@ public class ErpDataDto {
InventoryTrend inventoryTrend; InventoryTrend inventoryTrend;
@ApiModelProperty("销售出库计划") @ApiModelProperty("销售出库计划")
List<SalesOutboundPlan> salesOutboundPlanList; List<SalesOutboundPlan> salesOutboundPlanList=new ArrayList<>();
@Data @Data
public static class InventoryTrend{ public static class InventoryTrend{
...@@ -42,7 +42,9 @@ public class ErpDataDto { ...@@ -42,7 +42,9 @@ public class ErpDataDto {
String outApplyNo; String outApplyNo;
@ApiModelProperty("产品名称") @ApiModelProperty("产品名称")
String itemName; String itemName;
@JsonFormat(pattern = "yyyy-MM-dd") @ApiModelProperty("产品名称")
String itemNo;
@JsonFormat(pattern = "yyyyMMdd")
@ApiModelProperty("计划出库时间") @ApiModelProperty("计划出库时间")
Date planOutDate; Date planOutDate;
@ApiModelProperty("计划数量") @ApiModelProperty("计划数量")
......
...@@ -52,7 +52,11 @@ public class KanbanMaterialService { ...@@ -52,7 +52,11 @@ public class KanbanMaterialService {
private ErpKanbanService erpKanbanService; private ErpKanbanService erpKanbanService;
public ErpDataDto getErpData(){ public ErpDataDto getErpData(){
return erpKanbanService.getMaterialStat().getData(); ErpDataDto rst = erpKanbanService.getMaterialStat().getData();
rst.getSalesOutboundPlanList().forEach(s->{
s.setItemName(s.getItemNo());
});
return rst;
} }
public MesDataDto getMesData(){ public MesDataDto getMesData(){
......
...@@ -604,11 +604,11 @@ public class ProFeedbackServiceImpl implements IProFeedbackService { ...@@ -604,11 +604,11 @@ public class ProFeedbackServiceImpl implements IProFeedbackService {
} }
} }
workTimeSum = proStartWork.getWorkTimeSec() - proStartWork.getBreakTimeSec(); workTimeSum = proStartWork.getWorkTimeSec();
} else { } else {
breakTimeSum = proStartWorks.stream().collect(Collectors.summarizingLong(ProStartWork::getBreakTimeSec)).getSum(); breakTimeSum = proStartWorks.stream().collect(Collectors.summarizingLong(ProStartWork::getBreakTimeSec)).getSum();
workTimeSum = proStartWorks.stream().collect(Collectors.summarizingLong(ProStartWork::getWorkTimeSec)).getSum() - breakTimeSum; workTimeSum = proStartWorks.stream().collect(Collectors.summarizingLong(ProStartWork::getWorkTimeSec)).getSum();
} }
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
......
...@@ -237,7 +237,7 @@ public class ProStartWorkServiceImpl implements IProStartWorkService { ...@@ -237,7 +237,7 @@ public class ProStartWorkServiceImpl implements IProStartWorkService {
} }
startWork.setEndDate(new Date()); startWork.setEndDate(new Date());
Map<String, Long> map = computeWorkTime(startWork, proTaskWorkunitMapper.selectListByQw(new QueryWrapper<ProTaskWorkunit>().eq("task_id", proTask.getTaskId())).get(0).getWorkunitId()); Map<String, Long> map = this.computeWorkTime(startWork, proTaskWorkunitMapper.selectListByQw(new QueryWrapper<ProTaskWorkunit>().eq("task_id", proTask.getTaskId())).get(0).getWorkunitId());
startWork.setWorkTimeSec(DataUtil.getNormalData(map.get("workTimeSec"), Long.class)); startWork.setWorkTimeSec(DataUtil.getNormalData(map.get("workTimeSec"), Long.class));
startWork.setBreakTimeSec(DataUtil.getNormalData(map.get("breakTimeSec"), Long.class)); startWork.setBreakTimeSec(DataUtil.getNormalData(map.get("breakTimeSec"), Long.class));
...@@ -252,9 +252,9 @@ public class ProStartWorkServiceImpl implements IProStartWorkService { ...@@ -252,9 +252,9 @@ public class ProStartWorkServiceImpl implements IProStartWorkService {
QueryWrapper<CalPlanWorkunit> calPlanWorkunitQueryWrapper = new QueryWrapper<>(); QueryWrapper<CalPlanWorkunit> calPlanWorkunitQueryWrapper = new QueryWrapper<>();
Date startDate = startWork.getStartDate(); Date startDate = startWork.getStartDate();
Date endDate = startWork.getEndDate(); Date endDate = startWork.getEndDate();
calPlanWorkunitQueryWrapper.between("start_date", startDate, endDate).eq("rest_flag", 0).eq("workunit_id", workunitId) calPlanWorkunitQueryWrapper.lt("start_date", startDate).gt("end_date", startDate).eq("rest_flag", 0).eq("workunit_id", workunitId)
.or() .or()
.between("end_date", startDate, endDate).eq("rest_flag", 0).eq("workunit_id", workunitId); .lt("start_date", endDate).gt("end_date", endDate).eq("rest_flag", 0).eq("workunit_id", workunitId);
List<CalPlanWorkunit> calPlanWorkunits = calPlanWorkunitService.selectListByQw(calPlanWorkunitQueryWrapper); List<CalPlanWorkunit> calPlanWorkunits = calPlanWorkunitService.selectListByQw(calPlanWorkunitQueryWrapper);
return this.computeWorkTime(startWork, calPlanWorkunits, workunitId); return this.computeWorkTime(startWork, calPlanWorkunits, workunitId);
} }
......
package com.bs.mes.pro; package com.bs.mes.pro;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.ximai.common.utils.data.DataUtil;
import com.ximai.mes.cal.domain.CalPlanWorkunit; import com.ximai.mes.cal.domain.CalPlanWorkunit;
import com.ximai.mes.pro.domain.ProStartWork; import com.ximai.mes.pro.domain.ProStartWork;
import com.ximai.mes.pro.schedule.Equipment; import com.ximai.mes.pro.schedule.Equipment;
...@@ -61,6 +62,21 @@ public class ProStartWorkServiceImplTest { ...@@ -61,6 +62,21 @@ public class ProStartWorkServiceImplTest {
Assert.assertEquals((228+240)*60, rst.get("workTimeSec").longValue()); Assert.assertEquals((228+240)*60, rst.get("workTimeSec").longValue());
Assert.assertEquals((proStartWork.getEndDate().getTime()-proStartWork.getStartDate().getTime())/1000-rst.get("workTimeSec").longValue(), Assert.assertEquals((proStartWork.getEndDate().getTime()-proStartWork.getStartDate().getTime())/1000-rst.get("workTimeSec").longValue(),
rst.get("breakTimeSec").longValue()); rst.get("breakTimeSec").longValue());
calPlanWorkunits.add(new CalPlanWorkunit(){
{
setStartDate(DateUtil.parse("2024-12-03 08:00","yyyy-MM-dd HH:mm"));
setEndDate(DateUtil.parse("2024-12-03 12:00","yyyy-MM-dd HH:mm"));
};
});
//测试3 时间精确到秒
proStartWork.setStartDate(DateUtil.parse("2024-12-03 10:19:36","yyyy-MM-dd HH:mm:ss"));
proStartWork.setEndDate(DateUtil.parse("2024-12-03 10:20:42","yyyy-MM-dd HH:mm:ss"));
rst = (Map) methods.invoke(proStartWorkService, proStartWork, calPlanWorkunits, 0l);
Assert.assertEquals(60+6, rst.get("workTimeSec").longValue());
Assert.assertEquals(0l,
rst.get("breakTimeSec").longValue());
} }
} }
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