问题修复14

master
zhaoxiaolin 3 months ago
parent 97a2b159ec
commit 8d62084045

@ -112,6 +112,25 @@ public class WCSInterfaceController extends BaseController {
return success(wCInterfaceService.getMesBoardEquProductionToday(boardDTO));
}
@PostMapping("/getWhiteBoardEquPro7Days")
public AjaxResult getWhiteBoardEquPro7Days(@RequestBody BoardDTO boardDTO) {
if (StringUtils.isBlank(boardDTO.getFactory())) {
return error("[factory] is not null");
}
if (StringUtils.isEmpty(boardDTO.getYmd())) {
boardDTO.setYmd(DateUtils.getDate());
}
if(StringUtils.isBlank(boardDTO.getShiftId())){
return error("[shiftId] is not null");
}
if (StringUtils.isEmpty(boardDTO.getEquTypeCode())) {//设备类型
return error("[equTypeCode] is not null");
}
return success(wCInterfaceService.getWhiteBoardEquPro7Days(boardDTO));
}
/************************************************************/
/****************************数据库清理************************/
/************************************************************/

@ -108,4 +108,9 @@ public interface MesMapper {
int updateTransferResult(@Param("list") List<MesStationArrive> todoList);
MesLine getMesLineInfo(BoardDTO boardDTO);
@MapKey("ymd")
Map<String,BoardDTO> getEveryDayMap(BoardDTO boardDTO);
@MapKey("ymd")
Map<String, BoardDTO> getPlanDayMap(BoardDTO boardDTO);
}

@ -44,4 +44,6 @@ public interface IWCSInterfaceService {
AjaxResult changeTransferResultTask();
R prReportWork(MesReportWork mesReportWork);
Map getWhiteBoardEquPro7Days(BoardDTO boardDTO);
}

@ -679,6 +679,64 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
return sapRson;
}
@Override
public Map getWhiteBoardEquPro7Days(BoardDTO boardDTO) {
DynamicDataSourceContextHolder.push("ds_" + boardDTO.getFactory());// 这是数据源的key
Map boardMap = new HashMap();
List<String> weeks = this.get7Days();
List<String> plans = new ArrayList<>();
List<String> acts = new ArrayList<>();
List<String> finishRatio = new ArrayList<>();
boardDTO.setYmd(weeks.get(0));
Map<String,BoardDTO> actMaps = mesMapper.getEveryDayMap(boardDTO);
Map<String,BoardDTO> planMaps = mesMapper.getPlanDayMap(boardDTO);
for(String dayName:weeks){
BoardDTO planMap = planMaps.get(dayName);
if(planMap!=null){
plans.add(planMap.getTotalNum()+"");
}else{
plans.add("0");
}
BoardDTO actMap = actMaps.get(dayName);
if(actMap!=null){
acts.add(actMap.getTotalNum()+"");
}else{
acts.add("0");
}
if(planMap!=null&&actMap!=null){
finishRatio.add(
new BigDecimal(actMap.getTotalNum()).multiply(new BigDecimal("100"))
.divide(new BigDecimal(planMap.getTotalNum()),2,BigDecimal.ROUND_HALF_UP).toString()
);
}else{
finishRatio.add("0");
}
}
boardMap.put("dayNames",weeks);
boardMap.put("plans",plans);
boardMap.put("acts",acts);
boardMap.put("finishRatio",finishRatio);
return boardMap;
}
protected List<String> get7Days(){
List<String> days = new ArrayList<>();
// 获取当前日期
LocalDate today = LocalDate.now();
// 定义一个日期格式化器
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
// 打印最近七天的日期
System.out.println("最近七天的日期:");
for (int i = 0; i < 7; i++) {
LocalDate date = today.minusDays(i);
days.add(date.format(formatter));
}
Collections.reverse(days);
return days;
}
/**
*
* @param workOrder
@ -1167,8 +1225,18 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
}
public static void main(String args[]){
int xhnumber = Integer.parseInt("005")+1;
String paddedNumber = String.format("%04d", xhnumber);
System.out.println(paddedNumber);
List<String> days = new ArrayList<>();
// 获取当前日期
LocalDate today = LocalDate.now();
// 定义一个日期格式化器
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
// 打印最近七天的日期
System.out.println("最近七天的日期:");
for (int i = 0; i < 7; i++) {
LocalDate date = today.minusDays(i);
days.add(date.format(formatter));
}
Collections.reverse(days);
System.out.println(days);
}
}

@ -154,13 +154,14 @@
from mes_material_transfer_result mt
left join base_equipment equ on mt.equipmentCode = equ.equipment_code
where CONVERT(varchar(10),mt.create_time, 120) = #{ymd} and equ.equipment_name is not null
and equ.equipment_type_code = #{equTypeCode} and mt.status = 2
and equ.equipment_type_code = #{equTypeCode} and mt.status = 2 and mt.equipmentCode not in('H61','H62','H63')
<if test="shiftId != null and shiftId != ''">
and mt.shift_id = #{shiftId}
</if>
group by mt.equipmentCode,
equ.equipment_name,
equ.equipment_type_code
order by mt.equipmentCode
</select>
<!--创建新表-->
<insert id="createNewTable">
@ -464,5 +465,26 @@
where mlp.line_code = #{equCode} and mlp.product_code = #{productCode}
and mlp.del_flag='0' and bp.del_flag='0'
</select>
<select id="getEveryDayMap" resultType="com.op.system.api.domain.dto.BoardDTO">
select count(0) totalNum,CONVERT(varchar(10),mt.update_time, 120) ymd,
equ.equipment_type_code equTypeCode,
equ.equipment_type_name equTypeName
from mes_material_transfer_result mt
left join base_equipment equ on mt.equipmentCode = equ.equipment_code
where CONVERT(varchar(10),mt.update_time, 120) >= #{ymd} and equ.equipment_name is not null
and equ.equipment_type_code = #{equTypeCode}
<if test="shiftId != null and shiftId != ''">
and mt.shift_id = #{shiftId}
</if>
group by equ.equipment_type_code,CONVERT(varchar(10),mt.update_time, 120),
equ.equipment_type_name
</select>
<select id="getPlanDayMap" resultType="com.op.system.api.domain.dto.BoardDTO">
select pow.product_date ymd ,sum(po.car_num) totalNum
from pro_order_workorder pow
left join pro_order po on pow.order_code = po.order_code
where pow.product_date>=#{ymd} and pow.del_flag = '0' and pow.shift_id = #{shiftId} and pow.parent_order = '0'
group by pow.product_date
</select>
</mapper>

Loading…
Cancel
Save