分标策划、招标计划bug修改

This commit is contained in:
2025-08-28 18:19:42 +08:00
parent 377892f691
commit f171238029
5 changed files with 108 additions and 12 deletions

View File

@ -123,6 +123,7 @@ public class BusFormalitiesAreConsolidatedServiceImpl extends ServiceImpl<BusFor
list.add(busFormalitiesAreConsolidated);
Long count = baseMapper.selectCount(new LambdaQueryWrapper<BusFormalitiesAreConsolidated>()
.eq(BusFormalitiesAreConsolidated::getProjectId, bo.getProjectId())
.eq(BusFormalitiesAreConsolidated::getFormalitiesId, formalities.getPid()));
if (count == 0) {
BusListOfFormalities formalities1 = busListOfFormalitiesService.getById(formalities.getPid());
@ -143,8 +144,8 @@ public class BusFormalitiesAreConsolidatedServiceImpl extends ServiceImpl<BusFor
private LambdaQueryWrapper<BusFormalitiesAreConsolidated> buildQueryWrapper(BusFormalitiesAreConsolidatedBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<BusFormalitiesAreConsolidated> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(BusFormalitiesAreConsolidated::getCreatePTime);
lqw.orderByAsc(BusFormalitiesAreConsolidated::getCreateTime);
lqw.orderByDesc(BusFormalitiesAreConsolidated::getCreatePTime);
lqw.orderByDesc(BusFormalitiesAreConsolidated::getCreateTime);
lqw.eq(bo.getProjectId() != null, BusFormalitiesAreConsolidated::getProjectId, bo.getProjectId());
lqw.eq(bo.getFormalitiesPid() != null, BusFormalitiesAreConsolidated::getFormalitiesPid, bo.getFormalitiesPid());
lqw.eq(bo.getFormalitiesId() != null, BusFormalitiesAreConsolidated::getFormalitiesId, bo.getFormalitiesId());
@ -191,15 +192,20 @@ public class BusFormalitiesAreConsolidatedServiceImpl extends ServiceImpl<BusFor
});
//生成父模板id的合规性手续合账数据
for (Long id : ids) {
BusListOfFormalities formalities = busListOfFormalitiesService.getById(id);
if (formalities != null) {
BusFormalitiesAreConsolidated busFormalitiesAreConsolidated = new BusFormalitiesAreConsolidated();
busFormalitiesAreConsolidated.setFormalitiesId(id);
busFormalitiesAreConsolidated.setFormalitiesName(formalities.getName());
busFormalitiesAreConsolidated.setProjectId(bo.getProjectId());
busFormalitiesAreConsolidated.setStatus(1);
busFormalitiesAreConsolidated.setCreatePTime(formalities.getCreateTime());
list.add(busFormalitiesAreConsolidated);
Long count = baseMapper.selectCount(new LambdaQueryWrapper<BusFormalitiesAreConsolidated>()
.eq(BusFormalitiesAreConsolidated::getProjectId, bo.getProjectId())
.eq(BusFormalitiesAreConsolidated::getFormalitiesId, id));
if (count == 0) {
BusListOfFormalities formalities = busListOfFormalitiesService.getById(id);
if (formalities != null) {
BusFormalitiesAreConsolidated busFormalitiesAreConsolidated = new BusFormalitiesAreConsolidated();
busFormalitiesAreConsolidated.setFormalitiesId(id);
busFormalitiesAreConsolidated.setFormalitiesName(formalities.getName());
busFormalitiesAreConsolidated.setProjectId(bo.getProjectId());
busFormalitiesAreConsolidated.setStatus(1);
busFormalitiesAreConsolidated.setCreatePTime(formalities.getCreateTime());
list.add(busFormalitiesAreConsolidated);
}
}
}

View File

@ -104,6 +104,11 @@ public class BusBillofquantitiesLimitListVo implements Serializable {
@ExcelProperty(value = "数量")
private BigDecimal quantity;
/**
* 使用数量
*/
private BigDecimal useQuantity;
/**
* 单价
*/

View File

@ -2,6 +2,7 @@ package org.dromara.tender.mapper;
import org.apache.ibatis.annotations.Param;
import org.dromara.tender.domain.BusBillofquantitiesLimitList;
import org.dromara.tender.domain.bo.BusBillofquantitiesLimitListBo;
import org.dromara.tender.domain.vo.BusBillofquantitiesLimitListVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
@ -21,4 +22,8 @@ public interface BusBillofquantitiesLimitListMapper extends BaseMapperPlus<BusBi
//批量修改允许字段为空
Boolean updateBatchByIdByNull(@Param("list") List<BusBillofquantitiesLimitList> list);
List<BusBillofquantitiesLimitListVo> selectByBo(@Param("bo") BusBillofquantitiesLimitListBo bo);
List<BusBillofquantitiesLimitListVo> selectByBoByType(@Param("bo") BusBillofquantitiesLimitListBo bo);
}

View File

@ -185,7 +185,13 @@ public class BusBillofquantitiesLimitListServiceImpl extends ServiceImpl<BusBill
@Override
public List<BusBillofquantitiesLimitListVo> getTree(BusBillofquantitiesLimitListBo bo) {
//获取所有数据
List<BusBillofquantitiesLimitListVo> listVoList = queryList(bo);
List<BusBillofquantitiesLimitListVo> listVoList = new ArrayList<>();
if (bo.getType().equals(LimitListTypeEnum.COMPANY.getCode())){
listVoList = baseMapper.selectByBoByType(bo);
}else {
listVoList = baseMapper.selectByBo(bo);
}
//过滤数量和单价为空的数据并计算总价
listVoList.stream().filter(vo -> vo.getUnitPrice() != null && vo.getUnitPrice().compareTo(BigDecimal.ZERO) != 0)
.filter(vo -> vo.getQuantity() != null && vo.getQuantity().compareTo(BigDecimal.ZERO) != 0)

View File

@ -80,4 +80,78 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from parent
ORDER BY level, sid
</select>
<select id="selectByBo" resultType="org.dromara.tender.domain.vo.BusBillofquantitiesLimitListVo">
SELECT
bbll.id as id,
bbll.project_id as projectId,
bbll.versions as versions,
bbll.sheet as sheet,
bbll.sid as sid,
bbll.pid as pid,
bbll.num as num,
bbll.name as name,
bbll.specification as specification,
bbll.unit as unit,
bbll.quantity as quantity,
bbll.unit_price as unitPrice,
bbll.remark as remark,
SUM(btpll.num) AS useQuantity
FROM
bus_billofquantities_limit_list bbll
LEFT JOIN bus_tender_planning_limit_list btpll ON bbll.id = btpll.limit_list_id
<where>
<!-- 动态添加 WHERE 条件 -->
<if test="bo.projectId != null">
AND bbll.project_id = #{bo.projectId}
</if>
<if test="bo.type != null and bo.type != ''">
AND bbll.type = #{bo.type}
</if>
<if test="bo.versions != null and bo.versions != ''">
AND bbll.versions = #{bo.versions}
</if>
<if test="bo.sheet != null and bo.sheet != ''">
AND bbll.sheet = #{bo.sheet}
</if>
</where>
GROUP BY bbll.id
ORDER BY bbll.sid ASC
</select>
<select id="selectByBoByType" resultType="org.dromara.tender.domain.vo.BusBillofquantitiesLimitListVo">
SELECT
bbll.id as id,
bbll.project_id as projectId,
bbll.versions as versions,
bbll.sheet as sheet,
bbll.sid as sid,
bbll.pid as pid,
bbll.num as num,
bbll.name as name,
bbll.specification as specification,
bbll.unit as unit,
bbll.quantity as quantity,
bbll.unit_price as unitPrice,
bbll.remark as remark,
SUM(btpll.num) AS useQuantity
FROM
bus_billofquantities_limit_list bbll
LEFT JOIN bus_indicator_planning_limit_list btpll ON bbll.id = btpll.limit_list_id
<where>
<!-- 动态添加 WHERE 条件 -->
<if test="bo.projectId != null">
AND bbll.project_id = #{bo.projectId}
</if>
<if test="bo.type != null and bo.type != ''">
AND bbll.type = #{bo.type}
</if>
<if test="bo.versions != null and bo.versions != ''">
AND bbll.versions = #{bo.versions}
</if>
<if test="bo.sheet != null and bo.sheet != ''">
AND bbll.sheet = #{bo.sheet}
</if>
</where>
GROUP BY bbll.id
ORDER BY bbll.sid ASC
</select>
</mapper>