liujie
2025-10-14 b7ba43ae6ef3205be7a0697044f1a38ff3c9b952
bug修改
5个文件已修改
35 ■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TErpProcurementMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TErpProcurementService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpProcurementServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TErpProcurementMapper.xml 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java
@@ -192,7 +192,7 @@
    public R<?> detailProcurementSend(@RequestBody DetailProcurementSendDto dto) {
        SysUser user = tokenService.getLoginUser().getUser();
        Integer roleType = user.getRoleType();
        String clinicSupplierId=null;
        List<String> clinicSupplierId=null;
        if(roleType == 6){
            TCrmWarehouse warehouse = crmWarehouseService.getOne(Wrappers.lambdaQuery(TCrmWarehouse.class)
@@ -200,10 +200,8 @@
                    .last("LIMIT 1"));
            // 供应商
            TCrmSupplier crmSupplier = crmSupplierService.getOne(Wrappers.lambdaQuery(TCrmSupplier.class)
                    .eq(TCrmSupplier::getWarehouseId, warehouse.getId())
                    .last("LIMIT 1"));
            clinicSupplierId=crmSupplier.getId();
            clinicSupplierId = crmSupplierService.list(Wrappers.lambdaQuery(TCrmSupplier.class)
                    .eq(TCrmSupplier::getWarehouseId, warehouse.getId())).stream().map(TCrmSupplier::getId).collect(Collectors.toList());
        }
        erpProcurementService.detailProcurementSend(clinicSupplierId, user, dto.getId(),dto.getLogisticsNumber());
        return R.ok();
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TErpProcurementMapper.java
@@ -28,6 +28,6 @@
    List<TErpGoodsVO> inventoryNotEnoughList(@Param("user") SysUser user);
    List<TErpProcurementVo> pageListWarehouse(@Param("query") TErpProcurementQuery query, @Param("pageInfo") PageInfo<TErpProcurementVo> pageInfo, @Param("user") SysUser user, @Param("sTime") String sTime, @Param("eTime") String eTime, @Param("supplierClinicId") String supplierClinicId);
    List<TErpProcurementVo> pageListWarehouse(@Param("query") TErpProcurementQuery query, @Param("pageInfo") PageInfo<TErpProcurementVo> pageInfo, @Param("user") SysUser user, @Param("sTime") String sTime, @Param("eTime") String eTime, @Param("supplierClinicId") List<String> supplierClinicId);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TErpProcurementService.java
@@ -43,5 +43,5 @@
    DetailProcurementVO detailProcurement(String clinicSupplierId, SysUser user, String id);
    void detailProcurementSend(String clinicSupplierId, SysUser user, String id,String logisticsNumber);
    void detailProcurementSend(List<String> clinicSupplierId, SysUser user, String id,String logisticsNumber);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpProcurementServiceImpl.java
@@ -171,19 +171,15 @@
        Integer roleType = user.getRoleType();
        String supplierClinicId = null;
        List<String> supplierClinicId = null;
        if (roleType == 6) {
            TCrmWarehouse warehouse = crmWarehouseMapper.selectOne(Wrappers.lambdaQuery(TCrmWarehouse.class)
                    .eq(TCrmWarehouse::getUserId, user.getUserId())
                    .last("LIMIT 1"));
            // 供应商
            TCrmSupplier crmSupplier = crmSupplierMapper.selectOne(Wrappers.lambdaQuery(TCrmSupplier.class)
                    .eq(TCrmSupplier::getWarehouseId, warehouse.getId())
                    .last("LIMIT 1"));
            supplierClinicId = crmSupplier.getId();
            supplierClinicId = crmSupplierMapper.selectList(Wrappers.lambdaQuery(TCrmSupplier.class)
                    .eq(TCrmSupplier::getWarehouseId, warehouse.getId())).stream().map(TCrmSupplier::getId).collect(Collectors.toList());
            String sTime = null;
            String eTime = null;
            if (query.getTime() != null && !query.getTime().isEmpty()) {
@@ -496,11 +492,11 @@
    @Override
    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
    public void detailProcurementSend(String clinicSupplierId, SysUser user, String id,String logisticsNumber) {
    public void detailProcurementSend(List<String> clinicSupplierId, SysUser user, String id,String logisticsNumber) {
        // 查出这个采购的下级商品
        List<TErpProcurementGoods> list = erpProcurementGoodsService.list(new QueryWrapper<TErpProcurementGoods>().eq("procurement_id", id));
        List<TErpSupplierWarehousing> tErpSupplierWarehousings = erpSupplierWarehousingMapper.selectList(new LambdaQueryWrapper<TErpSupplierWarehousing>()
                .eq(TErpSupplierWarehousing::getSupplierId, clinicSupplierId).in(TErpSupplierWarehousing::getGoodsId, list.stream().map(TErpProcurementGoods::getGoodsId).collect(Collectors.toList()))
                .in(TErpSupplierWarehousing::getSupplierId, clinicSupplierId).in(TErpSupplierWarehousing::getGoodsId, list.stream().map(TErpProcurementGoods::getGoodsId).collect(Collectors.toList()))
                .orderByAsc(BaseModel::getCreateTime));
        if(tErpSupplierWarehousings.isEmpty()){
@@ -544,7 +540,7 @@
                    if(count>=purchaseCount){
                        // 添加出库记录
                        TErpSupplierOutbound tErpSupplierOutbound= new TErpSupplierOutbound();
                        tErpSupplierOutbound.setSupplierId(clinicSupplierId);
                        tErpSupplierOutbound.setSupplierId(tErpSupplierWarehousing.getSupplierId());
                        tErpSupplierOutbound.setWarehouseId(tErpSupplierWarehousing.getWarehouseId());
                        tErpSupplierOutbound.setOutboundType(7);
                        //TODO 确定这个是采购价还是销售价格
@@ -567,7 +563,7 @@
                        purchaseCount = purchaseCount - count;
                        // 添加出库记录
                        TErpSupplierOutbound tErpSupplierOutbound= new TErpSupplierOutbound();
                        tErpSupplierOutbound.setSupplierId(clinicSupplierId);
                        tErpSupplierOutbound.setSupplierId(tErpSupplierWarehousing.getSupplierId());
                        tErpSupplierOutbound.setWarehouseId(tErpSupplierWarehousing.getWarehouseId());
                        tErpSupplierOutbound.setOutboundType(7);
                        //TODO 确定这个是采购价还是销售价格
ruoyi-system/src/main/resources/mapper/system/TErpProcurementMapper.xml
@@ -90,7 +90,10 @@
               t1.status
               from t_erp_procurement t1
               left JOIN t_crm_clinic t2 on t1.clinic_id = t2.id
        where t1.disabled = 0 and t1.status in(3,4,5) and t1.supplier_id =#{supplierClinicId}
        where t1.disabled = 0 and t1.status in(3,4,5) and t1.supplier_id in
        <foreach collection="supplierClinicId" close=")" item="id" separator="," open="(" >
            #{id}
        </foreach>
        <if test="query.procurementCode != null and query.procurementCode != ''">
            and t1.procurement_code = #{query.procurementCode}
        </if>