Browse Source

盘点优化

master
常熟吴彦祖 3 weeks ago
parent
commit
bf32535930
  1. 2
      src/main/java/com/gaotao/modules/check/mapper/PhysicalInventoryMapper.java
  2. 6
      src/main/java/com/gaotao/modules/check/service/impl/PhysicalInventoryServiceImpl.java
  3. 1
      src/main/java/com/gaotao/modules/handlingunit/controller/PdaLabelController.java
  4. 15
      src/main/resources/mapper/check/PhysicalInventoryMapper.xml

2
src/main/java/com/gaotao/modules/check/mapper/PhysicalInventoryMapper.java

@ -403,7 +403,7 @@ public interface PhysicalInventoryMapper extends BaseMapper<CountHeader> {
* @author rqrq
*/
int countWarehouseLabels(@Param("site") String site);
int countWarehouseLabelsNoCount(@Param("site") String site);
/**
* @Description 按立库层数(location_z)统计未盘点标签分布 - rqrq
* @param site 工厂编码

6
src/main/java/com/gaotao/modules/check/service/impl/PhysicalInventoryServiceImpl.java

@ -134,9 +134,15 @@ public class PhysicalInventoryServiceImpl extends ServiceImpl<PhysicalInventoryM
throw new RuntimeException("立库内没有可盘点的标签");
}
log.info("立库内未盘点标签总数: {}", totalLabels);
//当前库内有多少未盘点数量
int totalLabelsNocount = baseMapper.countWarehouseLabelsNoCount(query.getSite());
// 3. 计算需要盘点的标签数量 - rqrq
int targetCount = (int) Math.ceil(totalLabels * query.getCountPercent() / 100.0);
//如果计算下来需要盘点数量大于未盘点数量则取未盘点数量
if(targetCount>totalLabelsNocount){
targetCount=totalLabelsNocount;
}
log.info("目标盘点标签数: {}", targetCount);
// 4. 查询各层未盘点标签分布情况 - rqrq

1
src/main/java/com/gaotao/modules/handlingunit/controller/PdaLabelController.java

@ -48,6 +48,7 @@ public class PdaLabelController extends AbstractController {
@Autowired
private HandlingUnitIdLogService handlingUnitIdLogService;
/**
* @Author System
* @Description 查询标签信息

15
src/main/resources/mapper/check/PhysicalInventoryMapper.xml

@ -689,17 +689,24 @@
WHERE h.site = #{site} AND p.pallet_id IS NOT NULL
</select>
<!-- rqrq - 查询立库内未盘点标签总数(count_flag不为Y的标签,且托盘在立库中)-->
<!-- rqrq - 查询立库内标签总数-->
<select id="countWarehouseLabels" resultType="int">
SELECT COUNT(1)
FROM handling_unit h
LEFT JOIN pallet_detail b ON h.unit_id = b.serial_no AND h.site = b.site
LEFT JOIN pallet p ON b.pallet_id = p.pallet_id AND b.site = p.site
WHERE h.site = #{site} AND p.pallet_id IS NOT NULL
AND (h.count_flag IS NULL OR h.count_flag != 'Y')
AND p.wcs_location IS NOT NULL AND p.wcs_location != ''
</select>
<select id="countWarehouseLabelsNoCount" resultType="int">
SELECT COUNT(1)
FROM handling_unit h
LEFT JOIN pallet_detail b ON h.unit_id = b.serial_no AND h.site = b.site
LEFT JOIN pallet p ON b.pallet_id = p.pallet_id AND b.site = p.site
WHERE h.site = #{site} AND p.pallet_id IS NOT NULL
AND (h.count_flag IS NULL OR h.count_flag != 'Y')
AND p.wcs_location IS NOT NULL AND p.wcs_location != ''
</select>
<!-- rqrq - 按立库层数(location_z)统计未盘点标签分布(托盘在立库中)-->
<select id="countLabelsByLayer" resultType="LayerLabelCountResult">
SELECT
@ -801,7 +808,7 @@
LEFT JOIN pallet_detail b ON h.unit_id = b.serial_no AND h.site = b.site
LEFT JOIN pallet p ON b.pallet_id = p.pallet_id AND b.site = p.site
LEFT JOIN agv_station s ON p.location_code = s.station_code
WHERE h.site = #{query.site} AND p.pallet_id IS NOT NULL
WHERE h.site = #{query.site} AND p.pallet_id IS NOT NULL and p.wcs_location is not null
<if test="query.searchPartNo != null and query.searchPartNo != ''">
AND h.part_no LIKE '%' + #{query.searchPartNo} + '%'
</if>

Loading…
Cancel
Save