Browse Source

20240106

java8
qiezi 1 year ago
parent
commit
2418fbe115
  1. 31
      src/main/java/com/xujie/sys/modules/quote/controller/QuoteDetailCalculationController.java
  2. 42
      src/main/java/com/xujie/sys/modules/quote/entity/QuoteBaseCalculation.java
  3. 78
      src/main/java/com/xujie/sys/modules/quote/entity/QuoteDetailCalculation.java
  4. 9
      src/main/java/com/xujie/sys/modules/quote/mapper/QuoteBaseCalculationMapper.java
  5. 11
      src/main/java/com/xujie/sys/modules/quote/mapper/QuoteDetailCalculationMapper.java
  6. 7
      src/main/java/com/xujie/sys/modules/quote/service/QuoteBaseCalculationService.java
  7. 17
      src/main/java/com/xujie/sys/modules/quote/service/QuoteDetailCalculationService.java
  8. 12
      src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteBaseCalculationServiceImpl.java
  9. 76
      src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteDetailCalculationServiceImpl.java
  10. 9
      src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteDetailServiceImpl.java

31
src/main/java/com/xujie/sys/modules/quote/controller/QuoteDetailCalculationController.java

@ -0,0 +1,31 @@
package com.xujie.sys.modules.quote.controller;
import com.xujie.sys.common.utils.R;
import com.xujie.sys.modules.quote.entity.QuoteDetailCalculation;
import com.xujie.sys.modules.quote.service.QuoteDetailCalculationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/quote/detail/calculation")
public class QuoteDetailCalculationController {
@Autowired
private QuoteDetailCalculationService quoteDetailCalculationService;
@PostMapping
public R queryQuoteDetailCalculation(@RequestBody QuoteDetailCalculation quoteDetailCalculation) {
QuoteDetailCalculation calculation = quoteDetailCalculationService.queryQuoteDetailCalculation(quoteDetailCalculation);
return R.ok().put("row",calculation);
}
@PostMapping("/update")
public R updateQuoteDetailCalculation(@RequestBody QuoteDetailCalculation quoteDetailCalculation) {
quoteDetailCalculationService.updateQuoteDetailCalculation(quoteDetailCalculation);
return R.ok("操作成功");
}
}

42
src/main/java/com/xujie/sys/modules/quote/entity/QuoteBaseCalculation.java

@ -0,0 +1,42 @@
package com.xujie.sys.modules.quote.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.math.BigDecimal;
@TableName("plm_quote_base_calculation")
@Data
public class QuoteBaseCalculation {
private Integer id;
private BigDecimal laborBackendRate;
private BigDecimal machBackendRate;
private BigDecimal manuBackendRate;
private BigDecimal laborParisRate;
private BigDecimal machParisRate;
private BigDecimal manuParisRate;
private BigDecimal laborPrintRate;
private BigDecimal machPrintRate;
private BigDecimal manuPrintRate;
private BigDecimal laborFrontRate;
private BigDecimal machFrontRate;
private BigDecimal manuFrontRate;
private BigDecimal convertingRate;
}

78
src/main/java/com/xujie/sys/modules/quote/entity/QuoteDetailCalculation.java

@ -0,0 +1,78 @@
package com.xujie.sys.modules.quote.entity;
import java.math.BigDecimal;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* (PlmQuoteDetailCalculation)实体类
*
* @author makejava
* @since 2025-01-06 13:07:20
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("plm_quote_detail_calculation")
public class QuoteDetailCalculation implements Serializable {
private static final long serialVersionUID = -23820257744465822L;
@TableId
private Long id;
private Long quoteId;
private Long quoteDetailId;
private Integer quoteDetailItemNo;
private String site;
private String buNo;
private String quoteNo;
private String versionNo;
/**
* 人工后道费率
*/
private BigDecimal laborBackendRate;
/**
* 机器后道费率
*/
private BigDecimal machBackendRate;
/**
* 制造后道费率
*/
private BigDecimal manuBackendRate;
private BigDecimal laborParisRate;
private BigDecimal machParisRate;
private BigDecimal manuParisRate;
private BigDecimal laborPrintRate;
private BigDecimal machPrintRate;
private BigDecimal manuPrintRate;
private BigDecimal laborFrontRate;
private BigDecimal machFrontRate;
private BigDecimal manuFrontRate;
private BigDecimal convertingRate;
}

9
src/main/java/com/xujie/sys/modules/quote/mapper/QuoteBaseCalculationMapper.java

@ -0,0 +1,9 @@
package com.xujie.sys.modules.quote.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xujie.sys.modules.quote.entity.QuoteBaseCalculation;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface QuoteBaseCalculationMapper extends BaseMapper<QuoteBaseCalculation> {
}

11
src/main/java/com/xujie/sys/modules/quote/mapper/QuoteDetailCalculationMapper.java

@ -0,0 +1,11 @@
package com.xujie.sys.modules.quote.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xujie.sys.modules.quote.entity.QuoteDetailCalculation;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface QuoteDetailCalculationMapper extends BaseMapper<QuoteDetailCalculation> {
}

7
src/main/java/com/xujie/sys/modules/quote/service/QuoteBaseCalculationService.java

@ -0,0 +1,7 @@
package com.xujie.sys.modules.quote.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xujie.sys.modules.quote.entity.QuoteBaseCalculation;
public interface QuoteBaseCalculationService extends IService<QuoteBaseCalculation> {
}

17
src/main/java/com/xujie/sys/modules/quote/service/QuoteDetailCalculationService.java

@ -0,0 +1,17 @@
package com.xujie.sys.modules.quote.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xujie.sys.modules.quote.entity.QuoteDetail;
import com.xujie.sys.modules.quote.entity.QuoteDetailCalculation;
public interface QuoteDetailCalculationService extends IService<QuoteDetailCalculation> {
void initQuoteDetailCalculation(QuoteDetail quoteDetail);
void againQuoteDetailCalculation(QuoteDetail quoteDetail, Long detailId);
void updateQuoteDetailCalculation(QuoteDetailCalculation calculation);
QuoteDetailCalculation queryQuoteDetailCalculation(QuoteDetailCalculation quoteDetailCalculation);
}

12
src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteBaseCalculationServiceImpl.java

@ -0,0 +1,12 @@
package com.xujie.sys.modules.quote.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xujie.sys.modules.quote.entity.QuoteBaseCalculation;
import com.xujie.sys.modules.quote.mapper.QuoteBaseCalculationMapper;
import com.xujie.sys.modules.quote.service.QuoteBaseCalculationService;
import org.springframework.stereotype.Service;
@Service
public class QuoteBaseCalculationServiceImpl extends ServiceImpl<QuoteBaseCalculationMapper, QuoteBaseCalculation> implements QuoteBaseCalculationService {
}

76
src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteDetailCalculationServiceImpl.java

@ -0,0 +1,76 @@
package com.xujie.sys.modules.quote.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xujie.sys.modules.quote.entity.QuoteBaseCalculation;
import com.xujie.sys.modules.quote.entity.QuoteDetail;
import com.xujie.sys.modules.quote.entity.QuoteDetailCalculation;
import com.xujie.sys.modules.quote.entity.QuoteDetailTool;
import com.xujie.sys.modules.quote.mapper.QuoteDetailCalculationMapper;
import com.xujie.sys.modules.quote.service.QuoteBaseCalculationService;
import com.xujie.sys.modules.quote.service.QuoteDetailCalculationService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class QuoteDetailCalculationServiceImpl extends ServiceImpl<QuoteDetailCalculationMapper, QuoteDetailCalculation> implements QuoteDetailCalculationService {
@Autowired
private QuoteBaseCalculationService quoteBaseCalculationService;
@Override
public void initQuoteDetailCalculation(QuoteDetail quoteDetail) {
QuoteBaseCalculation baseCalculation = quoteBaseCalculationService.getById(1);
QuoteDetailCalculation calculation = new QuoteDetailCalculation();
// 复制属性
BeanUtils.copyProperties(baseCalculation,calculation);
// 将ID设置为Null
calculation.setId(null);
// 外键信息
calculation.setQuoteId(quoteDetail.getQuoteId());
calculation.setQuoteDetailId(quoteDetail.getId());
calculation.setQuoteDetailItemNo(quoteDetail.getItemNo());
calculation.setSite(quoteDetail.getSite());
calculation.setBuNo(quoteDetail.getBuNo());
calculation.setQuoteNo(quoteDetail.getQuoteNo());
calculation.setVersionNo(quoteDetail.getVersionNo());
// 新增操作
save(calculation);
}
@Override
public void againQuoteDetailCalculation(QuoteDetail quoteDetail, Long detailId) {
List<QuoteDetailCalculation> list = lambdaQuery().eq(QuoteDetailCalculation::getQuoteDetailId, detailId).list();
for (QuoteDetailCalculation calculation : list) {
calculation.setQuoteId(quoteDetail.getQuoteId());
calculation.setQuoteDetailId(quoteDetail.getId());
calculation.setQuoteNo(quoteDetail.getQuoteNo());
calculation.setVersionNo(quoteDetail.getVersionNo());
calculation.setQuoteDetailItemNo(quoteDetail.getItemNo());
calculation.setId(null);
save(calculation);
}
}
@Override
public void updateQuoteDetailCalculation(QuoteDetailCalculation calculation) {
QuoteBaseCalculation baseCalculation = new QuoteBaseCalculation();
BeanUtils.copyProperties(calculation,baseCalculation);
updateById(calculation);
baseCalculation.setId(1);
quoteBaseCalculationService.updateById(baseCalculation);
}
@Override
public QuoteDetailCalculation queryQuoteDetailCalculation(QuoteDetailCalculation quoteDetailCalculation) {
return lambdaQuery()
.eq(QuoteDetailCalculation::getQuoteDetailId,quoteDetailCalculation.getQuoteDetailId())
.one();
}
}

9
src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteDetailServiceImpl.java

@ -31,6 +31,8 @@ public class QuoteDetailServiceImpl extends ServiceImpl<QuoteDetailMapper, Quote
private QuoteDetailBomService quoteDetailBomService; private QuoteDetailBomService quoteDetailBomService;
@Autowired @Autowired
private QuoteDetailRoutingService quoteDetailRoutingService; private QuoteDetailRoutingService quoteDetailRoutingService;
@Autowired
private QuoteDetailCalculationService quoteDetailCalculationService;
@Override @Override
public IPage<QuoteDetail> queryQuoteDetailByPage(int no, int size, QuoteDetail quoteDetail) { public IPage<QuoteDetail> queryQuoteDetailByPage(int no, int size, QuoteDetail quoteDetail) {
@ -72,6 +74,8 @@ public class QuoteDetailServiceImpl extends ServiceImpl<QuoteDetailMapper, Quote
save(quoteDetail); save(quoteDetail);
// 4初始化属性 // 4初始化属性
quoteDetailAttributeService.initQuoteDetailAttribute(quoteDetail); quoteDetailAttributeService.initQuoteDetailAttribute(quoteDetail);
// 初始化 计算参数
quoteDetailCalculationService.initQuoteDetailCalculation(quoteDetail);
// 5初始化BOM结构和BOM/ROuting信息 // 5初始化BOM结构和BOM/ROuting信息
quoteDetailBomTreeService.initQuoteDetailBomTree(quoteDetail, 0L, 0); quoteDetailBomTreeService.initQuoteDetailBomTree(quoteDetail, 0L, 0);
return quoteDetail; return quoteDetail;
@ -89,6 +93,7 @@ public class QuoteDetailServiceImpl extends ServiceImpl<QuoteDetailMapper, Quote
quoteDetailBomTreeService.lambdaUpdate().eq(QuoteDetailBomTree::getQuoteDetailId, id).remove(); quoteDetailBomTreeService.lambdaUpdate().eq(QuoteDetailBomTree::getQuoteDetailId, id).remove();
quoteDetailBomService.lambdaUpdate().eq(QuoteDetailBom::getQuoteDetailId, id).remove(); quoteDetailBomService.lambdaUpdate().eq(QuoteDetailBom::getQuoteDetailId, id).remove();
quoteDetailRoutingService.lambdaUpdate().eq(QuoteDetailRouting::getQuoteDetailId, id).remove(); quoteDetailRoutingService.lambdaUpdate().eq(QuoteDetailRouting::getQuoteDetailId, id).remove();
quoteDetailCalculationService.lambdaUpdate().eq(QuoteDetailCalculation::getQuoteDetailId,id).remove();
removeById(id); removeById(id);
} }
@ -109,6 +114,8 @@ public class QuoteDetailServiceImpl extends ServiceImpl<QuoteDetailMapper, Quote
quoteDetailBomService.lambdaUpdate().eq(QuoteDetailBom::getQuoteId, quote.getId()).remove(); quoteDetailBomService.lambdaUpdate().eq(QuoteDetailBom::getQuoteId, quote.getId()).remove();
// Routing信息 // Routing信息
quoteDetailRoutingService.lambdaUpdate().eq(QuoteDetailRouting::getQuoteId, quote.getId()).remove(); quoteDetailRoutingService.lambdaUpdate().eq(QuoteDetailRouting::getQuoteId, quote.getId()).remove();
// 计算数据
quoteDetailCalculationService.lambdaUpdate().eq(QuoteDetailCalculation::getQuoteId,quote.getId()).remove();
lambdaUpdate().eq(QuoteDetail::getQuoteId, quote.getId()).remove(); lambdaUpdate().eq(QuoteDetail::getQuoteId, quote.getId()).remove();
} }
@ -501,6 +508,8 @@ public class QuoteDetailServiceImpl extends ServiceImpl<QuoteDetailMapper, Quote
quoteDetailToolService.againQuoteDetailTool(quoteDetail, detailId); quoteDetailToolService.againQuoteDetailTool(quoteDetail, detailId);
// 属性 // 属性
quoteDetailAttributeService.againQuoteDetailAttribute(quoteDetail, detailId); quoteDetailAttributeService.againQuoteDetailAttribute(quoteDetail, detailId);
// 计算属性
quoteDetailCalculationService.againQuoteDetailCalculation(quoteDetail, detailId);
// BomTree // BomTree
quoteDetailBomTreeService.againQuoteDetailBomTree(quoteDetail, detailId); quoteDetailBomTreeService.againQuoteDetailBomTree(quoteDetail, detailId);
// quoteDetailBomTreeService.initQuoteDetailBomTree(quoteDetail,0L,0); // quoteDetailBomTreeService.initQuoteDetailBomTree(quoteDetail,0L,0);

Loading…
Cancel
Save