Merge remote-tracking branch 'origin/main'

# Conflicts:
#	1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/controller/SubController.java
main
sunhao 7 days ago
commit db3d3124c6

@ -6,15 +6,18 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import net.xdclass.shopmanager.model.*;
import net.xdclass.shopmanager.service.SubService;
import net.xdclass.shopmanager.tool.service.TransactionService;
import net.xdclass.shopmanager.util.JsonData;
import org.apache.commons.lang3.math.NumberUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.TransactionStatus;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
@ -35,6 +38,9 @@ public class SubController {
@Autowired
private SubService subService;
@Autowired
private TransactionService transactionService;
private final static Logger logger = LoggerFactory.getLogger(SubController.class);
//region ***全局变量过程数据***
@ -199,6 +205,17 @@ public class SubController {
return xx;
}
@ApiOperation("数据处理")
@PostMapping("SubData1")
public JsonData SubData1(String strSlab) {
System.out.println("调用成功");
JsonData xx = new JsonData();
xx.setCode(0);
xx.setData(null);
xx.setMsg("123");
return xx;
}
@ApiOperation("数据处理")
@PostMapping("SubData")
public JsonData SubData(String strSlab) {
@ -279,10 +296,21 @@ public class SubController {
logger.info("结果数据板坯号:{};数量:{}", p.getSlabNo(), gltGGrpCalRslt.size());
}
// if (gltGGrpCalRslt.size() > 0) {
// now = new Date();
// SetSaveDate(p);
// }
if (gltSelGGrpCalRslt.size() > 0) {
now = new Date();
SetSaveDate(p);
//开启事务
TransactionStatus transactionStatus = transactionService.begin();
try {
SaveData();
// bOffTaskLineService.saveOffTask(bPlanHeadAndLineVos);
transactionService.commit(transactionStatus);
} catch (Exception e) {
logger.error("保存事务回滚:" + p.getSlabNo(), e);
//回滚事务
transactionService.rollback(transactionStatus);
}
}
} catch (Exception e) {
logger.error("板坯报错:" + p.getSlabNo(), e);
@ -636,6 +664,7 @@ public class SubController {
gltGrpOrderFir=new ArrayList<>();
//订单数据处理
SetOrderLackData();
//订单根据尺寸初次分组
SetGroupOrderFir();
@ -1307,10 +1336,10 @@ public class SubController {
//TODO:箭头函数订单多线程处理数据,升序,降序,重组。
//使用 Stream.parallel() 来并行执行 for 循环 OrderNo 升序 PdLackQty 降序
// plistOrder.sorted(Comparator.comparing(PmProContDO::getOrderNo)
// .thenComparing(Comparator.comparing(PmProContDO::getPdLackQty).reversed()))
plistOrder.parallelStream().forEach(i -> {
plistOrder.parallelStream()
.sorted(Comparator.comparing(PmProContDO::getOrderNo)
.thenComparing(Comparator.comparing(PmProContDO::getPdLackQty).reversed()))
.forEach(i -> {
PmProContProdAttrDO ppcpa = new PmProContProdAttrDO();
PmContMscTechDO pcmt = new PmContMscTechDO();
@ -1439,10 +1468,11 @@ public class SubController {
int intRollMinLen = plistPmPdConstBtDO.stream().filter(p -> p.getRollLineNo().equals("30")).findFirst().orElse(null).getHpmMinPLen().intValue();
//初始化分组数据
gltGGrpCalRslt=new ArrayList<>();
gltGGrpCalRslt = new CopyOnWriteArrayList<>();
//gltGCalGrp.parallelStream().forEach(e->{
gltGCalGrp.parallelStream().forEach(e -> {
try {
//实例化计算结果数组
GGrpCalRslt GGCR = new GGrpCalRslt();
//可轧制最大长度
@ -1473,8 +1503,10 @@ public class SubController {
//最大长度
GGCR.setCal_Len(intMaxLen);
GGCR.setLtInfoGPreOrder(e.getLtInfoGPreOrder());
gltGGrpCalRslt.add(GGCR);
}catch (Exception ex){
logger.info("***计算结果异常:" + ex.getMessage());
}
});
if (gltGGrpCalRslt.size() == 0) {
@ -1483,6 +1515,7 @@ public class SubController {
//分组计算
//gltGGrpCalRslt.parallelStream().forEach(p -> {
gltGGrpCalRslt.parallelStream().forEach(p -> {
try {
// 测试数据
//处理数据多处理
List<Integer> ltValues = new ArrayList<>();
@ -1699,7 +1732,9 @@ public class SubController {
// 设置成材率到 p 对象中
p.setRate(yieldRate);
} catch (Exception e) {
log.error("new1", e);
}
});
//判断结果数据是否存在
if (gltGGrpCalRslt.size() == 0) {
@ -1707,7 +1742,7 @@ public class SubController {
}
//判断结算结果长度和成材率是否可用
gltGGrpCalRslt.parallelStream().forEach(p -> {
try {
//没有成材率
if (p.getRate() == null) {
p.setIntUseFlg(0);
@ -1772,8 +1807,10 @@ public class SubController {
//数据可用
p.setIntUseFlg(1);
} catch (Exception e){
log.error("new2", e);
return;
}
});
//选择最优结果
@ -1794,9 +1831,11 @@ public class SubController {
public void ChosBestRsl(SlabInfoDO SInfo) {
//gltGGrpCalRslt 的 getIntUseF
// 筛选 UseFlg == 1 的数据
List<GGrpCalRslt> filteredList = gltGGrpCalRslt.stream()
.filter(g -> g.getIntUseFlg()== 1)
.filter(g -> Objects.nonNull(g) && Objects.nonNull(g.getIntUseFlg()) && g.getIntUseFlg() == 1)
.collect(Collectors.toList());
// 找到重量最大成材率最大的数据
@ -1818,6 +1857,10 @@ public class SubController {
pmSubHisDO.setVirtualSlabNo(virtualSlabNo); // 虚拟板坯号
pmSubHisDO.setRelKey(virtualSlabNo); // 关系号
maxWeightMaxYieldRate.get().setSlabNo(SInfo.getSlabNo());
maxWeightMaxYieldRate.get().setVirtualSlabNo(virtualSlabNo);
// 手动为每个字段赋值
pmSubHisDO.setSlabThick(maxRate.getVirtualSlab_Thk()); // 厚度
pmSubHisDO.setSlabWid(BigDecimal.valueOf(maxRate.getVirtualSlab_Wid())); // 宽度
@ -1978,7 +2021,7 @@ public class SubController {
pmPdSlabDO.setMatDesignKind("S");
pmPdSlabDO.setPdStatusHp("12");
pmPdSlabDO.setPdResp("781"); // TODO 组板责任者 未赋值 操作人id
pmPdSlabDO.setFormPlateMode("FormPlateMode"); //TODO 组板方式 未赋值
pmPdSlabDO.setFormPlateMode(""); //TODO 组板方式 未赋值
pmPdSlabDO.setPickModeLenDir(BigDecimal.ZERO); //TODO 取板方式_长度方向 未赋值
pmPdSlabDO.setPickModeWidDir(BigDecimal.ZERO); //TODO 取板方式_宽度方向 未赋值
pmPdSlabDO.setFurType("C");// TODO 加热炉类型 暂时赋值为C
@ -1998,7 +2041,44 @@ public class SubController {
pmPdSlabDO.setCutModeCode(resultPmContMscTechDO.get().getCutModeCode());
//TODO 缺少质量模块MES合同主档QD_TO_PO_ORDER
pmPdSlabDO.setUltCode(resultPmContMscTechDO.get().getUltCode());//TODO 遍历组板合同根据合同号从质量模块MES合同主档QD_TO_PO_ORDER读取ERP_UT_SPEC1探伤标准1、ERP_UT_SPEC2超声探伤标2、ERP_UT_SPEC3超声探伤标3去重后所有数据拼接成一条记录
// pmPdSlabDO.setUltCode(resultPmContMscTechDO.get().getUltCode());
//TODO 遍历组板合同根据合同号从质量模块MES合同主档QD_TO_PO_ORDER读取ERP_UT_SPEC1探伤标准1、ERP_UT_SPEC2超声探伤标2、ERP_UT_SPEC3超声探伤标3去重后所有数据拼接成一条记录
//遍历 orderNoList 拿每一条orderNo查询plistQdToPoOrderDO 获取ERP_UT_SPEC1ERP_UT_SPEC2ERP_UT_SPEC3 ,将获取的每一个探伤标准 去重后拼接成一条记录
StringBuilder ultDetectMethodCodeBuilder = new StringBuilder();
String ultCode = "";
for (String orderNo : orderNoList) {
Optional<QdToPoOrderDO> resultQdToPoOrderDO = plistQdToPoOrderDO.stream()
.filter(item -> orderNo.equals(item.getOrderNo()))
.findFirst();
String erpUtSpec1 = "";
String erpUtSpec2 = "";
String erpUtSpec3 = "";
if (resultQdToPoOrderDO.isPresent()) {
erpUtSpec1 = nvl(resultQdToPoOrderDO.get().getErpUtSpec1(),"");
erpUtSpec2 = nvl(resultQdToPoOrderDO.get().getErpUtSpec2(),"");
erpUtSpec3 = nvl(resultQdToPoOrderDO.get().getErpUtSpec3(),"");
if(!erpUtSpec1.isEmpty()){
if (!ultDetectMethodCodeBuilder.toString().contains(erpUtSpec1)) {
ultDetectMethodCodeBuilder.append(erpUtSpec1).append("-");
}
}
if(!erpUtSpec2.isEmpty()){
if (!ultDetectMethodCodeBuilder.toString().contains(erpUtSpec2)) {
ultDetectMethodCodeBuilder.append(erpUtSpec2).append("-");
}
}
if(!erpUtSpec3.isEmpty()){
if (!ultDetectMethodCodeBuilder.toString().contains(erpUtSpec3)) {
ultDetectMethodCodeBuilder.append(erpUtSpec3).append("-");
}
}
}
ultCode = ultDetectMethodCodeBuilder.toString();
if (!ultCode.isEmpty()) {
ultCode = ultCode.substring(0, ultCode.length() - 1);
}
pmPdSlabDO.setUltCode(ultCode);
}
String ultDetectMethodCode = "";
String coolCode = "";
@ -2053,7 +2133,7 @@ public class SubController {
pmPdSlabDO.setSgSign(SInfo.getSgSign());
pmPdSlabDO.setStNo(SInfo.getStNo());
pmPdSlabDO.setOutSgNo(SInfo.getStNo());
pmPdSlabDO.setIngotType(SInfo.getSlabType());
pmPdSlabDO.setPreCleanSlabThick(SInfo.getSlabActThk());
pmPdSlabDO.setPreCleanSlabWidth(SInfo.getSlabActWid());
pmPdSlabDO.setPreCleanSlabLen(BigDecimal.valueOf(ggcr.getVirtualSlab_Len()));
@ -2082,11 +2162,15 @@ public class SubController {
pmPdSlabDO.setHpFlameCleanDiv(resultPmContMscTechDO1.get().getFlameCleanDiv());
pmPdSlabDO.setSlabFinishCode(resultPmContMscTechDO1.get().getSlabFinishCode());
Long slabPdQty = plistPmPdSlabInfoDO.stream()
.filter(item -> item != null && ggcr != null && ggcr.getSlabNo() != null && ggcr.getSlabNo().equals(item.getSlabNo()))
.count();
if(slabPdQty > 0){
Optional<PmPdSlabInfoDO> resultPmPdSlabInfoDO = plistPmPdSlabInfoDO.stream()
.filter(item -> ggcr.getSlabNo().equals(item.getSlabNo()))
.findFirst();
pmPdSlabDO.setSlabPlaceCode(resultPmPdSlabInfoDO.get().getSlabPlaceCode());
}
pmPdSlabDO.setRollAimThick(ggcr.getCal_Thk());
pmPdSlabDO.setRollAimWidth(BigDecimal.valueOf(ggcr.getCal_Wid()));
@ -2139,6 +2223,8 @@ public class SubController {
pmPdSlabDO.setLastUpdatedBy(781L);
pmPdSlabDO.setCreationDate(now);
pmPdSlabDO.setLastUpdateDate(now);
pmPdSlabDO.setLastSlabFlag(BigDecimal.valueOf(1));
pmPdSlabDO.setTwoRollInterimFlag(1);
SetPmCmdSlab(pmPdSlabDO);//命令板坯表
SetPmCmdLargePlt(pmPdSlabDO, ggcr);//命令大板表
@ -2177,12 +2263,14 @@ public class SubController {
pmPdBlockPosDO.setPdMatNo(ggcr.getVirtualSlabNo());
pmPdBlockPosDO.setOrderNo(orderNoList.get(j));
pmPdBlockPosDO.setOrderSeqNo(j + 1);//TODO 订单序号 暂时以实际订单信息列表顺序
Integer blockPlateNum = ggcr.getLtActInfoGPreOrder().stream() // 当前合同号在实际合同列表中的条数
List<GPreOrder> resultGPreOrder = ggcr.getLtActInfoGPreOrder().stream()
.filter(item -> item.getOrderNo().equals(pmPdBlockPosDO.getOrderNo()))
.collect(Collectors.toList())
.size();
.collect(Collectors.toList());
Integer blockPlateNum = resultGPreOrder.size();
pmPdBlockPosDO.setBlockPlateNum(blockPlateNum);
pmPdBlockPosDO.setSlabNo(ggcr.getSlabNo());
pmPdBlockPosDO.setProContId(resultGPreOrder.get(0).getInfoPmProContDo().getProContId());
// pmPdBlockPosDO.setOrderBlockNo(); //TODO 厚板组板块号 暂时不知如何赋值
pmPdBlockPosDO.setCreatedBy(781L);//TODO 创建人修改人暂时默认781 BKGY
@ -2214,9 +2302,10 @@ public class SubController {
pmPdContSumDO.setSlabNo(ggcr.getSlabNo());
pmPdContSumDO.setPdMatType("S");
pmPdContSumDO.setPdStatus("12");
pmPdContSumDO.setProContId(gPreOrders.get(0).getInfoPmProContDo().getProContId());
pmPdContSumDO.setOrderThick(gPreOrders.get(0).getThk());
pmPdContSumDO.setOrderWidth(BigDecimal.valueOf(gPreOrders.get(0).getWid()));
pmPdContSumDO.setOrderLen(BigDecimal.valueOf(gPreOrders.get(0).getIntActLen()));
pmPdContSumDO.setOrderLen(BigDecimal.valueOf(gPreOrders.get(0).getIntActLen())); //20250212
pmPdContSumDO.setOrderLenMax(BigDecimal.valueOf(gPreOrders.get(0).getInfoPmProContProdAttrDO().getOrderMaxLen()));
pmPdContSumDO.setOrderLenMin(BigDecimal.valueOf(gPreOrders.get(0).getInfoPmProContProdAttrDO().getOrderMinLen()));
@ -2229,6 +2318,7 @@ public class SubController {
pmPdContSumDO.setLastUpdatedBy(781L);
pmPdContSumDO.setCreationDate(now);
pmPdContSumDO.setLastUpdateDate(now);
pmPdContSumDO.setAxisFlag(0);//TODO 轴合同标记暂时默认0
SetPmCmdCont(pmPdContSumDO, gPreOrders.get(0));//命令参数表
pmPdContSumDOList.add(pmPdContSumDO);
}
@ -2244,6 +2334,7 @@ public class SubController {
PmSmallPltPosDO pmSmallPltPosDO = new PmSmallPltPosDO();
pmSmallPltPosDO.setPdMatNo(ggcr.getVirtualSlabNo());
pmSmallPltPosDO.setOrderNo(gpo.getOrderNo());
pmSmallPltPosDO.setProContId(gpo.getInfoPmProContDo().getProContId());
pmSmallPltPosDO.setOrderSeqNo(j + 1);
pmSmallPltPosDO.setSlabNo(ggcr.getSlabNo());
Optional<PmProContProdAttrDO> resultPmProContProdAttrDO = plistPmProContProdAttrDO.stream()
@ -2302,12 +2393,17 @@ public class SubController {
pmCmdSlabDO.setPreCleanSlabWt(pmPdSlabDO.getPreCleanSlabWt());
pmCmdSlabDO.setPreCleanSlabMaxWt(pmPdSlabDO.getPreCleanSlabMaxWt());
pmCmdSlabDO.setPreCleanSlabMinWt(pmPdSlabDO.getPreCleanSlabMinWt());
Long slabPdQty = plistPmPdSlabInfoDO.stream()
.filter(item -> item != null && pmPdSlabDO != null && pmPdSlabDO.getSlabNo() != null && pmPdSlabDO.getSlabNo().equals(item.getSlabNo()))
.count();
if(slabPdQty>0){
Optional<PmPdSlabInfoDO> resultPmPdSlabInfoDO = plistPmPdSlabInfoDO.stream()
.filter(item -> pmPdSlabDO.getSlabNo().equals(item.getSlabNo()))
.findFirst();
pmCmdSlabDO.setMoldThick(resultPmPdSlabInfoDO.get().getMatActThick().intValue());
pmCmdSlabDO.setMoldWid(resultPmPdSlabInfoDO.get().getMatActWidth().intValue());
}
pmCmdSlabDO.setInfurSlabThick(pmPdSlabDO.getInfurSlabThick());
pmCmdSlabDO.setInfurSlabWid(pmPdSlabDO.getInfurSlabWid());
@ -2336,6 +2432,7 @@ public class SubController {
pmCmdSlabDO.setMscLineNo(pmPdSlabDO.getMscLineNo());
pmCmdSlabDO.setIngotType(pmPdSlabDO.getIngotType());
pmCmdSlabDO.setIgMatDesignKind(pmPdSlabDO.getIgMatDesignKind());
pmCmdSlabDO.setOrderNoAxis(pmPdSlabDO.getOrderNoAxis());
pmCmdSlabDO.setCreatedBy(781L);//TODO 创建人修改人暂时默认781 BKGY
pmCmdSlabDO.setLastUpdatedBy(781L);
pmCmdSlabDO.setCreationDate(now);
@ -2514,14 +2611,24 @@ public class SubController {
pmCmdContDO.setHeadCut(pmPdSlabDOItem.get().getHeadCut().intValue());
pmCmdContDO.setTailCut(pmPdSlabDOItem.get().getTailCut().intValue());
pmCmdContDO.setCutModeCode(pmContMscTechDOItem.get().getAdModeCode());
if(pmContMscTechDOItem.get().getGFlag() != null){
pmCmdContDO.setGFlag(String.valueOf(pmContMscTechDOItem.get().getGFlag()));
}
if(pmContMscTechDOItem.get().getCsFlag() != null){
pmCmdContDO.setCsFlag(String.valueOf(pmContMscTechDOItem.get().getCsFlag()));
}
if(pmContMscTechDOItem.get().getDssFlag() != null){
pmCmdContDO.setDssFlag(String.valueOf(pmContMscTechDOItem.get().getDssFlag()));
}
if(pmContMscTechDOItem.get().getDsFlag() != null){
pmCmdContDO.setDsFlag(String.valueOf(pmContMscTechDOItem.get().getDsFlag()));
}
if(pmContMscTechDOItem.get().getSsFlag() != null){
pmCmdContDO.setSsFlag(String.valueOf(pmContMscTechDOItem.get().getSsFlag()));
}
pmCmdContDO.setHeatTreatMode(pmContMscTechDOItem.get().getHeatTreatMode());
pmCmdContDO.setUltDetectMethodCode(pmContMscTechDOItem.get().getUltDetectMethodCode());
pmCmdContDO.setUltCode("");//TODO 遍根据合同号从质量模块MES合同主档QD_TO_PO_ORDER读取超声探伤标准1、超声探伤标2、超声探伤标3、超声探伤标4、超声探伤标5去重后所有数据用-’拼接成一条记录
pmCmdContDO.setUltCode(pmPdSlabDOItem.get().getUltCode());//TODO 遍根据合同号从质量模块MES合同主档QD_TO_PO_ORDER读取超声探伤标准1、超声探伤标2、超声探伤标3、超声探伤标4、超声探伤标5去重后所有数据用-’拼接成一条记录
pmCmdContDO.setMscLineNo(mscLineNo);
pmCmdContDO.setCreatedBy(781L);//TODO 创建人修改人暂时默认781 BKGY
pmCmdContDO.setLastUpdatedBy(781L);
@ -2556,4 +2663,28 @@ public class SubController {
pmCmdSmallPltDOList.add(pmCmdSmallPltDO);
}
public void SaveData() {
subService.batchInsertPmPdSlab(pmPdSlabDOList);
System.out.println("PmPdSlab表一保存成功");
subService.batchInsertPmCmdSlab(pmCmdSlabDOList);
System.out.println("PmCmdSlab表二保存成功");
subService.batchInsertPmCmdLargePlt(pmCmdLargePltDOList);
System.out.println("pmCmdLargePltDO 命令大板 保存成功");
subService.batchInsertPmPdPlateCut(pmPdPlateCutDOList);
System.out.println("PmPdPlateCut 大板粗切位置表 保存成功");
subService.batchInsertPmPdBlockPos(pmPdBlockPosDOList);
System.out.println("PmPdBlockPos 组合子板位置表 保存成功");
subService.batchInsertPmPdContSum(pmPdContSumDOList);
System.out.println("PmPdContSum 合同总量表 保存成功");
subService.batchInsertPmSmallPltPos(pmSmallPltPosDOList);
System.out.println("PmSmallPltPos 命令小板位置表 保存成功");
subService.batchInsertPmCmdSmallPlt(pmCmdSmallPltDOList);
System.out.println("PmCmdSmallPlt 命令小板表 保存成功");
subService.batchInsertPmCmdCont(pmCmdContDOList);
System.out.println("PmCmdCont 命令参数 保存成功");
// subService.SaveData(pmPdSlabDOList, pmPdPlateCutDOList, pmPdBlockPosDOList, pmPdContSumDOList, pmSmallPltPosDOList, pmCmdSlabDOList, pmCmdLargePltDOList, pmCmdContDOList, pmCmdSmallPltDOList);
}
}

@ -5,6 +5,7 @@ import net.xdclass.shopmanager.model.*;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
@ -100,4 +101,44 @@ public interface SubMapper extends BaseMapper<Map> {
List<PmPdSlabInfoDO> getPmPdSlabInfo();
List<QdToPoOrderDO> getQdToPoOrder();
BigDecimal getMaxPmPdSlabId();
void batchInsertPmPdSlab(@Param("list") List<PmPdSlabDO> pmPdSlabDOList);
void batchInsertPmCmdSlab(@Param("list") List<PmCmdSlabDO> pmCmdSlabDOList);
BigDecimal getMaxPmCmdSlabId();
void insertPmPdSlab(PmPdSlabDO p);
void insertPmCmdSlab(PmCmdSlabDO pmCmdSlabDO);
BigDecimal getMaxPmCmdLargePltId();
void insertPmCmdLargePlt(PmCmdLargePltDO pmCmdLargePltDO);
BigDecimal getMaxPmPdPlateCutId();
void insertPmPdPlateCut(PmPdPlateCutDO pmPdPlateCutDO);
BigDecimal getMaxPmPdBlockPosId();
void insertPmPdBlockPos(PmPdBlockPosDO pmPdBlockPosDO);
BigDecimal getMaxPmPdContSumId();
void insertPmPdContSum(PmPdContSumDO pmPdContSumDO);
BigDecimal getMaxPmSmallPltPosId();
void insertPmSmallPltPos(PmSmallPltPosDO pmSmallPltPosDO);
BigDecimal getMaxPmCmdSmallPltId();
void insertPmCmdSmallPlt(PmCmdSmallPltDO pmCmdSmallPltDO);
BigDecimal getMaxPmCmdContId();
void insertPmCmdCont(PmCmdContDO pmCmdContDO);
}

@ -97,4 +97,26 @@ public interface SubService {
List<PmPdSlabInfoDO> getPmPdSlabInfo();
List<QdToPoOrderDO> getQdToPoOrder();
void SaveData(List<PmPdSlabDO> pmPdSlabDOList, List<PmPdPlateCutDO> pmPdPlateCutDOList, List<PmPdBlockPosDO> pmPdBlockPosDOList, List<PmPdContSumDO> pmPdContSumDOList, List<PmSmallPltPosDO> pmSmallPltPosDOList, List<PmCmdSlabDO> pmCmdSlabDOList, List<PmCmdLargePltDO> pmCmdLargePltDOList, List<PmCmdContDO> pmCmdContDOList, List<PmCmdSmallPltDO> pmCmdSmallPltDOList);
void batchInsertPmPdSlab(List<PmPdSlabDO> pmPdSlabDOList);
void batchInsertPmCmdSlab(List<PmCmdSlabDO> pmCmdSlabDOList);
void insertPmPdSlab(PmPdSlabDO p);
void batchInsertPmCmdLargePlt(List<PmCmdLargePltDO> pmCmdLargePltDOList);
void batchInsertPmPdPlateCut(List<PmPdPlateCutDO> pmPdPlateCutDOList);
void batchInsertPmPdBlockPos(List<PmPdBlockPosDO> pmPdBlockPosDOList);
void batchInsertPmPdContSum(List<PmPdContSumDO> pmPdContSumDOList);
void batchInsertPmSmallPltPos(List<PmSmallPltPosDO> pmSmallPltPosDOList);
void batchInsertPmCmdSmallPlt(List<PmCmdSmallPltDO> pmCmdSmallPltDOList);
void batchInsertPmCmdCont(List<PmCmdContDO> pmCmdContDOList);
}

@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List;
@Service
@ -243,5 +244,116 @@ public class SubServiceImpl implements SubService {
return subMapper.getQdToPoOrder();
}
@Override
public void SaveData(List<PmPdSlabDO> pmPdSlabDOList, List<PmPdPlateCutDO> pmPdPlateCutDOList, List<PmPdBlockPosDO> pmPdBlockPosDOList, List<PmPdContSumDO> pmPdContSumDOList, List<PmSmallPltPosDO> pmSmallPltPosDOList, List<PmCmdSlabDO> pmCmdSlabDOList, List<PmCmdLargePltDO> pmCmdLargePltDOList, List<PmCmdContDO> pmCmdContDOList, List<PmCmdSmallPltDO> pmCmdSmallPltDOList) {
}
@Override
public void batchInsertPmPdSlab(List<PmPdSlabDO> pmPdSlabDOList) {
BigDecimal id = subMapper.getMaxPmPdSlabId();
for (int i = 0 ; i < pmPdSlabDOList.size() ; i++){
pmPdSlabDOList.get(i).setPmPdSlabId(id.add(BigDecimal.valueOf(i+1)));
pmPdSlabDOList.get(i).setTenantId(BigDecimal.valueOf(1));
pmPdSlabDOList.get(i).setObjectVersionNumber(BigDecimal.valueOf(1));
subMapper.insertPmPdSlab(pmPdSlabDOList.get(i));
}
// subMapper.batchInsertPmPdSlab(pmPdSlabDOList);
}
@Override
public void batchInsertPmCmdSlab(List<PmCmdSlabDO> pmCmdSlabDOList) {
BigDecimal id = subMapper.getMaxPmCmdSlabId();
for (int i = 0 ; i < pmCmdSlabDOList.size() ; i++){
pmCmdSlabDOList.get(i).setPmCmdSlabId(id.add(BigDecimal.valueOf(i+1)));
pmCmdSlabDOList.get(i).setTenantId(BigDecimal.valueOf(1));
pmCmdSlabDOList.get(i).setObjectVersionNumber(BigDecimal.valueOf(1));
subMapper.insertPmCmdSlab(pmCmdSlabDOList.get(i));
}
// subMapper.batchInsertPmCmdSlab(pmCmdSlabDOList);
}
@Override
public void insertPmPdSlab(PmPdSlabDO p) {
subMapper.insertPmPdSlab(p);
}
@Override
public void batchInsertPmCmdLargePlt(List<PmCmdLargePltDO> pmCmdLargePltDOList) {
BigDecimal id = subMapper.getMaxPmCmdLargePltId();
for (int i = 0 ; i < pmCmdLargePltDOList.size() ; i++){
pmCmdLargePltDOList.get(i).setPmCmdLargePltId(id.add(BigDecimal.valueOf(i+1)));
pmCmdLargePltDOList.get(i).setTenantId(BigDecimal.valueOf(1));
pmCmdLargePltDOList.get(i).setObjectVersionNumber(BigDecimal.valueOf(1));
subMapper.insertPmCmdLargePlt(pmCmdLargePltDOList.get(i));
}
}
@Override
public void batchInsertPmPdPlateCut(List<PmPdPlateCutDO> pmPdPlateCutDOList) {
BigDecimal id = subMapper.getMaxPmPdPlateCutId();
for (int i = 0 ; i < pmPdPlateCutDOList.size() ; i++){
pmPdPlateCutDOList.get(i).setCutId(id.add(BigDecimal.valueOf(i+1)));
pmPdPlateCutDOList.get(i).setTenantId(BigDecimal.valueOf(1));
pmPdPlateCutDOList.get(i).setObjectVersionNumber(BigDecimal.valueOf(1));
subMapper.insertPmPdPlateCut(pmPdPlateCutDOList.get(i));
}
}
@Override
public void batchInsertPmPdBlockPos(List<PmPdBlockPosDO> pmPdBlockPosDOList) {
BigDecimal id = subMapper.getMaxPmPdBlockPosId();
for (int i = 0 ; i < pmPdBlockPosDOList.size() ; i++){
pmPdBlockPosDOList.get(i).setPdBlockPosId(id.add(BigDecimal.valueOf(i+1)));
pmPdBlockPosDOList.get(i).setTenantId(BigDecimal.valueOf(1));
pmPdBlockPosDOList.get(i).setObjectVersionNumber(BigDecimal.valueOf(1));
subMapper.insertPmPdBlockPos(pmPdBlockPosDOList.get(i));
}
}
@Override
public void batchInsertPmPdContSum(List<PmPdContSumDO> pmPdContSumDOList) {
BigDecimal id = subMapper.getMaxPmPdContSumId();
for (int i = 0 ; i < pmPdContSumDOList.size() ; i++){
pmPdContSumDOList.get(i).setPpcsId(id.add(BigDecimal.valueOf(i+1)));
pmPdContSumDOList.get(i).setTenantId(BigDecimal.valueOf(1));
pmPdContSumDOList.get(i).setObjectVersionNumber(BigDecimal.valueOf(1));
subMapper.insertPmPdContSum(pmPdContSumDOList.get(i));
}
}
@Override
public void batchInsertPmSmallPltPos(List<PmSmallPltPosDO> pmSmallPltPosDOList) {
BigDecimal id = subMapper.getMaxPmSmallPltPosId();
for (int i = 0 ; i < pmSmallPltPosDOList.size() ; i++){
pmSmallPltPosDOList.get(i).setPsppId(id.add(BigDecimal.valueOf(i+1)));
pmSmallPltPosDOList.get(i).setTenantId(BigDecimal.valueOf(1));
pmSmallPltPosDOList.get(i).setObjectVersionNumber(BigDecimal.valueOf(1));
subMapper.insertPmSmallPltPos(pmSmallPltPosDOList.get(i));
}
}
@Override
public void batchInsertPmCmdSmallPlt(List<PmCmdSmallPltDO> pmCmdSmallPltDOList) {
BigDecimal id = subMapper.getMaxPmCmdSmallPltId();
for (int i = 0 ; i < pmCmdSmallPltDOList.size() ; i++){
pmCmdSmallPltDOList.get(i).setPmCmdSmallPltId(id.add(BigDecimal.valueOf(i+1)));
pmCmdSmallPltDOList.get(i).setTenantId(BigDecimal.valueOf(1));
pmCmdSmallPltDOList.get(i).setObjectVersionNumber(BigDecimal.valueOf(1));
subMapper.insertPmCmdSmallPlt(pmCmdSmallPltDOList.get(i));
}
}
@Override
public void batchInsertPmCmdCont(List<PmCmdContDO> pmCmdContDOList) {
BigDecimal id = subMapper.getMaxPmCmdContId();
for (int i = 0 ; i < pmCmdContDOList.size() ; i++){
pmCmdContDOList.get(i).setPmCmdContId(id.add(BigDecimal.valueOf(i+1)));
pmCmdContDOList.get(i).setTenantId(BigDecimal.valueOf(1));
pmCmdContDOList.get(i).setObjectVersionNumber(BigDecimal.valueOf(1));
subMapper.insertPmCmdCont(pmCmdContDOList.get(i));
}
}
}

@ -0,0 +1,58 @@
package net.xdclass.shopmanager.tool.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.stereotype.Component;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.DefaultTransactionDefinition;
/**
* @author holly
* @date 2023/4/13
* @description
*/
@Component
public class TransactionService {
@Autowired
private DataSourceTransactionManager transactionManager;
/**
*
*/
public TransactionStatus begin() {
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
//事物隔离级别(读已提交)
def.setIsolationLevel(TransactionDefinition.ISOLATION_READ_COMMITTED);
//默认事务
return transactionManager.getTransaction(def);
}
/**
*
*/
public TransactionStatus begin(int isolationLevel, int propagationBehavior) {
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
//事物隔离级别
def.setIsolationLevel(isolationLevel);
//事务传播行为
def.setPropagationBehavior(propagationBehavior);
//默认事务
return transactionManager.getTransaction(def);
}
/**
*
*/
public void commit(TransactionStatus transactionStatus) {
//提交事务
transactionManager.commit(transactionStatus);
}
/**
*
*/
public void rollback(TransactionStatus transactionStatus) {
transactionManager.rollback(transactionStatus);
}
}

@ -125,6 +125,11 @@
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn" />
<!-- MyBatis SQL 日志记录 -->
<logger name="net.xdclass.shopmanager.mapper" level="DEBUG" additivity="false">
<appender-ref ref="console"/>
</logger>
<root level="info">
<appender-ref ref="console" />
</root>

Loading…
Cancel
Save