Browse Source

优化

master
常熟吴彦祖 9 months ago
parent
commit
6b302a619a
  1. 33
      src/main/java/com/gaotao/modules/api/apiData/CheckInventoryExistsRequest.java
  2. 5
      src/main/java/com/gaotao/modules/automatedWarehouse/entity/AgvStationData.java
  3. 13
      src/main/java/com/gaotao/modules/automatedWarehouse/mapper/AgvStationMapper.java
  4. 37
      src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AgvStationServiceImpl.java
  5. 6
      src/main/java/com/gaotao/modules/automatedWarehouse/task/WcsTaskScheduler.java
  6. 44
      src/main/resources/mapper/automatedWarehouse/AgvStationMapper.xml
  7. 5
      src/main/resources/mapper/automatedWarehouse/NotifyDetailQueryMapper.xml

33
src/main/java/com/gaotao/modules/api/apiData/CheckInventoryExistsRequest.java

@ -0,0 +1,33 @@
package com.gaotao.modules.api.apiData;
public class CheckInventoryExistsRequest {
/**
* 底托类型1:平托 2:围框托盘 3:钢底托
*/
private Integer basePalletType;
/**
* 托盘类型1:托盘 2:四宫格 3:九宫格
*/
private Integer palletType;
// Getter and Setter
public Integer getBasePalletType() {
return basePalletType;
}
public void setBasePalletType(Integer basePalletType) {
this.basePalletType = basePalletType;
}
public Integer getPalletType() {
return palletType;
}
public void setPalletType(Integer palletType) {
this.palletType = palletType;
}
}

5
src/main/java/com/gaotao/modules/automatedWarehouse/entity/AgvStationData.java

@ -41,5 +41,10 @@ public class AgvStationData extends AgvStation {
* 栈板编码用于手工移出栈板 - rqrq
*/
private String palletId;
/**
* 续盘类型描述关联pallet_type.type_desc- rqrq
*/
private String autoCallBlankPalletTypeDesc;
}

13
src/main/java/com/gaotao/modules/automatedWarehouse/mapper/AgvStationMapper.java

@ -1,7 +1,10 @@
package com.gaotao.modules.automatedWarehouse.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gaotao.modules.automatedWarehouse.entity.AgvStation;
import com.gaotao.modules.automatedWarehouse.entity.AgvStationData;
import com.gaotao.modules.automatedWarehouse.entity.Area;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -91,5 +94,15 @@ public interface AgvStationMapper extends BaseMapper<AgvStation> {
* @date 2025/12/10
*/
List<Map<String, Object>> getPalletTypeOptions();
/**
* @Description 分页查询AGV站点列表关联pallet_type获取续盘类型描述- rqrq
* @param page 分页对象
* @param data 查询条件
* @return IPage<AgvStationData>
* @author rqrq
* @date 2025/12/10
*/
IPage<AgvStationData> queryAgvStationPage(Page<AgvStationData> page, @Param("query") AgvStationData data);
}

37
src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AgvStationServiceImpl.java

@ -39,7 +39,7 @@ public class AgvStationServiceImpl extends ServiceImpl<AgvStationMapper, AgvStat
private SensitiveFieldChangeLogService sensitiveFieldChangeLogService; // 新增 - rqrq
/**
* @Description 分页查询AGV站点列表 - rqrq
* @Description 分页查询AGV站点列表关联pallet_type获取续盘类型描述- rqrq
* @param data 查询条件
* @return PageUtils
* @author rqrq
@ -49,42 +49,13 @@ public class AgvStationServiceImpl extends ServiceImpl<AgvStationMapper, AgvStat
public PageUtils queryPage(AgvStationData data) throws Exception {
System.out.println("开始查询AGV站点列表 - rqrq");
// 构建查询条件 - rqrq
QueryWrapper<AgvStation> wrapper = new QueryWrapper<>();
// 只查询station_type='正式站点' active='Y'的数据 - rqrq
if (StringUtils.hasText(data.getStationType())) {
wrapper.eq("station_type", data.getStationType());
}
if (StringUtils.hasText(data.getActive())) {
wrapper.eq("active", data.getActive());
}
// 站点编码模糊查询 - rqrq
if (StringUtils.hasText(data.getSearchStationCode())) {
wrapper.like("station_code", data.getSearchStationCode());
}
// 站点名称模糊查询 - rqrq
if (StringUtils.hasText(data.getSearchStationName())) {
wrapper.like("station_name", data.getSearchStationName());
}
// 站点ID模糊查询 - rqrq
if (StringUtils.hasText(data.getSearchStationId())) {
wrapper.like("station_id", data.getSearchStationId());
}
// 按ID倒序排列 - rqrq
wrapper.orderByDesc("id");
// 分页查询 - rqrq
// 分页查询使用自定义SQL关联pallet_type表获取续盘类型描述- rqrq
int page = data.getPage() != null ? data.getPage() : 1;
int limit = data.getLimit() != null ? data.getLimit() : 20;
IPage<AgvStation> pageResult = this.baseMapper.selectPage(
IPage<AgvStationData> pageResult = this.baseMapper.queryAgvStationPage(
new Page<>(page, limit),
wrapper
data
);
System.out.println("查询AGV站点列表完成 - rqrq,共" + pageResult.getTotal() + "条记录");

6
src/main/java/com/gaotao/modules/automatedWarehouse/task/WcsTaskScheduler.java

@ -192,11 +192,11 @@ public class WcsTaskScheduler {
* @author rqrq
* @date 2025/10/21
*
* fixedDelay = 100000 表示上次执行完成后间隔120秒再执行确保串行执行不会并发
* 优化从3.6秒调整为100秒减少pallet表锁竞争避免死锁 - rqrq
* fixedDelay = 100000 表示上次执行完成后间隔60秒再执行确保串行执行不会并发
* 优化从3.6秒调整为60秒减少pallet表锁竞争避免死锁 - rqrq
* 配置说明通过 scheduler.wcs.enabled 控制是否启用
*/
@Scheduled(fixedDelay = 100000)
@Scheduled(fixedDelay = 60000)
public void scheduleKitTransportCheck() {
// 检查定时任务开关 - rqrq
if (!enabled) {

44
src/main/resources/mapper/automatedWarehouse/AgvStationMapper.xml

@ -77,6 +77,50 @@
WHERE active = 'Y'
ORDER BY pallet_type
</select>
<!-- rqrq - 分页查询AGV站点列表(关联pallet_type获取续盘类型描述)-->
<select id="queryAgvStationPage" parameterType="AgvStationData" resultType="AgvStationData">
SELECT
a.id,
a.station_code AS stationCode,
a.station_name AS stationName,
a.area_type AS areaType,
a.station_area AS stationArea,
a.warehouse_code AS warehouseCode,
a.location_code AS locationCode,
a.location_x AS locationX,
a.location_y AS locationY,
a.location_z AS locationZ,
a.active,
a.remark,
a.status_db AS statusDb,
a.status,
a.station_id AS stationId,
a.station_type AS stationType,
a.auto_call_blank_pallet AS autoCallBlankPallet,
a.auto_call_blank_pallet_type AS autoCallBlankPalletType,
a.wait_station_code AS waitStationCode,
pt.type_desc AS autoCallBlankPalletTypeDesc
FROM agv_station a WITH (NOLOCK)
LEFT JOIN pallet_type pt WITH (NOLOCK) ON a.auto_call_blank_pallet_type = pt.pallet_type
WHERE 1=1
<if test="query.stationType != null and query.stationType != ''">
AND a.station_type = #{query.stationType}
</if>
<if test="query.active != null and query.active != ''">
AND a.active = #{query.active}
</if>
<if test="query.searchStationCode != null and query.searchStationCode != ''">
AND a.station_code LIKE '%' + #{query.searchStationCode} + '%'
</if>
<if test="query.searchStationName != null and query.searchStationName != ''">
AND a.station_name LIKE '%' + #{query.searchStationName} + '%'
</if>
<if test="query.searchStationId != null and query.searchStationId != ''">
AND a.station_id LIKE '%' + #{query.searchStationId} + '%'
</if>
ORDER BY a.id DESC
</select>
</mapper>

5
src/main/resources/mapper/automatedWarehouse/NotifyDetailQueryMapper.xml

@ -20,8 +20,9 @@
a.order_type AS orderType,
b.area_desc AS areaDesc
FROM SOIssueNotifyOrderList a WITH (NOLOCK)
left join SOIssueNotifyHeader c WITH (NOLOCK) on a.notify_no=c.notify_no and a.site=c.site
LEFT JOIN area b WITH (NOLOCK) ON a.production_area = b.area_id
WHERE a.site = #{query.site}
WHERE a.site = #{query.site} and c.status!='CLOSED'
<if test="query.notifyNo != null and query.notifyNo != ''">
AND a.notify_no LIKE '%' + #{query.notifyNo} + '%'
</if>
@ -37,7 +38,7 @@
<if test="query.transportFlag != null and query.transportFlag != ''">
AND a.transport_flag = #{query.transportFlag}
</if>
ORDER BY a.notify_no DESC, a.item_no ASC
ORDER BY c.entered_date desc
</select>
<!-- rqrq - 查询申请单物料明细(根据notify_no+site+item_no,关联物料号) -->

Loading…
Cancel
Save