Browse Source

2025-11-03

pda属性变动优化
master
fengyuan_yang 2 months ago
parent
commit
68eeb91a7a
  1. 7
      src/main/java/com/gaotao/modules/propertyChange/controller/PropertyChangeController.java
  2. 15
      src/main/java/com/gaotao/modules/propertyChange/service/impl/PropertyChangeServiceImpl.java
  3. 6
      src/main/resources/mapper/propertyChange/PropertyChangeMapper.xml

7
src/main/java/com/gaotao/modules/propertyChange/controller/PropertyChangeController.java

@ -56,7 +56,7 @@ public class PropertyChangeController {
Map<String, Object> stockInfo = propertyChangeService.getStockInfoByLabelCode(labelCode.trim(), site.trim(), warehouseId.trim()); Map<String, Object> stockInfo = propertyChangeService.getStockInfoByLabelCode(labelCode.trim(), site.trim(), warehouseId.trim());
if (stockInfo == null) { if (stockInfo == null) {
return R.error("未找到该标签的库存信息,请检查标签条码是否正确或该标签是否在库");
return R.error("标签不存在!");
} }
logger.info("获取库存信息成功,标签条码: {}", labelCode); logger.info("获取库存信息成功,标签条码: {}", labelCode);
@ -101,18 +101,21 @@ public class PropertyChangeController {
// 检查是否有变动内容 // 检查是否有变动内容
String newLocationId = (String) params.get("newLocationId"); String newLocationId = (String) params.get("newLocationId");
String newStatus = (String) params.get("newStatus");
String newProductionDate = (String) params.get("newProductionDate"); String newProductionDate = (String) params.get("newProductionDate");
String newExpiryDate = (String) params.get("newExpiryDate"); String newExpiryDate = (String) params.get("newExpiryDate");
String oldLocationId = (String) params.get("oldLocationId"); String oldLocationId = (String) params.get("oldLocationId");
String oldStatus = (String) params.get("oldStatus");
String oldProductionDate = (String) params.get("oldProductionDate"); String oldProductionDate = (String) params.get("oldProductionDate");
String oldExpiryDate = (String) params.get("oldExpiryDate"); String oldExpiryDate = (String) params.get("oldExpiryDate");
boolean hasLocationChange = newLocationId != null && !newLocationId.trim().isEmpty() && !newLocationId.equals(oldLocationId); boolean hasLocationChange = newLocationId != null && !newLocationId.trim().isEmpty() && !newLocationId.equals(oldLocationId);
boolean hasStatusChange = newStatus != null && !newStatus.trim().isEmpty() && !newStatus.equals(oldStatus);
boolean hasProductionDateChange = newProductionDate != null && !newProductionDate.trim().isEmpty() && !newProductionDate.equals(oldProductionDate); boolean hasProductionDateChange = newProductionDate != null && !newProductionDate.trim().isEmpty() && !newProductionDate.equals(oldProductionDate);
boolean hasExpiryDateChange = newExpiryDate != null && !newExpiryDate.trim().isEmpty() && !newExpiryDate.equals(oldExpiryDate); boolean hasExpiryDateChange = newExpiryDate != null && !newExpiryDate.trim().isEmpty() && !newExpiryDate.equals(oldExpiryDate);
if (!hasLocationChange && !hasProductionDateChange && !hasExpiryDateChange) {
if (!hasLocationChange && !hasStatusChange && !hasProductionDateChange && !hasExpiryDateChange) {
return R.error("没有检测到属性变动,请修改后再提交"); return R.error("没有检测到属性变动,请修改后再提交");
} }

15
src/main/java/com/gaotao/modules/propertyChange/service/impl/PropertyChangeServiceImpl.java

@ -80,10 +80,12 @@ public class PropertyChangeServiceImpl extends ServiceImpl<PropertyChangeMapper,
// 获取变动信息 // 获取变动信息
String newLocationId = (String) params.get("newLocationId"); String newLocationId = (String) params.get("newLocationId");
String newStatus = (String) params.get("newStatus");
String newProductionDateStr = (String) params.get("newProductionDate"); String newProductionDateStr = (String) params.get("newProductionDate");
String newExpiryDateStr = (String) params.get("newExpiryDate"); String newExpiryDateStr = (String) params.get("newExpiryDate");
String oldLocationId = (String) params.get("oldLocationId"); String oldLocationId = (String) params.get("oldLocationId");
String oldStatus = (String) params.get("oldStatus");
String oldProductionDateStr = (String) params.get("oldProductionDate"); String oldProductionDateStr = (String) params.get("oldProductionDate");
String oldExpiryDateStr = (String) params.get("oldExpiryDate"); String oldExpiryDateStr = (String) params.get("oldExpiryDate");
@ -99,6 +101,10 @@ public class PropertyChangeServiceImpl extends ServiceImpl<PropertyChangeMapper,
updateParams.put("newLocationId", newLocationId.trim()); updateParams.put("newLocationId", newLocationId.trim());
} }
if (newStatus != null && !newStatus.trim().isEmpty()) {
updateParams.put("newStatus", newStatus.trim());
}
if (newProductionDateStr != null && !newProductionDateStr.trim().isEmpty()) { if (newProductionDateStr != null && !newProductionDateStr.trim().isEmpty()) {
Date newProductionDate = dateFormat.parse(newProductionDateStr); Date newProductionDate = dateFormat.parse(newProductionDateStr);
updateParams.put("newProductionDate", newProductionDate); updateParams.put("newProductionDate", newProductionDate);
@ -116,7 +122,7 @@ public class PropertyChangeServiceImpl extends ServiceImpl<PropertyChangeMapper,
} }
// 3. 生成标签变动事务记录 // 3. 生成标签变动事务记录
generatePropertyChangeTransaction(site, buNo, warehouseId, labelCode, partNo, batchNo, quantity, oldLocationId, newLocationId, oldProductionDateStr, newProductionDateStr, oldExpiryDateStr, newExpiryDateStr);
generatePropertyChangeTransaction(site, buNo, warehouseId, labelCode, partNo, batchNo, quantity, oldLocationId, newLocationId, oldStatus, newStatus, oldProductionDateStr, newProductionDateStr, oldExpiryDateStr, newExpiryDateStr);
logger.info("属性变动保存成功,标签条码: {}", labelCode); logger.info("属性变动保存成功,标签条码: {}", labelCode);
return true; return true;
@ -136,7 +142,7 @@ public class PropertyChangeServiceImpl extends ServiceImpl<PropertyChangeMapper,
* 生成属性变动事务记录 * 生成属性变动事务记录
*/ */
private void generatePropertyChangeTransaction(String site, String buNo, String warehouseId, String labelCode, String partNo, String batchNo, Float quantity, private void generatePropertyChangeTransaction(String site, String buNo, String warehouseId, String labelCode, String partNo, String batchNo, Float quantity,
String oldLocationId, String newLocationId, String oldProductionDate, String newProductionDate, String oldExpiryDate, String newExpiryDate) {
String oldLocationId, String newLocationId, String oldStatus, String newStatus, String oldProductionDate, String newProductionDate, String oldExpiryDate, String newExpiryDate) {
logger.info("开始生成属性变动事务记录,标签条码: {}", labelCode); logger.info("开始生成属性变动事务记录,标签条码: {}", labelCode);
try { try {
@ -145,6 +151,9 @@ public class PropertyChangeServiceImpl extends ServiceImpl<PropertyChangeMapper,
if (newLocationId != null && !newLocationId.equals(oldLocationId)) { if (newLocationId != null && !newLocationId.equals(oldLocationId)) {
changeDesc.append("库位[").append(oldLocationId).append("→").append(newLocationId).append("] "); changeDesc.append("库位[").append(oldLocationId).append("→").append(newLocationId).append("] ");
} }
if (newStatus != null && !newStatus.equals(oldStatus)) {
changeDesc.append("状态[").append(oldStatus).append("→").append(newStatus).append("] ");
}
if (newProductionDate != null && !newProductionDate.equals(oldProductionDate)) { if (newProductionDate != null && !newProductionDate.equals(oldProductionDate)) {
changeDesc.append("生产日期[").append(oldProductionDate).append("→").append(newProductionDate).append("] "); changeDesc.append("生产日期[").append(oldProductionDate).append("→").append(newProductionDate).append("] ");
} }
@ -175,6 +184,8 @@ public class PropertyChangeServiceImpl extends ServiceImpl<PropertyChangeMapper,
labelInfo.put("quantity", quantity); labelInfo.put("quantity", quantity);
labelInfo.put("oldLocationId", oldLocationId); labelInfo.put("oldLocationId", oldLocationId);
labelInfo.put("newLocationId", newLocationId); labelInfo.put("newLocationId", newLocationId);
labelInfo.put("oldStatus", oldStatus);
labelInfo.put("newStatus", newStatus);
labelInfo.put("oldProductionDate", oldProductionDate); labelInfo.put("oldProductionDate", oldProductionDate);
labelInfo.put("newProductionDate", newProductionDate); labelInfo.put("newProductionDate", newProductionDate);
labelInfo.put("oldExpiryDate", oldExpiryDate); labelInfo.put("oldExpiryDate", oldExpiryDate);

6
src/main/resources/mapper/propertyChange/PropertyChangeMapper.xml

@ -10,6 +10,7 @@
s.bu_no as buNo, s.bu_no as buNo,
s.warehouse_id as warehouseId, s.warehouse_id as warehouseId,
s.part_no as partNo, s.part_no as partNo,
P.PartDescription as partDesc,
s.batch_no as batchNo, s.batch_no as batchNo,
s.location_id as locationId, s.location_id as locationId,
s.qty_on_hand as qtyOnHand, s.qty_on_hand as qtyOnHand,
@ -25,10 +26,10 @@
w.WareHouseName as warehouseName w.WareHouseName as warehouseName
FROM inventory_stock s FROM inventory_stock s
LEFT JOIN warehouse w ON s.warehouse_id = w.WareHouseID AND s.site = w.site LEFT JOIN warehouse w ON s.warehouse_id = w.WareHouseID AND s.site = w.site
INNER JOIN PART P ON S.SITE = P.SITE AND S.PART_NO = P.PARTNO
WHERE s.roll_no = #{labelCode} WHERE s.roll_no = #{labelCode}
AND s.site = #{site} AND s.site = #{site}
AND s.warehouse_id = #{warehouseId} AND s.warehouse_id = #{warehouseId}
AND s.status = '在库'
AND s.qty_on_hand > 0 AND s.qty_on_hand > 0
</select> </select>
@ -39,6 +40,9 @@
<if test="params.newLocationId != null and params.newLocationId != ''"> <if test="params.newLocationId != null and params.newLocationId != ''">
location_id = #{params.newLocationId}, location_id = #{params.newLocationId},
</if> </if>
<if test="params.newStatus != null and params.newStatus != ''">
status = #{params.newStatus},
</if>
<if test="params.newProductionDate != null"> <if test="params.newProductionDate != null">
manufacture_date = #{params.newProductionDate}, manufacture_date = #{params.newProductionDate},
</if> </if>

Loading…
Cancel
Save