|
|
|
|
@ -3,8 +3,10 @@ package org.springblade.desk.oem.service.impl; |
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
|
import com.alibaba.nacos.common.utils.CollectionUtils; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
|
|
import jakarta.annotation.Resource; |
|
|
|
|
import org.springblade.core.mp.support.Query; |
|
|
|
|
@ -31,6 +33,7 @@ import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
|
import java.math.BigDecimal; |
|
|
|
|
import java.time.LocalDate; |
|
|
|
|
import java.util.*; |
|
|
|
|
import java.util.concurrent.atomic.AtomicInteger; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
@ -65,6 +68,9 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper, |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public R oemSettleAccounts(List<StatementVO> statementVOS, BigDecimal price, LocalDate putStoreDate) { |
|
|
|
|
// 定义计数器
|
|
|
|
|
AtomicInteger countSuccess = new AtomicInteger(0); |
|
|
|
|
AtomicInteger countError = new AtomicInteger(0); |
|
|
|
|
//1.以外协厂商分组的Map<厂家名称, 待结算工序结算单列表>
|
|
|
|
|
Map<String, List<StatementVO>> oemAndStatementMap = statementVOS.stream().collect(Collectors.groupingBy(StatementVO::getOcName)); |
|
|
|
|
for (Map.Entry<String, List<StatementVO>> listEntry : oemAndStatementMap.entrySet()) { |
|
|
|
|
@ -73,72 +79,72 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper, |
|
|
|
|
|
|
|
|
|
//2.以外协名称,日期查出的全部报价单
|
|
|
|
|
String oemName = listEntry.getKey(); |
|
|
|
|
// List<PriceSheetVO> priceSheetAllList = getPriceSheets(oemName, putStoreDate);
|
|
|
|
|
List<PriceSheetVO> priceSheetAllList = getPriceSheets(oemName, putStoreDate); |
|
|
|
|
|
|
|
|
|
//假数据测试用
|
|
|
|
|
List<PriceSheetVO> priceSheetAllList = new ArrayList<>(); |
|
|
|
|
PriceSheetVO priceSheet1 = new PriceSheetVO(); |
|
|
|
|
priceSheet1.setPrice("60"); |
|
|
|
|
priceSheet1.setSplyname(oemName); |
|
|
|
|
priceSheet1.setPrtum("件"); |
|
|
|
|
priceSheet1.setWono("WO-N2510424439-R002"); |
|
|
|
|
priceSheet1.setSeqid("GXJG-20250228018"); |
|
|
|
|
priceSheet1.setGxinfo("玻璃封接电化学抛光"); |
|
|
|
|
priceSheetAllList.add(priceSheet1); |
|
|
|
|
PriceSheetVO priceSheet2 = new PriceSheetVO(); |
|
|
|
|
priceSheet2.setPrice("26"); |
|
|
|
|
priceSheet2.setSplyname(oemName); |
|
|
|
|
priceSheet2.setPrtum("件"); |
|
|
|
|
priceSheet2.setSeqid("GXJG-20250228012"); |
|
|
|
|
priceSheet2.setGxinfo("玻璃封接电镀去氧化皮"); |
|
|
|
|
priceSheet2.setPrtlotno("JI和JHT"); |
|
|
|
|
priceSheet2.setStairflag("单批阶梯价(按单件面积)"); |
|
|
|
|
priceSheet2.setLower("5"); |
|
|
|
|
priceSheet2.setUpper("0"); |
|
|
|
|
priceSheet2.setPrtno("21E6-575-10724-%螺母"); |
|
|
|
|
priceSheetAllList.add(priceSheet2); |
|
|
|
|
PriceSheetVO priceSheet3 = new PriceSheetVO(); |
|
|
|
|
priceSheet3.setPrice("34"); |
|
|
|
|
priceSheet3.setSplyname(oemName); |
|
|
|
|
priceSheet3.setPrtum("件"); |
|
|
|
|
priceSheet3.setSeqid("GXJG-20250228012"); |
|
|
|
|
priceSheet3.setGxinfo("玻璃封接电镀去氧化皮"); |
|
|
|
|
priceSheet3.setPrtlotno("JI和JHT"); |
|
|
|
|
priceSheet3.setStairflag("单批阶梯价(按单件面积)"); |
|
|
|
|
priceSheet3.setLower("10"); |
|
|
|
|
priceSheet3.setUpper("5.00001"); |
|
|
|
|
priceSheet3.setPrtno("21E6-575-10724-%螺母"); |
|
|
|
|
priceSheetAllList.add(priceSheet3); |
|
|
|
|
PriceSheetVO priceSheet4 = new PriceSheetVO(); |
|
|
|
|
priceSheet4.setPrice("15"); |
|
|
|
|
priceSheet4.setSplyname(oemName); |
|
|
|
|
priceSheet4.setPrtum("件"); |
|
|
|
|
priceSheet4.setSeqid("GXJG-20250228012"); |
|
|
|
|
priceSheet4.setGxinfo("玻璃封接电镀去氧化皮"); |
|
|
|
|
priceSheet4.setPrtlotno("JHT"); |
|
|
|
|
priceSheet4.setStairflag("非阶梯价"); |
|
|
|
|
priceSheet4.setPrtno("21E6-575-10724-%螺母"); |
|
|
|
|
priceSheetAllList.add(priceSheet4); |
|
|
|
|
PriceSheetVO priceSheet5 = new PriceSheetVO(); |
|
|
|
|
priceSheet5.setPrice("99"); |
|
|
|
|
priceSheet5.setSplyname(oemName); |
|
|
|
|
priceSheet5.setPrtum("件"); |
|
|
|
|
priceSheet5.setSeqid("GXJG-20250228012"); |
|
|
|
|
priceSheet5.setGxinfo("玻璃封接电镀去氧化皮"); |
|
|
|
|
priceSheet5.setStairflag("非阶梯价"); |
|
|
|
|
priceSheet5.setPrtno("21E6-575-10724-%螺母"); |
|
|
|
|
priceSheet5.setRemark("氰化亚金钾380.01-400元/克(未税)"); |
|
|
|
|
priceSheetAllList.add(priceSheet5); |
|
|
|
|
PriceSheetVO priceSheet6 = new PriceSheetVO(); |
|
|
|
|
priceSheet6.setPrice("200"); |
|
|
|
|
priceSheet6.setSplyname(oemName); |
|
|
|
|
priceSheet6.setPrtum("件"); |
|
|
|
|
priceSheet6.setSeqid("GXJG-20250228012"); |
|
|
|
|
priceSheet6.setGxinfo("玻璃封接电镀去氧化皮"); |
|
|
|
|
priceSheet6.setStairflag("非阶梯价"); |
|
|
|
|
priceSheet6.setPrtno("21E6-575-10724-%螺母"); |
|
|
|
|
priceSheet6.setRemark("氰化亚金钾400.01-500元/克(未税)"); |
|
|
|
|
priceSheetAllList.add(priceSheet6); |
|
|
|
|
// List<PriceSheetVO> priceSheetAllList = new ArrayList<>();
|
|
|
|
|
// PriceSheetVO priceSheet1 = new PriceSheetVO();
|
|
|
|
|
// priceSheet1.setPrice("60");
|
|
|
|
|
// priceSheet1.setSplyname(oemName);
|
|
|
|
|
// priceSheet1.setPrtum("件");
|
|
|
|
|
// priceSheet1.setWono("WO-N2510424439-R002");
|
|
|
|
|
// priceSheet1.setSeqid("GXJG-20250228018");
|
|
|
|
|
// priceSheet1.setGxinfo("玻璃封接电化学抛光");
|
|
|
|
|
// priceSheetAllList.add(priceSheet1);
|
|
|
|
|
// PriceSheetVO priceSheet2 = new PriceSheetVO();
|
|
|
|
|
// priceSheet2.setPrice("26");
|
|
|
|
|
// priceSheet2.setSplyname(oemName);
|
|
|
|
|
// priceSheet2.setPrtum("件");
|
|
|
|
|
// priceSheet2.setSeqid("GXJG-20250228012");
|
|
|
|
|
// priceSheet2.setGxinfo("玻璃封接电镀去氧化皮");
|
|
|
|
|
// priceSheet2.setPrtlotno("JI和JHT");
|
|
|
|
|
// priceSheet2.setStairflag("单批阶梯价(按单件面积)");
|
|
|
|
|
// priceSheet2.setLower("5");
|
|
|
|
|
// priceSheet2.setUpper("0");
|
|
|
|
|
// priceSheet2.setPrtno("21E6-575-10724-%螺母");
|
|
|
|
|
// priceSheetAllList.add(priceSheet2);
|
|
|
|
|
// PriceSheetVO priceSheet3 = new PriceSheetVO();
|
|
|
|
|
// priceSheet3.setPrice("34");
|
|
|
|
|
// priceSheet3.setSplyname(oemName);
|
|
|
|
|
// priceSheet3.setPrtum("件");
|
|
|
|
|
// priceSheet3.setSeqid("GXJG-20250228012");
|
|
|
|
|
// priceSheet3.setGxinfo("玻璃封接电镀去氧化皮");
|
|
|
|
|
// priceSheet3.setPrtlotno("JI和JHT");
|
|
|
|
|
// priceSheet3.setStairflag("单批阶梯价(按单件面积)");
|
|
|
|
|
// priceSheet3.setLower("10");
|
|
|
|
|
// priceSheet3.setUpper("5.00001");
|
|
|
|
|
// priceSheet3.setPrtno("21E6-575-10724-%螺母");
|
|
|
|
|
// priceSheetAllList.add(priceSheet3);
|
|
|
|
|
// PriceSheetVO priceSheet4 = new PriceSheetVO();
|
|
|
|
|
// priceSheet4.setPrice("15");
|
|
|
|
|
// priceSheet4.setSplyname(oemName);
|
|
|
|
|
// priceSheet4.setPrtum("件");
|
|
|
|
|
// priceSheet4.setSeqid("GXJG-20250228012");
|
|
|
|
|
// priceSheet4.setGxinfo("玻璃封接电镀去氧化皮");
|
|
|
|
|
// priceSheet4.setPrtlotno("JHT");
|
|
|
|
|
// priceSheet4.setStairflag("非阶梯价");
|
|
|
|
|
// priceSheet4.setPrtno("21E6-575-10724-%螺母");
|
|
|
|
|
// priceSheetAllList.add(priceSheet4);
|
|
|
|
|
// PriceSheetVO priceSheet5 = new PriceSheetVO();
|
|
|
|
|
// priceSheet5.setPrice("99");
|
|
|
|
|
// priceSheet5.setSplyname(oemName);
|
|
|
|
|
// priceSheet5.setPrtum("件");
|
|
|
|
|
// priceSheet5.setSeqid("GXJG-20250228012");
|
|
|
|
|
// priceSheet5.setGxinfo("玻璃封接电镀去氧化皮");
|
|
|
|
|
// priceSheet5.setStairflag("非阶梯价");
|
|
|
|
|
// priceSheet5.setPrtno("21E6-575-10724-%螺母");
|
|
|
|
|
// priceSheet5.setRemark("氰化亚金钾380.01-400元/克(未税)");
|
|
|
|
|
// priceSheetAllList.add(priceSheet5);
|
|
|
|
|
// PriceSheetVO priceSheet6 = new PriceSheetVO();
|
|
|
|
|
// priceSheet6.setPrice("200");
|
|
|
|
|
// priceSheet6.setSplyname(oemName);
|
|
|
|
|
// priceSheet6.setPrtum("件");
|
|
|
|
|
// priceSheet6.setSeqid("GXJG-20250228012");
|
|
|
|
|
// priceSheet6.setGxinfo("玻璃封接电镀去氧化皮");
|
|
|
|
|
// priceSheet6.setStairflag("非阶梯价");
|
|
|
|
|
// priceSheet6.setPrtno("21E6-575-10724-%螺母");
|
|
|
|
|
// priceSheet6.setRemark("氰化亚金钾400.01-500元/克(未税)");
|
|
|
|
|
// priceSheetAllList.add(priceSheet6);
|
|
|
|
|
|
|
|
|
|
if (priceSheetAllList.isEmpty()) { |
|
|
|
|
//【结算异常】
|
|
|
|
|
@ -193,6 +199,12 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper, |
|
|
|
|
//保存
|
|
|
|
|
List<OemStatementEntity> saves = statementVOList.stream() |
|
|
|
|
.map(statementVO -> { |
|
|
|
|
// 统计数量
|
|
|
|
|
if (Objects.equals(OemStatementEntity.IN_SETTLEMENT, statementVO.getRosStatus())) { |
|
|
|
|
countSuccess.incrementAndGet(); |
|
|
|
|
} else if (Objects.equals(OemStatementEntity.ERR_SETTLEMENT, statementVO.getRosStatus())) { |
|
|
|
|
countError.incrementAndGet(); |
|
|
|
|
} |
|
|
|
|
OemStatementEntity entity = new OemStatementEntity(); |
|
|
|
|
BeanUtils.copyProperties(statementVO, entity); |
|
|
|
|
entity.setUpdateTime(new Date()); |
|
|
|
|
@ -202,10 +214,31 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper, |
|
|
|
|
.collect(Collectors.toList()); |
|
|
|
|
baseMapper.insertOrUpdate(saves); |
|
|
|
|
} |
|
|
|
|
return R.success("操作完成"); |
|
|
|
|
return R.data(Map.of( |
|
|
|
|
"success", countSuccess, |
|
|
|
|
"error", countError |
|
|
|
|
)); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public R autoSettlement(String woCode, LocalDate date) { |
|
|
|
|
if (StringUtils.isEmpty(woCode) || null == date) { |
|
|
|
|
return R.fail("车间订单号和镀后入库日期不能为空"); |
|
|
|
|
} |
|
|
|
|
StatementQuery query = new StatementQuery(); |
|
|
|
|
query.setWoCode(woCode); |
|
|
|
|
query.setRosStatusList("1"); |
|
|
|
|
query.setManual("0"); |
|
|
|
|
IPage<StatementVO> page = new Page<>(); |
|
|
|
|
page.setSize(999); |
|
|
|
|
List<StatementVO> statementVOS = baseMapper.selectOemStatementPage(page, query); |
|
|
|
|
if (statementVOS == null || statementVOS.isEmpty()) { |
|
|
|
|
return R.fail(String.format("【%】无未结算的结算单", woCode)); |
|
|
|
|
} |
|
|
|
|
return oemSettleAccounts(statementVOS, BigDecimal.ZERO, date); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public List<StatementVO> preSettlement(List<StatementVO> statementVOS, BigDecimal price) { |
|
|
|
|
//1.以外协厂商分组的Map<厂家名称, 待结算工序结算单列表>
|
|
|
|
|
@ -216,78 +249,78 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper, |
|
|
|
|
|
|
|
|
|
//2.以外协名称查出的全部报价单
|
|
|
|
|
String oemName = listEntry.getKey(); |
|
|
|
|
// List<PriceSheetVO> priceSheetAllList = getPriceSheets(oemName);
|
|
|
|
|
List<PriceSheetVO> priceSheetAllList = getPriceSheets(oemName); |
|
|
|
|
|
|
|
|
|
//假数据测试用
|
|
|
|
|
List<PriceSheetVO> priceSheetAllList = new ArrayList<>(); |
|
|
|
|
PriceSheetVO priceSheet1 = new PriceSheetVO(); |
|
|
|
|
priceSheet1.setPrice("60"); |
|
|
|
|
priceSheet1.setSplyname(oemName); |
|
|
|
|
priceSheet1.setPrtum("件"); |
|
|
|
|
priceSheet1.setWono("WO-N2510424439-R002"); |
|
|
|
|
priceSheet1.setSeqid("GXJG-20250228018"); |
|
|
|
|
priceSheet1.setGxinfo("玻璃封接电化学抛光"); |
|
|
|
|
priceSheet1.setStartdat("2026-01-15"); |
|
|
|
|
priceSheetAllList.add(priceSheet1); |
|
|
|
|
PriceSheetVO priceSheet2 = new PriceSheetVO(); |
|
|
|
|
priceSheet2.setPrice("26"); |
|
|
|
|
priceSheet2.setSplyname(oemName); |
|
|
|
|
priceSheet2.setPrtum("件"); |
|
|
|
|
priceSheet2.setSeqid("GXJG-20250228012"); |
|
|
|
|
priceSheet2.setGxinfo("玻璃封接电镀去氧化皮"); |
|
|
|
|
priceSheet2.setPrtlotno("JI和JHT"); |
|
|
|
|
priceSheet2.setStairflag("单批阶梯价(按单件面积)"); |
|
|
|
|
priceSheet2.setLower("5"); |
|
|
|
|
priceSheet2.setUpper("0"); |
|
|
|
|
priceSheet2.setPrtno("21E6-575-10724-%螺母"); |
|
|
|
|
priceSheet2.setStartdat("2026-01-15"); |
|
|
|
|
priceSheetAllList.add(priceSheet2); |
|
|
|
|
PriceSheetVO priceSheet3 = new PriceSheetVO(); |
|
|
|
|
priceSheet3.setPrice("34"); |
|
|
|
|
priceSheet3.setSplyname(oemName); |
|
|
|
|
priceSheet3.setPrtum("件"); |
|
|
|
|
priceSheet3.setSeqid("GXJG-20250228012"); |
|
|
|
|
priceSheet3.setGxinfo("玻璃封接电镀去氧化皮"); |
|
|
|
|
priceSheet3.setPrtlotno("JI和JHT"); |
|
|
|
|
priceSheet3.setStairflag("单批阶梯价(按单件面积)"); |
|
|
|
|
priceSheet3.setLower("10"); |
|
|
|
|
priceSheet3.setUpper("5.00001"); |
|
|
|
|
priceSheet3.setPrtno("21E6-575-10724-%螺母"); |
|
|
|
|
priceSheet3.setStartdat("2026-01-15"); |
|
|
|
|
priceSheetAllList.add(priceSheet3); |
|
|
|
|
PriceSheetVO priceSheet4 = new PriceSheetVO(); |
|
|
|
|
priceSheet4.setPrice("15"); |
|
|
|
|
priceSheet4.setSplyname(oemName); |
|
|
|
|
priceSheet4.setPrtum("件"); |
|
|
|
|
priceSheet4.setSeqid("GXJG-20250228012"); |
|
|
|
|
priceSheet4.setGxinfo("玻璃封接电镀去氧化皮"); |
|
|
|
|
priceSheet4.setPrtlotno("JHT"); |
|
|
|
|
priceSheet4.setStairflag("非阶梯价"); |
|
|
|
|
priceSheet4.setPrtno("21E6-575-10724-%螺母"); |
|
|
|
|
priceSheet4.setStartdat("2026-01-15"); |
|
|
|
|
priceSheetAllList.add(priceSheet4); |
|
|
|
|
PriceSheetVO priceSheet5 = new PriceSheetVO(); |
|
|
|
|
priceSheet5.setPrice("99"); |
|
|
|
|
priceSheet5.setSplyname(oemName); |
|
|
|
|
priceSheet5.setPrtum("件"); |
|
|
|
|
priceSheet5.setSeqid("GXJG-20250228012"); |
|
|
|
|
priceSheet5.setGxinfo("玻璃封接电镀去氧化皮"); |
|
|
|
|
priceSheet5.setStairflag("非阶梯价"); |
|
|
|
|
priceSheet5.setPrtno("21E6-575-10724-%螺母"); |
|
|
|
|
priceSheet5.setRemark("氰化亚金钾380.01-400元/克(未税)"); |
|
|
|
|
priceSheet5.setStartdat("2026-01-15"); |
|
|
|
|
priceSheetAllList.add(priceSheet5); |
|
|
|
|
PriceSheetVO priceSheet6 = new PriceSheetVO(); |
|
|
|
|
priceSheet6.setPrice("200"); |
|
|
|
|
priceSheet6.setSplyname(oemName); |
|
|
|
|
priceSheet6.setPrtum("件"); |
|
|
|
|
priceSheet6.setSeqid("GXJG-20250228012"); |
|
|
|
|
priceSheet6.setGxinfo("玻璃封接电镀去氧化皮"); |
|
|
|
|
priceSheet6.setStairflag("非阶梯价"); |
|
|
|
|
priceSheet6.setPrtno("21E6-575-10724-%螺母"); |
|
|
|
|
priceSheet6.setRemark("氰化亚金钾400.01-500元/克(未税)"); |
|
|
|
|
priceSheet6.setStartdat("2026-01-16"); |
|
|
|
|
priceSheetAllList.add(priceSheet6); |
|
|
|
|
// List<PriceSheetVO> priceSheetAllList = new ArrayList<>();
|
|
|
|
|
// PriceSheetVO priceSheet1 = new PriceSheetVO();
|
|
|
|
|
// priceSheet1.setPrice("60");
|
|
|
|
|
// priceSheet1.setSplyname(oemName);
|
|
|
|
|
// priceSheet1.setPrtum("件");
|
|
|
|
|
// priceSheet1.setWono("WO-N2510424439-R002");
|
|
|
|
|
// priceSheet1.setSeqid("GXJG-20250228018");
|
|
|
|
|
// priceSheet1.setGxinfo("玻璃封接电化学抛光");
|
|
|
|
|
// priceSheet1.setStartdat("2026-01-15");
|
|
|
|
|
// priceSheetAllList.add(priceSheet1);
|
|
|
|
|
// PriceSheetVO priceSheet2 = new PriceSheetVO();
|
|
|
|
|
// priceSheet2.setPrice("26");
|
|
|
|
|
// priceSheet2.setSplyname(oemName);
|
|
|
|
|
// priceSheet2.setPrtum("件");
|
|
|
|
|
// priceSheet2.setSeqid("GXJG-20250228012");
|
|
|
|
|
// priceSheet2.setGxinfo("玻璃封接电镀去氧化皮");
|
|
|
|
|
// priceSheet2.setPrtlotno("JI和JHT");
|
|
|
|
|
// priceSheet2.setStairflag("单批阶梯价(按单件面积)");
|
|
|
|
|
// priceSheet2.setLower("5");
|
|
|
|
|
// priceSheet2.setUpper("0");
|
|
|
|
|
// priceSheet2.setPrtno("21E6-575-10724-%螺母");
|
|
|
|
|
// priceSheet2.setStartdat("2026-01-15");
|
|
|
|
|
// priceSheetAllList.add(priceSheet2);
|
|
|
|
|
// PriceSheetVO priceSheet3 = new PriceSheetVO();
|
|
|
|
|
// priceSheet3.setPrice("34");
|
|
|
|
|
// priceSheet3.setSplyname(oemName);
|
|
|
|
|
// priceSheet3.setPrtum("件");
|
|
|
|
|
// priceSheet3.setSeqid("GXJG-20250228012");
|
|
|
|
|
// priceSheet3.setGxinfo("玻璃封接电镀去氧化皮");
|
|
|
|
|
// priceSheet3.setPrtlotno("JI和JHT");
|
|
|
|
|
// priceSheet3.setStairflag("单批阶梯价(按单件面积)");
|
|
|
|
|
// priceSheet3.setLower("10");
|
|
|
|
|
// priceSheet3.setUpper("5.00001");
|
|
|
|
|
// priceSheet3.setPrtno("21E6-575-10724-%螺母");
|
|
|
|
|
// priceSheet3.setStartdat("2026-01-15");
|
|
|
|
|
// priceSheetAllList.add(priceSheet3);
|
|
|
|
|
// PriceSheetVO priceSheet4 = new PriceSheetVO();
|
|
|
|
|
// priceSheet4.setPrice("15");
|
|
|
|
|
// priceSheet4.setSplyname(oemName);
|
|
|
|
|
// priceSheet4.setPrtum("件");
|
|
|
|
|
// priceSheet4.setSeqid("GXJG-20250228012");
|
|
|
|
|
// priceSheet4.setGxinfo("玻璃封接电镀去氧化皮");
|
|
|
|
|
// priceSheet4.setPrtlotno("JHT");
|
|
|
|
|
// priceSheet4.setStairflag("非阶梯价");
|
|
|
|
|
// priceSheet4.setPrtno("21E6-575-10724-%螺母");
|
|
|
|
|
// priceSheet4.setStartdat("2026-01-15");
|
|
|
|
|
// priceSheetAllList.add(priceSheet4);
|
|
|
|
|
// PriceSheetVO priceSheet5 = new PriceSheetVO();
|
|
|
|
|
// priceSheet5.setPrice("99");
|
|
|
|
|
// priceSheet5.setSplyname(oemName);
|
|
|
|
|
// priceSheet5.setPrtum("件");
|
|
|
|
|
// priceSheet5.setSeqid("GXJG-20250228012");
|
|
|
|
|
// priceSheet5.setGxinfo("玻璃封接电镀去氧化皮");
|
|
|
|
|
// priceSheet5.setStairflag("非阶梯价");
|
|
|
|
|
// priceSheet5.setPrtno("21E6-575-10724-%螺母");
|
|
|
|
|
// priceSheet5.setRemark("氰化亚金钾380.01-400元/克(未税)");
|
|
|
|
|
// priceSheet5.setStartdat("2026-01-15");
|
|
|
|
|
// priceSheetAllList.add(priceSheet5);
|
|
|
|
|
// PriceSheetVO priceSheet6 = new PriceSheetVO();
|
|
|
|
|
// priceSheet6.setPrice("200");
|
|
|
|
|
// priceSheet6.setSplyname(oemName);
|
|
|
|
|
// priceSheet6.setPrtum("件");
|
|
|
|
|
// priceSheet6.setSeqid("GXJG-20250228012");
|
|
|
|
|
// priceSheet6.setGxinfo("玻璃封接电镀去氧化皮");
|
|
|
|
|
// priceSheet6.setStairflag("非阶梯价");
|
|
|
|
|
// priceSheet6.setPrtno("21E6-575-10724-%螺母");
|
|
|
|
|
// priceSheet6.setRemark("氰化亚金钾400.01-500元/克(未税)");
|
|
|
|
|
// priceSheet6.setStartdat("2026-01-16");
|
|
|
|
|
// priceSheetAllList.add(priceSheet6);
|
|
|
|
|
if (priceSheetAllList.isEmpty()) { |
|
|
|
|
//【结算异常】
|
|
|
|
|
statementVOList.forEach(statementVO -> { |
|
|
|
|
@ -370,6 +403,9 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper, |
|
|
|
|
updateWrapper |
|
|
|
|
.set("approval_status", OemStatementEntity.APPROVAL_STATUS_VIA) |
|
|
|
|
.set("memo", "无需结算") |
|
|
|
|
.set("total_price", null) |
|
|
|
|
.set("unit_price", null) |
|
|
|
|
.set("quotation", "") |
|
|
|
|
.set("ros_status", OemStatementEntity.NOT_NEED_SETTLEMENT) |
|
|
|
|
.in("id", ids); |
|
|
|
|
} else { |
|
|
|
|
@ -394,11 +430,36 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper, |
|
|
|
|
entity.setApprovalStatus(OemStatementEntity.APPROVAL_STATUS_VIA); |
|
|
|
|
entity.setRosStatus(OemStatementEntity.NOT_NEED_SETTLEMENT); |
|
|
|
|
entity.setMemo("无需结算"); |
|
|
|
|
entity.setTotalPrice(null); |
|
|
|
|
entity.setUnitPrice(null); |
|
|
|
|
entity.setQuotation(""); |
|
|
|
|
entity.setUpdateTime(new Date()); |
|
|
|
|
return entity; |
|
|
|
|
}) |
|
|
|
|
.collect(Collectors.toList()); |
|
|
|
|
baseMapper.insertOrUpdate(saves); |
|
|
|
|
|
|
|
|
|
// baseMapper.insertOrUpdate(saves);
|
|
|
|
|
// 逐条处理
|
|
|
|
|
for (OemStatementEntity entity : saves) { |
|
|
|
|
if (entity.getId() == null) { |
|
|
|
|
// 新增
|
|
|
|
|
baseMapper.insert(entity); |
|
|
|
|
} else { |
|
|
|
|
// 更新,使用UpdateWrapper确保null值被更新
|
|
|
|
|
LambdaUpdateWrapper<OemStatementEntity> wrapper = Wrappers.lambdaUpdate(); |
|
|
|
|
wrapper.set(OemStatementEntity::getTotalPrice, entity.getTotalPrice()) |
|
|
|
|
.set(OemStatementEntity::getUnitPrice, entity.getUnitPrice()) |
|
|
|
|
.set(OemStatementEntity::getQuotation, entity.getQuotation()) |
|
|
|
|
.set(OemStatementEntity::getApprovalStatus, entity.getApprovalStatus()) |
|
|
|
|
.set(OemStatementEntity::getRosStatus, entity.getRosStatus()) |
|
|
|
|
.set(OemStatementEntity::getMemo, entity.getMemo()) |
|
|
|
|
.set(OemStatementEntity::getUpdateTime, entity.getUpdateTime()) |
|
|
|
|
.eq(OemStatementEntity::getId, entity.getId()); |
|
|
|
|
|
|
|
|
|
baseMapper.update(null, wrapper); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return R.success("操作完成"); |
|
|
|
|
} |
|
|
|
|
return R.fail("未选取结算单"); |
|
|
|
|
} |
|
|
|
|
|