完成库存111
This commit is contained in:
		@ -127,7 +127,7 @@ public class BusCailiaoshebeiController extends BaseController {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 设计-删除物资-材料设备1
 | 
			
		||||
     * 设计-删除物资-材料设备
 | 
			
		||||
     *
 | 
			
		||||
     * @param ids 主键串
 | 
			
		||||
     */
 | 
			
		||||
@ -139,6 +139,19 @@ public class BusCailiaoshebeiController extends BaseController {
 | 
			
		||||
        return toAjax(busCailiaoshebeiService.deleteWithValidByIds(List.of(ids), true));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 设计-提交审批按钮
 | 
			
		||||
     *
 | 
			
		||||
     */
 | 
			
		||||
    @SaCheckPermission("cailiaoshebei:cailiaoshebei:SubmitForApprovalButton")
 | 
			
		||||
    @Log(title = "设计-提交审批按钮", businessType = BusinessType.DELETE)
 | 
			
		||||
    @PostMapping("/SubmitForApprovalButton")
 | 
			
		||||
    public R<Void> submitForApprovalButton() {
 | 
			
		||||
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    //    /**
 | 
			
		||||
//     * 导出物资-材料设备列表
 | 
			
		||||
//     */
 | 
			
		||||
 | 
			
		||||
@ -4,6 +4,8 @@ import org.dromara.common.mybatis.core.domain.BaseEntity;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.*;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.EqualsAndHashCode;
 | 
			
		||||
 | 
			
		||||
import java.time.LocalDate;
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
import com.fasterxml.jackson.annotation.JsonFormat;
 | 
			
		||||
 | 
			
		||||
@ -77,12 +79,12 @@ public class BusCailiaoshebei extends BaseEntity {
 | 
			
		||||
    /**
 | 
			
		||||
     * 计划到场时间
 | 
			
		||||
     */
 | 
			
		||||
    private Date arrivalTime;
 | 
			
		||||
    private LocalDate arrivalTime;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 计划完成时间
 | 
			
		||||
     */
 | 
			
		||||
    private Date finishTime;
 | 
			
		||||
    private LocalDate finishTime;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 计量单位
 | 
			
		||||
 | 
			
		||||
@ -41,7 +41,7 @@ public class BusSuppliesprice extends BaseEntity {
 | 
			
		||||
    /**
 | 
			
		||||
     * 数量
 | 
			
		||||
     */
 | 
			
		||||
    private int number;
 | 
			
		||||
    private int num;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 合同号
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,6 @@
 | 
			
		||||
package org.dromara.cailiaoshebei.domain.bo;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.annotation.JsonFormat;
 | 
			
		||||
import io.github.linpeilie.annotations.AutoMapper;
 | 
			
		||||
import jakarta.validation.constraints.NotBlank;
 | 
			
		||||
import jakarta.validation.constraints.NotNull;
 | 
			
		||||
@ -13,6 +14,7 @@ import org.dromara.common.core.validate.AddGroup;
 | 
			
		||||
import org.dromara.common.core.validate.EditGroup;
 | 
			
		||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
 | 
			
		||||
 | 
			
		||||
import java.time.LocalDate;
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
@ -36,17 +38,18 @@ public class BusCailiaoshebeiEditPlanReq extends BaseEntity {
 | 
			
		||||
     * 计划到场时间
 | 
			
		||||
     */
 | 
			
		||||
    @NotNull(message = "计划到场时间", groups = { EditGroup.class })
 | 
			
		||||
    private Date arrivalTime;
 | 
			
		||||
    private LocalDate arrivalTime;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 计划完成时间
 | 
			
		||||
     */
 | 
			
		||||
    @NotNull(message = "计划完成时间", groups = { EditGroup.class })
 | 
			
		||||
    private Date finishTime;
 | 
			
		||||
    private LocalDate finishTime;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 物资清单列表
 | 
			
		||||
     */
 | 
			
		||||
    @Size(min = 1, message = "物资清单列表不能为空", groups = { EditGroup.class })
 | 
			
		||||
    private List<BusCailiaoshebeiEditPlanDto> listOfMaterialInventory;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -32,13 +32,12 @@ public class BusCailiaoshebeiEditReq extends BaseEntity {
 | 
			
		||||
     * 供货商ID (必填)
 | 
			
		||||
     */
 | 
			
		||||
    @NotNull(message = "供货商ID不能为空", groups = { AddGroup.class })
 | 
			
		||||
    private Long supplierId;
 | 
			
		||||
    private String supplierId;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 供货商 (必填)
 | 
			
		||||
     */
 | 
			
		||||
    @NotBlank(message = "供货商不能为空", groups = { AddGroup.class })
 | 
			
		||||
    @Size(max = 64, message = "供货商名称长度不能超过64个字符", groups = {AddGroup.class, EditGroup.class})
 | 
			
		||||
    private String supplier;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,11 @@ import java.io.Serializable;
 | 
			
		||||
 * @Version 1.0
 | 
			
		||||
 */
 | 
			
		||||
public class BusCailiaoshebeiEditPlanDto implements Serializable {
 | 
			
		||||
    /**
 | 
			
		||||
     * 材料设备ID
 | 
			
		||||
     */
 | 
			
		||||
    private Long cailiaoshebeiId;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 单价
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,7 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
 | 
			
		||||
import org.dromara.common.excel.convert.ExcelDictConvert;
 | 
			
		||||
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
import java.time.LocalDate;
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
@ -80,13 +81,13 @@ public class BusSuppliespriceAddPlanSonRes implements Serializable {
 | 
			
		||||
     * 计划到场时间
 | 
			
		||||
     */
 | 
			
		||||
    @ExcelProperty(value = "计划到场时间")
 | 
			
		||||
    private Date arrivalTime;
 | 
			
		||||
    private LocalDate arrivalTime;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 计划完成时间
 | 
			
		||||
     */
 | 
			
		||||
    @ExcelProperty(value = "计划完成时间")
 | 
			
		||||
    private Date finishTime;
 | 
			
		||||
    private LocalDate finishTime;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 计量单位
 | 
			
		||||
 | 
			
		||||
@ -20,6 +20,7 @@ public interface BusMaterialsorderMapper extends BaseMapperPlus<BusMaterialsorde
 | 
			
		||||
    List<GrossOutputRes> grossOutput(
 | 
			
		||||
        @Param("projectId") Long projectId,
 | 
			
		||||
        @Param("statusArr") String[] statusArr,
 | 
			
		||||
        @Param("yue") String yue);
 | 
			
		||||
        @Param("startYue") String startYue,
 | 
			
		||||
        @Param("endYue") String endYue);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -93,5 +93,5 @@ public interface IBusMaterialsorderService extends IService<BusMaterialsorder>{
 | 
			
		||||
     * @param yue 年月查询,不必填
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    BigDecimal grossOutput(Long projectId,String yue);
 | 
			
		||||
    BigDecimal grossOutput(Long projectId, String startYue, String endYue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -188,7 +188,7 @@ public class BusCailiaoshebeiServiceImpl extends ServiceImpl<BusCailiaoshebeiMap
 | 
			
		||||
        AtomicInteger num = new AtomicInteger();
 | 
			
		||||
        list.forEach(
 | 
			
		||||
            busSuppliesprice -> {
 | 
			
		||||
                num.addAndGet(busSuppliesprice.getNumber());
 | 
			
		||||
                num.addAndGet(busSuppliesprice.getNum());
 | 
			
		||||
            }
 | 
			
		||||
        );
 | 
			
		||||
        res.setRealQuantity(num.get());
 | 
			
		||||
 | 
			
		||||
@ -230,19 +230,24 @@ public class BusMaterialsorderServiceImpl extends ServiceImpl<BusMaterialsorderM
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public BigDecimal grossOutput(Long projectId, String yue) {
 | 
			
		||||
    public BigDecimal grossOutput(Long projectId, String startYue, String endYue) {
 | 
			
		||||
        //项目id不能为空
 | 
			
		||||
        if (projectId == null){
 | 
			
		||||
            throw new RuntimeException("项目ID不能为空");
 | 
			
		||||
        }
 | 
			
		||||
        //年月可以为空,但是如果有值格式那么就必须是yyyy-MM
 | 
			
		||||
        if (yue != null){
 | 
			
		||||
            if (!yue.matches("\\d{4}-\\d{2}")){
 | 
			
		||||
        if (startYue != null){
 | 
			
		||||
            if (!startYue.matches("\\d{4}-\\d{2}")){
 | 
			
		||||
                throw new RuntimeException("年月格式错误");
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        if (endYue != null){
 | 
			
		||||
            if (!endYue.matches("\\d{4}-\\d{2}")){
 | 
			
		||||
                throw new RuntimeException("年月格式错误");
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        final String[] arr = {"1","2","3"}; //到货的几个状态
 | 
			
		||||
        List<GrossOutputRes> list = baseMapper.grossOutput(projectId, arr, yue);
 | 
			
		||||
        List<GrossOutputRes> list = baseMapper.grossOutput(projectId, arr, startYue,endYue);
 | 
			
		||||
        //计算出所有的订单数量
 | 
			
		||||
        BigDecimal resBigDecimal = new BigDecimal(0);
 | 
			
		||||
        for (GrossOutputRes grossOutputRes : list) {
 | 
			
		||||
 | 
			
		||||
@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
 | 
			
		||||
import cn.hutool.http.HttpStatus;
 | 
			
		||||
import jakarta.validation.constraints.NotNull;
 | 
			
		||||
import lombok.RequiredArgsConstructor;
 | 
			
		||||
import org.dromara.cailiaoshebei.service.IBusMaterialsorderService;
 | 
			
		||||
import org.dromara.common.core.enums.BusinessStatusEnum;
 | 
			
		||||
import org.dromara.common.core.enums.FormatsType;
 | 
			
		||||
import org.dromara.common.core.utils.DateUtils;
 | 
			
		||||
@ -68,6 +69,8 @@ public class OutTableController extends BaseController {
 | 
			
		||||
 | 
			
		||||
    private final IOutSettlementValueOwnerService settlementValueOwnerService;
 | 
			
		||||
 | 
			
		||||
    private final IBusMaterialsorderService busMaterialsorderService;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 施工产值报表(计划 VS 实际)
 | 
			
		||||
@ -262,6 +265,7 @@ public class OutTableController extends BaseController {
 | 
			
		||||
 | 
			
		||||
            vo.setProjectId(projectVoId);
 | 
			
		||||
 | 
			
		||||
//            BigDecimal bigDecimal = busMaterialsorderService.grossOutput(projectVoId, null);
 | 
			
		||||
            if("1".equals(bo.getValueType())){
 | 
			
		||||
                //设计完工产值
 | 
			
		||||
                BigDecimal designValue = monthPlanService.getDesignValueByProjectId(projectVoId,null);
 | 
			
		||||
@ -272,17 +276,18 @@ public class OutTableController extends BaseController {
 | 
			
		||||
                vo.setTotalCompletionOutputValue(constructionValue);
 | 
			
		||||
            }else if ("3".equals(bo.getValueType())) {
 | 
			
		||||
                //采购完工产值 todo: 掉罗成的接口
 | 
			
		||||
                BigDecimal purchaseValue = BigDecimal.ZERO;
 | 
			
		||||
                vo.setTotalCompletionOutputValue(purchaseValue);
 | 
			
		||||
//                BigDecimal purchaseValue = bigDecimal;
 | 
			
		||||
//                vo.setTotalCompletionOutputValue(purchaseValue);
 | 
			
		||||
            }else{
 | 
			
		||||
                //设计完工产值
 | 
			
		||||
                BigDecimal designValue = monthPlanService.getDesignValueByProjectId(projectVoId,null);
 | 
			
		||||
                //施工完工产值
 | 
			
		||||
                BigDecimal constructionValue = constructionValueService.getCompleteValue(projectVoId,null);
 | 
			
		||||
                //采购完工产值 todo: 掉罗成的接口
 | 
			
		||||
                BigDecimal purchaseValue = BigDecimal.ZERO;
 | 
			
		||||
 | 
			
		||||
                vo.setTotalCompletionOutputValue( designValue.add(constructionValue).add(purchaseValue));
 | 
			
		||||
//                BigDecimal purchaseValue = bigDecimal;
 | 
			
		||||
 | 
			
		||||
//                vo.setTotalCompletionOutputValue( designValue.add(constructionValue).add(purchaseValue));
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -331,9 +336,9 @@ public class OutTableController extends BaseController {
 | 
			
		||||
            //施工完工产值
 | 
			
		||||
            BigDecimal constructionValue = constructionValueService.getCompleteValue(projectVoId,bo.getMonth());
 | 
			
		||||
            //采购完工产值 todo: 掉罗成的接口
 | 
			
		||||
            BigDecimal purchaseValue = BigDecimal.ZERO;
 | 
			
		||||
//            BigDecimal purchaseValue = busMaterialsorderService.grossOutput(projectVoId,bo.getMonth());
 | 
			
		||||
 | 
			
		||||
            vo.setTotalCompletionOutputValue( designValue.add(constructionValue).add(purchaseValue));
 | 
			
		||||
//            vo.setTotalCompletionOutputValue( designValue.add(constructionValue).add(purchaseValue));
 | 
			
		||||
 | 
			
		||||
            //分包结算产值
 | 
			
		||||
            BigDecimal settlementValue = settlementValueSubcontractService.getValueByProjectId(projectVoId,null,bo.getMonth());
 | 
			
		||||
@ -413,6 +418,7 @@ public class OutTableController extends BaseController {
 | 
			
		||||
 | 
			
		||||
            }else if("2".equals(bo.getValueType())){
 | 
			
		||||
                //todo: 掉罗成的接口
 | 
			
		||||
//                busMaterialsorderService.grossOutput(projectVoId,bo.getMonth())
 | 
			
		||||
                vo.setMonthCompletionValue(BigDecimal.ZERO);
 | 
			
		||||
                vo.setAccumulatedCompletionValue(BigDecimal.ZERO);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -21,7 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
                #{item}
 | 
			
		||||
            </foreach>
 | 
			
		||||
        </if>
 | 
			
		||||
        <if test="yue != null">
 | 
			
		||||
        <if test="endYue != null">
 | 
			
		||||
            and DATE_FORMAT(a.actual_arrival, '%Y-%m') = #{yue}
 | 
			
		||||
        </if>
 | 
			
		||||
        </where>
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user