fix(oms):入库执行修改

This commit is contained in:
zhaoqing
2026-07-21 18:51:53 +08:00
parent 6177b70b34
commit b825f1a789
3 changed files with 30 additions and 10 deletions
@@ -68,4 +68,5 @@ public interface ExecutionStockInOrderMapper extends BaseMapper<ExecutionStockIn
String getNcUrl(@Param("interfaceType") String interfaceType,@Param("organizationName") String organizationName,@Param("organizationId") Long organizationId);
int countByOrderNumberPrefix(@Param("prefix") String prefix);
}
@@ -17,6 +17,7 @@ import com.mhd.oms.domain.executionInMaterialDetail.entity.ExecutionInMaterialDe
import com.mhd.oms.domain.executionInMaterialDetail.repository.facade.IExecutionInMaterialDetailService;
import com.mhd.oms.domain.executionStockInOrder.entity.ExecutionStockInOrder;
import com.mhd.oms.domain.executionStockInOrder.repository.facade.IExecutionStockInOrderService;
import com.mhd.oms.domain.executionStockInOrder.repository.mapper.ExecutionStockInOrderMapper;
import com.mhd.oms.domain.executionStockInOrder.repository.todo.ExecutionStockInOrderDO;
import com.mhd.oms.domain.executionStockInOrder.service.ExecutionStockInOrderApplicationService;
import com.mhd.oms.domain.reservationInMaterialDetail.entity.ReservationInMaterialDetail;
@@ -85,6 +86,8 @@ public class ReservationStockInOrderDomainService {
private ExecutionStockInOrderApplicationService stockInOrderApplicationService;
@Autowired
private BusinessDocumentOrderMapper businessDocumentOrderMapper;
@Autowired
private ExecutionStockInOrderMapper executionStockInOrderMapper;
/**
* 分页查询入库单列表
@@ -534,11 +537,10 @@ public class ReservationStockInOrderDomainService {
reservationStockInOrder.setWarehouseCode(warehouseCode);
reservationStockInOrder.setWarehouseName(warehouseName);
reservationStockInOrder.setBusinessInOrderNumber(inOrderNumber);
if (materialDetailGroupByWarehouse!=null&&materialDetailGroupByWarehouse.size()>1) {
reservationStockInOrder.setInOrderNumber(OrderSequence.getOrderCode("RK"));
} else {
reservationStockInOrder.setInOrderNumber(inOrderNumber);
}
reservationStockInOrder.setInOrderNumber(generateExecutionOrderNumber(warehouseCode));
// 原本 businessOrderNo 通过 BeanUtils.copyProperties 从预约单拷贝,现改为与执行单号一致
// reservationStockInOrder.setBusinessOrderNo(byId.getBusinessOrderNo());
reservationStockInOrder.setBusinessOrderNo(reservationStockInOrder.getInOrderNumber());
List<ExecutionInMaterialDetail> inMaterialDetailList = new ArrayList<>();
int index = 1;
@@ -691,11 +693,10 @@ public class ReservationStockInOrderDomainService {
reservationStockInOrder.setWarehouseCode(warehouseCode);
reservationStockInOrder.setWarehouseName(warehouseName);
reservationStockInOrder.setBusinessInOrderNumber(inOrderNumber);
if (materialDetailGroupByWarehouse!=null&&materialDetailGroupByWarehouse.size()>1) {
reservationStockInOrder.setInOrderNumber(OrderSequence.getOrderCode("RK"));
} else {
reservationStockInOrder.setInOrderNumber(inOrderNumber);
}
reservationStockInOrder.setInOrderNumber(generateExecutionOrderNumber(warehouseCode));
// 原本 businessOrderNo 通过 BeanUtils.copyProperties 从预约单拷贝,现改为与执行单号一致
// reservationStockInOrder.setBusinessOrderNo(byId.getBusinessOrderNo());
reservationStockInOrder.setBusinessOrderNo(reservationStockInOrder.getInOrderNumber());
List<ExecutionInMaterialDetail> inMaterialDetailList = new ArrayList<>();
int index = 1;
@@ -1212,4 +1213,16 @@ public class ReservationStockInOrderDomainService {
return stockInOrderService.queryNoticePrintDetail(stockInOrderDO);
}
/**
* 生成执行入库单号:仓库代码简称 + YYMMDD + 当日累加(3位,不足补零)
*/
public String generateExecutionOrderNumber(String warehouseCode) {
SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
String datePart = sdf.format(new Date());
String prefix = warehouseCode + datePart;
int todayCount = executionStockInOrderMapper.countByOrderNumberPrefix(prefix);
String seq = String.format("%03d", todayCount + 1);
return prefix + seq;
}
}
@@ -650,4 +650,10 @@
<update id="delWShOrderDetail">
update "NGWL_TEST_WMS".RECEIPT_MATERIAL_DETAIL set DEL_FLAG = 2 where DEL_FLAG = 1 and RECEIPT_ORDER_NUMBER = #{receiptOrderNumber}
</update>
<select id="countByOrderNumberPrefix" resultType="java.lang.Integer" parameterType="java.lang.String">
SELECT COUNT(1)
FROM execution_stock_in_order
WHERE in_order_number LIKE concat(#{prefix}, '%')
</select>
</mapper>