成本管理-sjx

liweidong
sunjianxi 1 day ago
parent e1ce52c7f0
commit 36754dc5c1
  1. 7
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/cost/pojo/entity/SubjectFeeDetailEntity.java
  2. 1
      blade-service/blade-desk/src/main/java/org/springblade/desk/cost/controller/CostCalculationGoodsController.java
  3. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/cost/excel/CostCalculationGoodsExcel.java
  4. 11
      blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/impl/CostStatisticsServiceImpl.java
  5. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/impl/SubjectFeeServiceImpl.java

@ -61,6 +61,13 @@ public class SubjectFeeDetailEntity extends BaseEntity {
*/
@Schema(description = "作业中心id")
private Long workCenterId;
/**
* 作业中心名称
*/
@Schema(description = "作业中心编码")
private String workCenterCode;
/**
* 作业中心名称
*/

@ -204,6 +204,7 @@ public class CostCalculationGoodsController extends BladeController {
}
CostCalculationGoodsEntity entity = new CostCalculationGoodsEntity();
BeanUtils.copyProperties(goodsExcel,entity);
entity.setGoodsName(goods.getGoodsName());
entity.setCreateUserName(UserCache.getUser(Long.valueOf(AuthUtil.getUserId())).getRealName());
entity.setUpdateUserName(UserCache.getUser(Long.valueOf(AuthUtil.getUserId())).getRealName());
list.add(entity);

@ -58,12 +58,6 @@ public class CostCalculationGoodsExcel implements Serializable {
@ColumnWidth(20)
@ExcelProperty("物料编码")
private String goodsCode;
/**
* 物料名称
*/
@ColumnWidth(20)
@ExcelProperty("物料名称")
private String goodsName;
}

@ -107,10 +107,13 @@ public class CostStatisticsServiceImpl extends BaseServiceImpl<CostStatisticsMap
List<WorkCenter> workCenterList = workCenterService.list();
//获取总的辅助人员材料费用(剔除成本计算维护的物料)
BigDecimal assistantMaterialCostSum = baseMapper.getAssistantMaterialCost(month);
//获取所有费用科目
List<SubjectFeeEntity> subjectFeeList = subjectFeeService.list(Wrappers.<SubjectFeeEntity>lambdaQuery()
.ne(SubjectFeeEntity::getSubjectName,"辅助人员材料费用"));
//辅助人员科目
for(WorkCenter workCenter : workCenterList){
//制造费用
BigDecimal productCost = getProductCost(workCenter,month);
BigDecimal productCost = getProductCost(subjectFeeList,workCenter,month);
//作业中心材料费用(剔除成本计算维护的物料)
BigDecimal workCenterMaterialCost = baseMapper.getWorkCenterMaterialCost(workCenter.getId(),month);
//作业中心辅助人员材料费用比例
@ -187,12 +190,10 @@ public class CostStatisticsServiceImpl extends BaseServiceImpl<CostStatisticsMap
}
public BigDecimal getProductCost(WorkCenter workCenter, String month){
public BigDecimal getProductCost(List<SubjectFeeEntity> subjectFeeList,WorkCenter workCenter, String month){
//【制造费用】=科目费用中除【辅助人员材料费用】外各作业中心的所有费用的总和
BigDecimal productCost = BigDecimal.ZERO;
List<SubjectFeeEntity> subjectFeeList = subjectFeeService.list(Wrappers.<SubjectFeeEntity>lambdaQuery()
.eq(SubjectFeeEntity::getMonth,month)
.ne(SubjectFeeEntity::getSubjectName,"辅助人员材料费用"));
if(CollectionUtils.isNotEmpty(subjectFeeList)){
List<Long> subjectFeeIdList = subjectFeeList.stream().map(BaseEntity::getId).collect(Collectors.toList());
List<SubjectFeeDetailEntity> subjectFeeDetailList = subjectFeeDetailService.list(Wrappers.<SubjectFeeDetailEntity>lambdaQuery()

@ -93,7 +93,7 @@ public class SubjectFeeServiceImpl extends BaseServiceImpl<SubjectFeeMapper, Sub
BeanUtils.copyProperties(subjectFee,subjectFeeVO);
List<SubjectFeeDetailEntity> detailList = subjectFeeDetailService.list(Wrappers.<SubjectFeeDetailEntity>lambdaQuery()
.eq(SubjectFeeDetailEntity::getParentId,subjectFee.getId())
.eq(SubjectFeeDetailEntity::getMonth,subjectFee.getMonth()));
.eq(SubjectFeeDetailEntity::getMonth,subjectFee.getMonth()).orderByAsc(SubjectFeeDetailEntity::getWorkCenterCode));
if(CollectionUtils.isNotEmpty(detailList)){
double totalFee = 0.0;
boolean isRate = false;

Loading…
Cancel
Save