From 55cb4daf506ad8f3c637f6e3d9bc7df41e538b2e Mon Sep 17 00:00:00 2001 From: liuxm <liuxm@fescotech.com> Date: 星期二, 21 五月 2024 09:14:38 +0800 Subject: [PATCH] 产品和工站导出;不合格原因报废原因添加排序和与产品的关联; --- pms-parent/pms-web-platform/src/main/java/com/dy/pmsPlatform/product/ProductSv.java | 48 +++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 41 insertions(+), 7 deletions(-) diff --git a/pms-parent/pms-web-platform/src/main/java/com/dy/pmsPlatform/product/ProductSv.java b/pms-parent/pms-web-platform/src/main/java/com/dy/pmsPlatform/product/ProductSv.java index 2c1dcaf..0ee58f1 100644 --- a/pms-parent/pms-web-platform/src/main/java/com/dy/pmsPlatform/product/ProductSv.java +++ b/pms-parent/pms-web-platform/src/main/java/com/dy/pmsPlatform/product/ProductSv.java @@ -1,5 +1,6 @@ package com.dy.pmsPlatform.product; +import com.alibaba.excel.util.StringUtils; import com.dy.common.webUtil.QueryResultVo; import com.dy.pmsGlobal.daoOth.OthFileMapper; import com.dy.pmsGlobal.daoPlt.PltProParamsMapper; @@ -15,6 +16,7 @@ import org.apache.dubbo.common.utils.PojoUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.dao.DuplicateKeyException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -35,6 +37,9 @@ @Value("${dy.webFile.fmUrl}") private String fmUrl ; + + private static final String DEFAULT_CODE = "001"; + private static final String CODE_FORMAT = "%03d"; @Autowired public void setFileOperate(FileOperate fileOperate){ @@ -65,12 +70,38 @@ @Transactional public int save(PltProduct p) { - int count = dao.insert(p); - if(count>0){ - saveProRel(p); - } - return count; + int flag=0; + do { + p.code = getNextCode(); + try { + int count = dao.insertSelective(p); + if (count > 0) { + saveProRel(p); + return count; + } + } catch (DuplicateKeyException e) { + // 濡傛灉鍑虹幇鍞竴绾︽潫杩濆弽寮傚父锛屽皾璇曡幏鍙栨柊鐨刢ode骞堕噸璇� + log.warn("鎻掑叆浜у搧鏃堕亣鍒板敮涓�绾︽潫寮傚父锛屽皾璇曡幏鍙栨柊鐨刢ode", e); + } + flag++; + } while (flag<5); + return 0; } + private String getNextCode(){ + log.info("鑾峰彇浜у搧缂栧彿"); + String maxCode = dao.selectMaxCode(); + if (StringUtils.isBlank(maxCode)) { + return DEFAULT_CODE; + } else { + int nextCode = Integer.parseInt(maxCode) + 1; + // 妫�鏌ユ孩鍑� + if (nextCode > 999) { + throw new RuntimeException("浜у搧缂栧彿婧㈠嚭"); + } + return String.format(CODE_FORMAT, nextCode); + } + } + @Transactional public int update(PltProduct p) { int count = dao.updateByPrimaryKeySelective(p); @@ -187,7 +218,10 @@ } - public List<PltProduct> selectAll() { - return dao.selectAll(); + public List<PltProduct> selectAll(QueryVo queryVo) { + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); + return dao.selectAll(params); } + + } -- Gitblit v1.8.0