优化
This commit is contained in:
		@ -27,16 +27,6 @@ public interface MatMaterialsInventoryMapper extends BaseMapperPlus<MatMaterials
 | 
			
		||||
     * @param materialIds 材料id列表
 | 
			
		||||
     * @return 每个材料id的最新一条数据
 | 
			
		||||
     */
 | 
			
		||||
    @Select("""
 | 
			
		||||
            SELECT *
 | 
			
		||||
            FROM (
 | 
			
		||||
                SELECT m.*,
 | 
			
		||||
                       ROW_NUMBER() OVER (PARTITION BY m.materials_id ORDER BY m.create_time DESC) AS rn
 | 
			
		||||
                FROM mat_materials_inventory m
 | 
			
		||||
                WHERE m.materials_id IN (${ids})
 | 
			
		||||
            ) t
 | 
			
		||||
            WHERE t.rn = 1
 | 
			
		||||
        """)
 | 
			
		||||
    List<MatMaterialsInventory> selectLatestByMaterialIds(@Param("ids") List<Long> materialIds);
 | 
			
		||||
    List<MatMaterialsInventory> selectLatestByMaterialIds(@Param("materialIds") List<Long> materialIds);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -257,7 +257,10 @@ public class OutTableController extends BaseController {
 | 
			
		||||
                List<BusProcurement> busProcurements = outMonthPlanService.purchaseValueA(purchaseValueAReq);
 | 
			
		||||
                BigDecimal purchaseValue = BigDecimal.ZERO;
 | 
			
		||||
                for (BusProcurement busProcurement : busProcurements) {
 | 
			
		||||
                    purchaseValue = purchaseValue.add(busProcurement.getAcceptedQuantity().multiply(busProcurement.getUnitPrice()));
 | 
			
		||||
                    if(busProcurement != null && busProcurement.getAcceptedQuantity() != null && busProcurement.getUnitPrice() != null){
 | 
			
		||||
                        purchaseValue = purchaseValue.add(busProcurement.getAcceptedQuantity().multiply(busProcurement.getUnitPrice()));
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
                vo.setTotalCompletionOutputValue(purchaseValue);
 | 
			
		||||
            }
 | 
			
		||||
@ -326,7 +329,10 @@ public class OutTableController extends BaseController {
 | 
			
		||||
            List<BusProcurement> busProcurements = outMonthPlanService.purchaseValueA(purchaseValueAReq);
 | 
			
		||||
            BigDecimal purchaseValue = BigDecimal.ZERO;
 | 
			
		||||
            for (BusProcurement busProcurement : busProcurements) {
 | 
			
		||||
                purchaseValue = purchaseValue.add(busProcurement.getAcceptedQuantity().multiply(busProcurement.getUnitPrice()));
 | 
			
		||||
                if(busProcurement != null && busProcurement.getAcceptedQuantity() != null && busProcurement.getUnitPrice() != null){
 | 
			
		||||
                    purchaseValue = purchaseValue.add(busProcurement.getAcceptedQuantity().multiply(busProcurement.getUnitPrice()));
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
            vo.setTotalCompletionOutputValue( designValue.add(constructionValue).add(purchaseValue));
 | 
			
		||||
 | 
			
		||||
@ -431,7 +437,10 @@ public class OutTableController extends BaseController {
 | 
			
		||||
                List<BusProcurement> busProcurements = outMonthPlanService.purchaseValueA(purchaseValueAReq);
 | 
			
		||||
                BigDecimal accumulatedCompletionValue = BigDecimal.ZERO;
 | 
			
		||||
                for (BusProcurement busProcurement : busProcurements) {
 | 
			
		||||
                    accumulatedCompletionValue = accumulatedCompletionValue.add(busProcurement.getAcceptedQuantity().multiply(busProcurement.getUnitPrice()));
 | 
			
		||||
                    if(busProcurement != null && busProcurement.getAcceptedQuantity() != null && busProcurement.getUnitPrice() != null){
 | 
			
		||||
                        accumulatedCompletionValue = accumulatedCompletionValue.add(busProcurement.getAcceptedQuantity().multiply(busProcurement.getUnitPrice()));
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
                vo.setAccumulatedCompletionValue(accumulatedCompletionValue);
 | 
			
		||||
 | 
			
		||||
@ -536,7 +545,10 @@ public class OutTableController extends BaseController {
 | 
			
		||||
            List<BusProcurement> busProcurements = outMonthPlanService.purchaseValueA(purchaseValueAReq);
 | 
			
		||||
            BigDecimal purchaseValue = BigDecimal.ZERO;
 | 
			
		||||
            for (BusProcurement busProcurement : busProcurements) {
 | 
			
		||||
                purchaseValue = purchaseValue.add(busProcurement.getAcceptedQuantity().multiply(busProcurement.getUnitPrice()));
 | 
			
		||||
                if(busProcurement != null && busProcurement.getAcceptedQuantity() != null && busProcurement.getUnitPrice() != null){
 | 
			
		||||
                    purchaseValue = purchaseValue.add(busProcurement.getAcceptedQuantity().multiply(busProcurement.getUnitPrice()));
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
            vo.setOwnerActualTotal( designValue.add(constructionValue).add(purchaseValue).divide(parseUnit));
 | 
			
		||||
 | 
			
		||||
@ -549,7 +561,10 @@ public class OutTableController extends BaseController {
 | 
			
		||||
            List<BusProcurement> busProcurements1 = outMonthPlanService.purchaseValueA(purchaseValueAReq);
 | 
			
		||||
            BigDecimal subPurchaseValue = BigDecimal.ZERO;
 | 
			
		||||
            for (BusProcurement busProcurement : busProcurements1) {
 | 
			
		||||
                subPurchaseValue = subPurchaseValue.add(busProcurement.getAcceptedQuantity().multiply(busProcurement.getUnitPrice()));
 | 
			
		||||
                if(busProcurement != null && busProcurement.getAcceptedQuantity() != null && busProcurement.getUnitPrice() != null){
 | 
			
		||||
                    subPurchaseValue = subPurchaseValue.add(busProcurement.getAcceptedQuantity().multiply(busProcurement.getUnitPrice()));
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
            vo.setSubActualTotal( subDesignValue.add(subConstructionValue).add(subPurchaseValue).divide(parseUnit));
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,21 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" ?>
 | 
			
		||||
<!DOCTYPE mapper
 | 
			
		||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 | 
			
		||||
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 | 
			
		||||
<mapper namespace="org.dromara.materials.mapper.MatMaterialsInventoryMapper">
 | 
			
		||||
 | 
			
		||||
    <select id="selectLatestByMaterialIds" resultType="org.dromara.materials.domain.MatMaterialsInventory">
 | 
			
		||||
        SELECT *
 | 
			
		||||
        FROM (
 | 
			
		||||
        SELECT m.*,
 | 
			
		||||
        ROW_NUMBER() OVER (PARTITION BY m.materials_id ORDER BY m.create_time DESC) AS rn
 | 
			
		||||
        FROM mat_materials_inventory m
 | 
			
		||||
        WHERE m.materials_id IN
 | 
			
		||||
        <foreach collection="materialIds" item="id" open="(" separator="," close=")">
 | 
			
		||||
            #{id}
 | 
			
		||||
        </foreach>
 | 
			
		||||
        ) t
 | 
			
		||||
        WHERE t.rn = 1
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
</mapper>
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user