Browse Source

feat(board): 新增看板功能实现

- 创建 BoardController 提供看板接口服务
- 实现 BoardService 和 BoardServiceImpl 业务逻辑
- 添加 BoardMapper 数据访问层及对应 XML 映射文件
- 在 IfsCallErrorLogData 实体类中增加 number 字段
- 修改 LabelQueryMapper.xml 中的 epc 更新逻辑为日期格式
- 配置 Shiro 权限允许匿名访问看板接口
master
常熟吴彦祖 3 weeks ago
parent
commit
399b4143dc
  1. 1
      src/main/java/com/gaotao/config/ShiroConfig.java
  2. 2
      src/main/java/com/gaotao/modules/api/entity/IfsCallErrorLogData.java
  3. 26
      src/main/java/com/gaotao/modules/base/controller/BoardController.java
  4. 13
      src/main/java/com/gaotao/modules/base/mapper/BoardMapper.java
  5. 7
      src/main/java/com/gaotao/modules/base/service/BoardService.java
  6. 48
      src/main/java/com/gaotao/modules/base/service/Impl/BoardServiceImpl.java
  7. 18
      src/main/resources/mapper/base/BoardMapper.xml
  8. 4
      src/main/resources/mapper/warehouse/LabelQueryMapper.xml

1
src/main/java/com/gaotao/config/ShiroConfig.java

@ -42,6 +42,7 @@ public class ShiroConfig {
shiroFilter.setFilters(filters);
Map<String, String> filterMap = new LinkedHashMap<>();
filterMap.put("/board/**", "anon");//看板
filterMap.put("/webjars/**", "anon");
filterMap.put("/druid/**", "anon");
filterMap.put("/app/**", "anon");

2
src/main/java/com/gaotao/modules/api/entity/IfsCallErrorLogData.java

@ -52,4 +52,6 @@ public class IfsCallErrorLogData extends IfsCallErrorLog {
*/
@TableField(exist = false)
private java.util.List<Long> ids;
private int number;
}

26
src/main/java/com/gaotao/modules/base/controller/BoardController.java

@ -0,0 +1,26 @@
package com.gaotao.modules.base.controller;
import com.gaotao.modules.api.entity.IfsCallErrorLogData;
import com.gaotao.modules.base.service.BoardService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
@RestController
@RequestMapping("/board")
public class BoardController {
@Autowired
private BoardService boardService;
@PostMapping("/ifsCallErrorLogBoard")
public Object ifsCallErrorLogBoard(@RequestBody IfsCallErrorLogData inData){
Map<String, Object> map =boardService.ifsCallErrorLogBoard(inData.getNumber());
map.put("code",200);
map.put("msg", "success");
return map;
// return R.ok().put("rows", list).put("total",list.size());
}
}

13
src/main/java/com/gaotao/modules/base/mapper/BoardMapper.java

@ -0,0 +1,13 @@
package com.gaotao.modules.base.mapper;
import com.gaotao.modules.api.entity.IfsCallErrorLogData;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
@Mapper
public interface BoardMapper {
List<IfsCallErrorLogData> ifsCallErrorLogBoard(@Param("site") String site, @Param("startDate") Date startDate);
}

7
src/main/java/com/gaotao/modules/base/service/BoardService.java

@ -0,0 +1,7 @@
package com.gaotao.modules.base.service;
import java.util.Map;
public interface BoardService {
Map<String, Object> ifsCallErrorLogBoard(int pageIndex);
}

48
src/main/java/com/gaotao/modules/base/service/Impl/BoardServiceImpl.java

@ -0,0 +1,48 @@
package com.gaotao.modules.base.service.Impl;
import com.gaotao.common.utils.DateUtil;
import com.gaotao.modules.api.entity.IfsCallErrorLogData;
import com.gaotao.modules.base.mapper.BoardMapper;
import com.gaotao.modules.base.service.BoardService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*;
@Service
public class BoardServiceImpl implements BoardService {
@Autowired
private BoardMapper boardMapper;
@Override
public Map<String, Object> ifsCallErrorLogBoard(int pageIndex){
int kanbannum=18;
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.HOUR_OF_DAY, -24); // 减去24小时
Date date24HoursAgo = calendar.getTime();
List<IfsCallErrorLogData> list =boardMapper.ifsCallErrorLogBoard("55",date24HoursAgo);
double number=list.size();
int maxPage=(int)Math.ceil(number/kanbannum);
if(pageIndex>maxPage){
pageIndex=1;
}
List<IfsCallErrorLogData> result =new ArrayList<>();
if(pageIndex<maxPage){
for(int i=0;i<kanbannum;i++){
result.add(list.get((pageIndex-1)*kanbannum+i));
}
}else {
for(int i=0;(pageIndex-1)*kanbannum+i<number;i++){
result.add(list.get((pageIndex-1)*kanbannum+i));
}
}
Map<String, Object> map = new HashMap<>();
map.put("maxPage", maxPage);
map.put("rows", result);
map.put("total",result.size());
return map;
}
}

18
src/main/resources/mapper/base/BoardMapper.xml

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gaotao.modules.base.mapper.BoardMapper">
<select id="ifsCallErrorLogBoard" resultType="IfsCallErrorLogData">
select a.id,a.site,a.interface_name,a.method_type,a.part_no,a.lot_batch_no,a.source_location,a.dest_location,a.qty,a.expired_date,
a.request_data,a.response_data,a.error_message,a.process_status,a.retry_count,a.max_retry,a.created_at,a.updated_at,
a.processed_at,a.processed_by,a.remark,a.serialNos
from ifs_call_error_log a
<where>
a.site=#{site} and a.process_status !='PROCESSED' and method_type like '库存移库%'
<if test="startDate != null">
and a.created_at >= #{startDate}
</if>
</where>
</select>
</mapper>

4
src/main/resources/mapper/warehouse/LabelQueryMapper.xml

@ -229,7 +229,7 @@
<!-- rqrq - 去除非栈板库存 -->
<update id="removeNonPalletInventory">
UPDATE handling_unit
SET in_stock_flag = 'N', epc = '*'
SET in_stock_flag = 'N', epc = CONVERT(VARCHAR(8), GETDATE(), 112)
WHERE unit_id NOT IN (SELECT serial_no FROM pallet_detail)
AND in_stock_flag = 'Y'
AND site = #{site}
@ -239,7 +239,7 @@
<update id="restoreNonPalletInventory">
UPDATE handling_unit
SET in_stock_flag = 'Y', epc = ''
WHERE epc = '*'
WHERE epc = CONVERT(VARCHAR(8), GETDATE(), 112)
AND in_stock_flag = 'N'
AND site = #{site}
</update>

Loading…
Cancel
Save