feat(oms):出库预约单号

This commit is contained in:
zhaoqing
2026-07-21 17:57:35 +08:00
parent 30dd4abe43
commit 6177b70b34
5 changed files with 39 additions and 0 deletions
@@ -6,6 +6,7 @@ import com.mhd.oms.domain.reserveOutMaterialDetail.repository.po.ReserveOutMater
import com.mhd.oms.domain.reserveStockOutOrder.entity.ReserveStockOutOrder;
import com.mhd.oms.domain.reserveStockOutOrder.repository.po.ReserveStockOutOrderPO;
import com.mhd.oms.domain.reserveStockOutOrder.repository.todo.ReserveStockOutOrderDO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -33,4 +34,6 @@ public interface ReserveStockOutOrderMapper extends BaseMapper<ReserveStockOutOr
* 出库单提货单打印-明细
*/
List<ReserveOutMaterialDetailPO> queryOutStockNoticePrintDetail(ReserveStockOutOrderDO stockOutOrderDO);
int countByOrderNumberPrefix(@Param("prefix") String prefix);
}
@@ -1217,4 +1217,8 @@ public class ReserveStockOutOrderApplicationService {
// 3. 拼接结果
return datePart + randomPart;
}
public String generateReserveOrderNumber() {
return stockOutOrderDomainService.generateReserveOrderNumber();
}
}
@@ -28,6 +28,7 @@ import com.mhd.oms.domain.reserveStockInOrder.repository.mapper.ReserveStockInOr
import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDO;
import com.mhd.oms.domain.reserveStockOutOrder.entity.ReserveStockOutOrder;
import com.mhd.oms.domain.reserveStockOutOrder.repository.facade.IReserveStockOutOrderService;
import com.mhd.oms.domain.reserveStockOutOrder.repository.mapper.ReserveStockOutOrderMapper;
import com.mhd.oms.domain.reserveStockOutOrder.repository.po.ReserveStockOutOrderPO;
import com.mhd.oms.domain.reserveStockOutOrder.repository.todo.ReserveStockOutOrderDO;
import com.mhd.system.api.SystemServiceFeign;
@@ -71,6 +72,9 @@ public class ReserveStockOutOrderDomainService {
@Autowired
private ReserveStockInOrderMapper reservationStockInOrderMapper;
@Autowired
private ReserveStockOutOrderMapper stockOutOrderMapper;
/**
* 分页查询出库单列表
*/
@@ -751,4 +755,17 @@ public class ReserveStockOutOrderDomainService {
return stockOutOrderService.queryOutStockNoticePrintDetail(stockOutOrderDO);
}
/**
* 生成出库预约单号:C + YYMMDD + 当日累加序号(3位,不足补零)
* 当日累加 = 今日已有单数 + 1
*/
public String generateReserveOrderNumber() {
SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
String datePart = sdf.format(new Date());
String prefix = "C" + datePart;
int todayCount = stockOutOrderMapper.countByOrderNumberPrefix(prefix);
String seq = String.format("%03d", todayCount + 1);
return prefix + seq;
}
}
@@ -294,4 +294,13 @@ public class ReserveStockOutOrderApi extends BaseController {
}
}
/**
* 生成出库预约单号
*/
@ApiOperation("生成出库预约单号")
@GetMapping("/generateOrderNumber")
public AjaxResult generateOrderNumber() {
return AjaxResult.success(stockOutOrderApplicationService.generateReserveOrderNumber());
}
}
@@ -517,4 +517,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="boxPalletNo" column="box_pallet_no"/>
</resultMap>
<select id="countByOrderNumberPrefix" resultType="java.lang.Integer" parameterType="java.lang.String">
SELECT COUNT(1)
FROM reserve_stock_out_order
WHERE out_order_number LIKE concat(#{prefix}, '%')
</select>
</mapper>