完成库存111

This commit is contained in:
2025-08-06 15:24:56 +08:00
parent 0a0477977f
commit 3463845b13
13 changed files with 59 additions and 24 deletions

View File

@ -127,7 +127,7 @@ public class BusCailiaoshebeiController extends BaseController {
} }
/** /**
* 设计-删除物资-材料设备1 * 设计-删除物资-材料设备
* *
* @param ids 主键串 * @param ids 主键串
*/ */
@ -139,6 +139,19 @@ public class BusCailiaoshebeiController extends BaseController {
return toAjax(busCailiaoshebeiService.deleteWithValidByIds(List.of(ids), true)); 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;
}
// /** // /**
// * 导出物资-材料设备列表 // * 导出物资-材料设备列表
// */ // */

View File

@ -4,6 +4,8 @@ import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat; 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;
/** /**
* 计量单位 * 计量单位

View File

@ -41,7 +41,7 @@ public class BusSuppliesprice extends BaseEntity {
/** /**
* 数量 * 数量
*/ */
private int number; private int num;
/** /**
* 合同号 * 合同号

View File

@ -1,5 +1,6 @@
package org.dromara.cailiaoshebei.domain.bo; package org.dromara.cailiaoshebei.domain.bo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull; 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.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -36,17 +38,18 @@ public class BusCailiaoshebeiEditPlanReq extends BaseEntity {
* 计划到场时间 * 计划到场时间
*/ */
@NotNull(message = "计划到场时间", groups = { EditGroup.class }) @NotNull(message = "计划到场时间", groups = { EditGroup.class })
private Date arrivalTime; private LocalDate arrivalTime;
/** /**
* 计划完成时间 * 计划完成时间
*/ */
@NotNull(message = "计划完成时间", groups = { EditGroup.class }) @NotNull(message = "计划完成时间", groups = { EditGroup.class })
private Date finishTime; private LocalDate finishTime;
/** /**
* 物资清单列表 * 物资清单列表
*/ */
@Size(min = 1, message = "物资清单列表不能为空", groups = { EditGroup.class })
private List<BusCailiaoshebeiEditPlanDto> listOfMaterialInventory; private List<BusCailiaoshebeiEditPlanDto> listOfMaterialInventory;

View File

@ -32,13 +32,12 @@ public class BusCailiaoshebeiEditReq extends BaseEntity {
* 供货商ID (必填) * 供货商ID (必填)
*/ */
@NotNull(message = "供货商ID不能为空", groups = { AddGroup.class }) @NotNull(message = "供货商ID不能为空", groups = { AddGroup.class })
private Long supplierId; private String supplierId;
/** /**
* 供货商 (必填) * 供货商 (必填)
*/ */
@NotBlank(message = "供货商不能为空", groups = { AddGroup.class }) @NotBlank(message = "供货商不能为空", groups = { AddGroup.class })
@Size(max = 64, message = "供货商名称长度不能超过64个字符", groups = {AddGroup.class, EditGroup.class})
private String supplier; private String supplier;
/** /**

View File

@ -8,6 +8,11 @@ import java.io.Serializable;
* @Version 1.0 * @Version 1.0
*/ */
public class BusCailiaoshebeiEditPlanDto implements Serializable { public class BusCailiaoshebeiEditPlanDto implements Serializable {
/**
* 材料设备ID
*/
private Long cailiaoshebeiId;
/** /**
* 单价 * 单价
*/ */

View File

@ -8,6 +8,7 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.common.excel.convert.ExcelDictConvert;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -80,13 +81,13 @@ public class BusSuppliespriceAddPlanSonRes implements Serializable {
* 计划到场时间 * 计划到场时间
*/ */
@ExcelProperty(value = "计划到场时间") @ExcelProperty(value = "计划到场时间")
private Date arrivalTime; private LocalDate arrivalTime;
/** /**
* 计划完成时间 * 计划完成时间
*/ */
@ExcelProperty(value = "计划完成时间") @ExcelProperty(value = "计划完成时间")
private Date finishTime; private LocalDate finishTime;
/** /**
* 计量单位 * 计量单位

View File

@ -20,6 +20,7 @@ public interface BusMaterialsorderMapper extends BaseMapperPlus<BusMaterialsorde
List<GrossOutputRes> grossOutput( List<GrossOutputRes> grossOutput(
@Param("projectId") Long projectId, @Param("projectId") Long projectId,
@Param("statusArr") String[] statusArr, @Param("statusArr") String[] statusArr,
@Param("yue") String yue); @Param("startYue") String startYue,
@Param("endYue") String endYue);
} }

View File

@ -93,5 +93,5 @@ public interface IBusMaterialsorderService extends IService<BusMaterialsorder>{
* @param yue 年月查询,不必填 * @param yue 年月查询,不必填
* @return * @return
*/ */
BigDecimal grossOutput(Long projectId,String yue); BigDecimal grossOutput(Long projectId, String startYue, String endYue);
} }

View File

@ -188,7 +188,7 @@ public class BusCailiaoshebeiServiceImpl extends ServiceImpl<BusCailiaoshebeiMap
AtomicInteger num = new AtomicInteger(); AtomicInteger num = new AtomicInteger();
list.forEach( list.forEach(
busSuppliesprice -> { busSuppliesprice -> {
num.addAndGet(busSuppliesprice.getNumber()); num.addAndGet(busSuppliesprice.getNum());
} }
); );
res.setRealQuantity(num.get()); res.setRealQuantity(num.get());

View File

@ -230,19 +230,24 @@ public class BusMaterialsorderServiceImpl extends ServiceImpl<BusMaterialsorderM
} }
@Override @Override
public BigDecimal grossOutput(Long projectId, String yue) { public BigDecimal grossOutput(Long projectId, String startYue, String endYue) {
//项目id不能为空 //项目id不能为空
if (projectId == null){ if (projectId == null){
throw new RuntimeException("项目ID不能为空"); throw new RuntimeException("项目ID不能为空");
} }
//年月可以为空但是如果有值格式那么就必须是yyyy-MM //年月可以为空但是如果有值格式那么就必须是yyyy-MM
if (yue != null){ if (startYue != null){
if (!yue.matches("\\d{4}-\\d{2}")){ if (!startYue.matches("\\d{4}-\\d{2}")){
throw new RuntimeException("年月格式错误");
}
}
if (endYue != null){
if (!endYue.matches("\\d{4}-\\d{2}")){
throw new RuntimeException("年月格式错误"); throw new RuntimeException("年月格式错误");
} }
} }
final String[] arr = {"1","2","3"}; //到货的几个状态 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); BigDecimal resBigDecimal = new BigDecimal(0);
for (GrossOutputRes grossOutputRes : list) { for (GrossOutputRes grossOutputRes : list) {

View File

@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.http.HttpStatus; import cn.hutool.http.HttpStatus;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.cailiaoshebei.service.IBusMaterialsorderService;
import org.dromara.common.core.enums.BusinessStatusEnum; import org.dromara.common.core.enums.BusinessStatusEnum;
import org.dromara.common.core.enums.FormatsType; import org.dromara.common.core.enums.FormatsType;
import org.dromara.common.core.utils.DateUtils; import org.dromara.common.core.utils.DateUtils;
@ -68,6 +69,8 @@ public class OutTableController extends BaseController {
private final IOutSettlementValueOwnerService settlementValueOwnerService; private final IOutSettlementValueOwnerService settlementValueOwnerService;
private final IBusMaterialsorderService busMaterialsorderService;
/** /**
* 施工产值报表(计划 VS 实际) * 施工产值报表(计划 VS 实际)
@ -262,6 +265,7 @@ public class OutTableController extends BaseController {
vo.setProjectId(projectVoId); vo.setProjectId(projectVoId);
// BigDecimal bigDecimal = busMaterialsorderService.grossOutput(projectVoId, null);
if("1".equals(bo.getValueType())){ if("1".equals(bo.getValueType())){
//设计完工产值 //设计完工产值
BigDecimal designValue = monthPlanService.getDesignValueByProjectId(projectVoId,null); BigDecimal designValue = monthPlanService.getDesignValueByProjectId(projectVoId,null);
@ -272,17 +276,18 @@ public class OutTableController extends BaseController {
vo.setTotalCompletionOutputValue(constructionValue); vo.setTotalCompletionOutputValue(constructionValue);
}else if ("3".equals(bo.getValueType())) { }else if ("3".equals(bo.getValueType())) {
//采购完工产值 todo: 掉罗成的接口 //采购完工产值 todo: 掉罗成的接口
BigDecimal purchaseValue = BigDecimal.ZERO; // BigDecimal purchaseValue = bigDecimal;
vo.setTotalCompletionOutputValue(purchaseValue); // vo.setTotalCompletionOutputValue(purchaseValue);
}else{ }else{
//设计完工产值 //设计完工产值
BigDecimal designValue = monthPlanService.getDesignValueByProjectId(projectVoId,null); BigDecimal designValue = monthPlanService.getDesignValueByProjectId(projectVoId,null);
//施工完工产值 //施工完工产值
BigDecimal constructionValue = constructionValueService.getCompleteValue(projectVoId,null); BigDecimal constructionValue = constructionValueService.getCompleteValue(projectVoId,null);
//采购完工产值 todo: 掉罗成的接口 //采购完工产值 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()); BigDecimal constructionValue = constructionValueService.getCompleteValue(projectVoId,bo.getMonth());
//采购完工产值 todo: 掉罗成的接口 //采购完工产值 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()); BigDecimal settlementValue = settlementValueSubcontractService.getValueByProjectId(projectVoId,null,bo.getMonth());
@ -413,6 +418,7 @@ public class OutTableController extends BaseController {
}else if("2".equals(bo.getValueType())){ }else if("2".equals(bo.getValueType())){
//todo: 掉罗成的接口 //todo: 掉罗成的接口
// busMaterialsorderService.grossOutput(projectVoId,bo.getMonth())
vo.setMonthCompletionValue(BigDecimal.ZERO); vo.setMonthCompletionValue(BigDecimal.ZERO);
vo.setAccumulatedCompletionValue(BigDecimal.ZERO); vo.setAccumulatedCompletionValue(BigDecimal.ZERO);

View File

@ -21,7 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="yue != null"> <if test="endYue != null">
and DATE_FORMAT(a.actual_arrival, '%Y-%m') = #{yue} and DATE_FORMAT(a.actual_arrival, '%Y-%m') = #{yue}
</if> </if>
</where> </where>