From 2d3ce50368d04eb834ea0cbca6ecb4068ab3b4ed Mon Sep 17 00:00:00 2001 From: zhousq Date: Fri, 24 May 2024 16:59:48 +0800 Subject: [PATCH] =?UTF-8?q?2024-05-24=20=E8=B4=A8=E6=A3=80=E5=88=86?= =?UTF-8?q?=E7=BB=84=E5=A2=9E=E5=8A=A0=E5=88=A0=E9=99=A4=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=EF=BC=8C=E5=A4=84=E7=90=86=E5=AF=BC=E5=85=A5=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=9B=E8=B4=A8=E6=A3=80=E7=B1=BB=E5=88=AB?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=88=A0=E9=99=A4=E6=A0=A1=E9=AA=8C=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=8A=9F=E8=83=BD=E9=94=99=E8=AF=AF=EF=BC=9B?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AF=A5wms=E7=9A=84=E5=B7=A5=E5=BA=8F?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3=EF=BC=9B=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E4=BB=A3=E7=A0=81=EF=BC=9B=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E8=B4=A8=E6=A3=80=E9=A1=B9=E7=9B=AE=E7=9A=84=E5=BD=95=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/mes/enums/ErrorCodeConstants.java | 8 +- .../controller/qmsitem/vo/QmsItemBaseVO.java | 2 +- .../service/holiday/HolidayServiceImpl.java | 6 +- .../service/qmsitem/QmsItemServiceImpl.java | 7 +- .../QmsQualityclassServiceImpl.java | 35 +++- .../QmsQualitygroupServiceImpl.java | 166 +++++++++++------- .../api/process/ProcessServiceApiImpl.java | 12 +- .../wms/service/process/ProcessService.java | 2 + .../service/process/ProcessServiceImpl.java | 6 + 9 files changed, 164 insertions(+), 80 deletions(-) diff --git a/win-module-mes/win-module-mes-api/src/main/java/com/win/module/mes/enums/ErrorCodeConstants.java b/win-module-mes/win-module-mes-api/src/main/java/com/win/module/mes/enums/ErrorCodeConstants.java index 2151e24518..7e95438145 100644 --- a/win-module-mes/win-module-mes-api/src/main/java/com/win/module/mes/enums/ErrorCodeConstants.java +++ b/win-module-mes/win-module-mes-api/src/main/java/com/win/module/mes/enums/ErrorCodeConstants.java @@ -86,12 +86,16 @@ public interface ErrorCodeConstants { // ========== 质检 1-006-004-000 ========== - ErrorCode QUALITYCLASS_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_006_004_001, "质量类别基本信息不存在"); + ErrorCode QUALITYCLASS_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_006_004_001, "质量类别导入数据为空!"); + ErrorCode QUALITYCLASS_IS_NOTEXISTS = new ErrorCode(1_006_004_017, "质检类别数据不存在!"); + ErrorCode QUALITYCLASS_IS_INUSE= new ErrorCode(1_006_004_018, "质检类别已经被使用!"); ErrorCode QUALITYCLASS_LIST_IS_EXIT = new ErrorCode(1_006_004_002, "已存在质量类别编码"); ErrorCode QUALITYCLASS_ERRORMODE = new ErrorCode(1_006_004_003, "未知的导入模式"); ErrorCode QUALITYCLASS_ERROR = new ErrorCode(1_006_004_004, "质检系统异常"); ErrorCode QUALITYGROUP_LIST_IS_EXIT = new ErrorCode(1_006_004_005, "已存在质检分组编码"); - ErrorCode QUALITYGROUP_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_006_004_006, "质检分组基本信息不存在"); + ErrorCode QUALITYGROUP_IS_NOT_EXIST = new ErrorCode(1_006_004_016, "质检分组信息不存在"); + ErrorCode QUALITYGROUP_IS_INUSE = new ErrorCode(1_006_004_016, "质检分组信息已经被使用!"); + ErrorCode QUALITYGROUP_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_006_004_006, "导入的质检分组信息为空!"); ErrorCode QUALITYITEM_LIST_IS_EXIT = new ErrorCode(1_006_004_007, "已存在质检项目编码"); ErrorCode QUALITYITEM_LIST_IS_EMPTY = new ErrorCode(1_006_004_008, "质检项目基本信息不存在"); ErrorCode QUALITYFORM_LIST_IS_EXIT = new ErrorCode(1_006_004_009, "已存在质检表单编码"); diff --git a/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/qmsitem/vo/QmsItemBaseVO.java b/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/qmsitem/vo/QmsItemBaseVO.java index bc340675d1..2ccb3bd614 100644 --- a/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/qmsitem/vo/QmsItemBaseVO.java +++ b/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/qmsitem/vo/QmsItemBaseVO.java @@ -45,7 +45,7 @@ public class QmsItemBaseVO { @NotNull(message = "项目名称不能为空") private String itemName; - @Schema(description = "类别编码", example = "1") + @Schema(description = "分组编码", example = "1") private String itemType; @Schema(description = "质检科目编码",requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/holiday/HolidayServiceImpl.java b/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/holiday/HolidayServiceImpl.java index 50b3159f61..1155ffa73b 100644 --- a/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/holiday/HolidayServiceImpl.java +++ b/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/holiday/HolidayServiceImpl.java @@ -1,6 +1,8 @@ package com.win.module.mes.service.holiday; import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.module.mes.controller.holiday.vo.*; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -86,7 +88,9 @@ public class HolidayServiceImpl implements HolidayService { } @Override public List getHolidayListYear(String year){ - return holidayMapper.selectList("holiday_year",year); + LambdaQueryWrapperX wrapper=new LambdaQueryWrapperX(); + wrapper.eq(HolidayDO::getHolidayYear,year).eq(HolidayDO::getStatus,"1"); + return holidayMapper.selectList(wrapper); } @Override public List importHolidayList(List datas, Integer mode, boolean updatePart) { diff --git a/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/qmsitem/QmsItemServiceImpl.java b/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/qmsitem/QmsItemServiceImpl.java index 88ba96571e..1843ed1272 100644 --- a/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/qmsitem/QmsItemServiceImpl.java +++ b/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/qmsitem/QmsItemServiceImpl.java @@ -7,6 +7,7 @@ import com.win.module.mes.dal.mysql.qmsqualityform.QmsQualityformMapper; import com.win.module.mes.controller.qmsqualityform.vo.QmsQualityformCreateReqVO; import com.win.module.mes.dal.dataobject.qmsqualityform.QmsQualityformDO; import com.win.module.mes.enums.EnumUtils; +import com.win.module.system.api.user.AdminUserApi; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -26,7 +27,7 @@ import com.win.module.mes.dal.mysql.qmsitem.QmsItemMapper; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.module.mes.enums.ErrorCodeConstants.*; - +//import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; /** * 质检项目定义 Service 实现类 @@ -39,6 +40,8 @@ public class QmsItemServiceImpl implements QmsItemService { @Resource private QmsItemMapper itemMapper; + @Resource + private AdminUserApi userApi; @Resource private QmsQualityformMapper qualityformMapper; @@ -52,6 +55,8 @@ public class QmsItemServiceImpl implements QmsItemService { // 插入 QmsItemDO item = QmsItemConvert.INSTANCE.convert(createReqVO); +// item.setCreator(userApi.getUser(getLoginUserId()).getUsername()); +// item.setCreateTime() itemMapper.insert(item); // 返回 return item.getId(); diff --git a/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/qmsqualityclass/QmsQualityclassServiceImpl.java b/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/qmsqualityclass/QmsQualityclassServiceImpl.java index 8b91cbeb6a..b3d90980ff 100644 --- a/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/qmsqualityclass/QmsQualityclassServiceImpl.java +++ b/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/qmsqualityclass/QmsQualityclassServiceImpl.java @@ -3,11 +3,16 @@ package com.win.module.mes.service.qmsqualityclass; import cn.hutool.core.collection.CollUtil; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; +import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.module.mes.controller.qmsqualityclass.vo.*; import com.win.module.mes.convert.qmsqualityclass.QmsQualityclassConvert; +import com.win.module.mes.dal.dataobject.qmsitem.QmsItemDO; import com.win.module.mes.dal.dataobject.qmsqualityclass.QmsQualityclassDO; +import com.win.module.mes.dal.dataobject.qmsqualitygroup.QmsQualitygroupDO; +import com.win.module.mes.dal.mysql.qmsitem.QmsItemMapper; import com.win.module.mes.dal.mysql.qmsqualityclass.QmsQualityclassMapper; import com.win.module.mes.enums.EnumUtils; +import com.win.module.system.util.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; @@ -34,7 +39,8 @@ public class QmsQualityclassServiceImpl implements QmsQualityclassService { @Resource private QmsQualityclassMapper qualityclassMapper; - + @Resource + private QmsItemMapper itemMapper; @Override public Integer createQualityclass(QmsQualityclassCreateReqVO createReqVO) { boolean falg = this.validateQmsQualityclassCreate(createReqVO); @@ -62,6 +68,9 @@ public class QmsQualityclassServiceImpl implements QmsQualityclassService { public Integer updateQualityclass(QmsQualityclassUpdateReqVO updateReqVO) { // 校验存在 validateQualityclassExists(updateReqVO.getId()); + if(updateReqVO.getStatus().equals("2")){ + validateQualityclassUsed(updateReqVO.getCode()); + } // 更新 QmsQualityclassDO updateObj = QmsQualityclassConvert.INSTANCE.convert(updateReqVO); return qualityclassMapper.updateById(updateObj); @@ -70,17 +79,31 @@ public class QmsQualityclassServiceImpl implements QmsQualityclassService { @Override public Integer deleteQualityclass(Integer id) { // 校验存在 - validateQualityclassExists(id); - // 删除 - return qualityclassMapper.deleteById(id); + QmsQualityclassDO dao = qualityclassMapper.selectById(id); + if(StringUtils.isNotNull(dao)){ + //增加是否被引用的校验 + validateQualityclassUsed(dao.getCode()); + // 删除 + return qualityclassMapper.deleteById(id); + }else{ + throw exception(QUALITYCLASS_IS_NOTEXISTS); + } + } private void validateQualityclassExists(Integer id) { if (qualityclassMapper.selectById(id) == null) { - //throw exception(QUALITYCLASS_NOT_EXISTS); + throw exception(QUALITYCLASS_IS_NOTEXISTS); + } + } + /**验证是否被使用*/ + private void validateQualityclassUsed(String code) { + LambdaQueryWrapperX queryWrapper = new LambdaQueryWrapperX(); + queryWrapper.eq(QmsItemDO::getQmsClass,code).eq(QmsItemDO::getDeleted,"0"); + if(StringUtils.isNotEmpty(itemMapper.selectList(queryWrapper))){ + throw exception(QUALITYCLASS_IS_INUSE); } } - @Override public QmsQualityclassDO getQualityclass(Integer id) { return qualityclassMapper.selectById(id); diff --git a/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/qmsqualitygroup/QmsQualitygroupServiceImpl.java b/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/qmsqualitygroup/QmsQualitygroupServiceImpl.java index a79c91c012..e1194b975b 100644 --- a/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/qmsqualitygroup/QmsQualitygroupServiceImpl.java +++ b/win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/qmsqualitygroup/QmsQualitygroupServiceImpl.java @@ -1,11 +1,20 @@ package com.win.module.mes.service.qmsqualitygroup; import cn.hutool.core.collection.CollUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.win.framework.mybatis.core.query.QueryWrapperX; import com.win.module.mes.controller.qmsqualitygroup.vo.*; +import com.win.module.mes.dal.dataobject.qmsqualityclass.QmsQualityclassDO; +import com.win.module.mes.dal.mysql.qmsqualityclass.QmsQualityclassMapper; import com.win.module.mes.enums.EnumUtils; +import com.win.module.mes.enums.ErrorCodeConstants; +import com.win.module.system.util.StringUtils; import org.springframework.stereotype.Service; + import javax.annotation.Resource; import org.springframework.transaction.annotation.Transactional; @@ -35,12 +44,13 @@ public class QmsQualitygroupServiceImpl implements QmsQualitygroupService { @Resource private QmsQualitygroupMapper qualitygroupMapper; - + @Resource + private QmsQualityclassMapper qualityclassMapper; @Override public Integer createQualitygroup(QmsQualitygroupCreateReqVO createReqVO) { boolean falg = this.validateQmsQualitygroupCreate(createReqVO); - if(!falg){ + if (!falg) { throw exception(QUALITYGROUP_LIST_IS_EXIT); } // 插入 @@ -54,7 +64,7 @@ public class QmsQualitygroupServiceImpl implements QmsQualitygroupService { private boolean validateQmsQualitygroupCreate(QmsQualitygroupCreateReqVO createReqVO) { boolean flag = true; List qmsQualitygroupDOS = qualitygroupMapper.selectListByCode(createReqVO); - if(qmsQualitygroupDOS.size() > 0){ + if (qmsQualitygroupDOS.size() > 0) { flag = false; } return flag; @@ -64,6 +74,10 @@ public class QmsQualitygroupServiceImpl implements QmsQualitygroupService { public Integer updateQualitygroup(QmsQualitygroupUpdateReqVO updateReqVO) { // 校验存在 validateQualitygroupExists(updateReqVO.getId()); + if(updateReqVO.getStatus() == "2"){ + //增加是否被引用的校验 + validateQualitygroupUsed(updateReqVO.getCode()); + } // 更新 QmsQualitygroupDO updateObj = QmsQualitygroupConvert.INSTANCE.convert(updateReqVO); return qualitygroupMapper.updateById(updateObj); @@ -72,16 +86,36 @@ public class QmsQualitygroupServiceImpl implements QmsQualitygroupService { @Override public Integer deleteQualitygroup(Integer id) { // 校验存在 - validateQualitygroupExists(id); - // 删除 - return qualitygroupMapper.deleteById(id); + QmsQualitygroupDO qmsQualitygroupDO = qualitygroupMapper.selectById(id); + if(StringUtils.isNotNull(qmsQualitygroupDO)){ + //增加是否被引用的校验 + validateQualitygroupUsed(qmsQualitygroupDO.getCode()); + // 删除 + return qualitygroupMapper.deleteById(id); + }else{ + throw exception(QUALITYGROUP_IS_NOT_EXIST); + } + } private void validateQualitygroupExists(Integer id) { if (qualitygroupMapper.selectById(id) == null) { - //throw exception(QUALITYGROUP_NOT_EXISTS); + throw exception(QUALITYGROUP_IS_NOT_EXIST); + } + } + /**验证是否被使用*/ + private void validateQualitygroupUsed(String code) { + LambdaQueryWrapperX queryWrapper = new LambdaQueryWrapperX(); + queryWrapper.eq(QmsQualityclassDO::getGroupCode,code).eq(QmsQualityclassDO::getDeleted,"0"); + if(StringUtils.isNotEmpty(qualityclassMapper.selectList(queryWrapper))){ + throw exception(QUALITYGROUP_IS_INUSE); } } + //add by zhousq 2024-05-24 增加导入时的数据校验 + public QmsQualitygroupDO getQualitygroupByCode(String code) { + + return qualitygroupMapper.selectOne(QmsQualitygroupDO::getCode, code); + } @Override public QmsQualitygroupDO getQualitygroup(Integer id) { @@ -112,77 +146,83 @@ public class QmsQualitygroupServiceImpl implements QmsQualitygroupService { return qualitygroupMapper.selectSenior(conditions); } + /** + * 导入时验证数据的必填内容 + */ + private boolean validateRequried(QmsQualitygroupExcelVO data) { + if (StringUtils.isEmpty(data.getCode()) || StringUtils.isEmpty(data.getName())) { + return false; + } else { + return true; + } + + } + + ///2024-05-24 导入优化 @Override @Transactional public List importQmsQualitygroupList(List datas, Integer mode, boolean updatePart) { - if (CollUtil.isEmpty(datas)) { + //数据预处理 + if (StringUtils.isEmpty(datas)) { //导入数据不能为空 throw exception(QUALITYGROUP_IMPORT_LIST_IS_EMPTY); } - List errorList = new ArrayList<>(); + List insertList = new ArrayList<>(); + List updateList = new ArrayList<>(); datas.forEach(item -> { - boolean flag = true; - - //数据校验逻辑 - - //校验通过 - if(flag){ - QmsQualitygroupCreateReqVO qmsQualitygroupCreateReqVO = new QmsQualitygroupCreateReqVO(); - qmsQualitygroupCreateReqVO.setCode(item.getCode()); - // 判断如果不存在,在进行插入 - List qmsQualitygroupDOS = qualitygroupMapper.selectListByCode(qmsQualitygroupCreateReqVO); - - if (mode == 2) {//追加:只新增,不修改 - if(qmsQualitygroupDOS.size()>0){ - QmsQualitygroupExcelErrorVO qmsQualitygroupExcelErrorVO = new QmsQualitygroupExcelErrorVO(); - qmsQualitygroupExcelErrorVO.setImportStatus("失败"); - qmsQualitygroupExcelErrorVO.setImportRemark(QUALITYGROUP_LIST_IS_EXIT.getMsg()); - errorList.add(qmsQualitygroupExcelErrorVO); - }else{ - qualitygroupMapper.insert(QmsQualitygroupConvert.INSTANCE.convert(item)); - } - } - else if (mode == 3) {//覆盖:只修改不新增 - if(CollectionUtils.isEmpty(qmsQualitygroupDOS)){ - QmsQualitygroupExcelErrorVO qmsQualitygroupExcelErrorVO = new QmsQualitygroupExcelErrorVO(); - qmsQualitygroupExcelErrorVO.setImportStatus("失败"); - qmsQualitygroupExcelErrorVO.setImportRemark(QUALITYGROUP_IMPORT_LIST_IS_EMPTY.getMsg()); - errorList.add(qmsQualitygroupExcelErrorVO); - }else{ - QmsQualitygroupDO updateObj = QmsQualitygroupConvert.INSTANCE.convert(item); - updateObj.setId(qmsQualitygroupDOS.get(0).getId()); - qualitygroupMapper.updateById(updateObj); - } - } - else if (mode == 1){//更新:新增并修改 - try{ - if(CollectionUtils.isEmpty(qmsQualitygroupDOS)){ - qualitygroupMapper.insert(QmsQualitygroupConvert.INSTANCE.convert(item)); - }else if(qmsQualitygroupDOS.size()>0){ - QmsQualitygroupDO updateObj = QmsQualitygroupConvert.INSTANCE.convert(item); - updateObj.setId(qmsQualitygroupDOS.get(0).getId()); - qualitygroupMapper.updateById(updateObj); - } - }catch (Exception e){ - QmsQualitygroupExcelErrorVO qmsQualitygroupExcelErrorVO = new QmsQualitygroupExcelErrorVO(); - qmsQualitygroupExcelErrorVO.setImportStatus("失败"); - qmsQualitygroupExcelErrorVO.setImportRemark(QUALITYCLASS_ERROR.getMsg()); - errorList.add(qmsQualitygroupExcelErrorVO); - } - - }else{ + try { + if (!validateRequried(item)) { // 数据项验证通过 + //编码不存在 QmsQualitygroupExcelErrorVO qmsQualitygroupExcelErrorVO = new QmsQualitygroupExcelErrorVO(); - qmsQualitygroupExcelErrorVO.setImportStatus("失败"); - qmsQualitygroupExcelErrorVO.setImportRemark(QUALITYCLASS_ERRORMODE.getMsg()); + qmsQualitygroupExcelErrorVO.setImportStatus("错误"); + qmsQualitygroupExcelErrorVO.setImportRemark("编码、名称等关键数据项为空!" + JSONObject.toJSONString(item)); errorList.add(qmsQualitygroupExcelErrorVO); + } else { + //校验数据项是否存在 + QmsQualitygroupDO udo = getQualitygroupByCode(item.getCode()); + if (null == udo) { //不存在可以进行插入 + if (mode == 1 || mode == 2) { + QmsQualitygroupDO insert = QmsQualitygroupConvert.INSTANCE.convert(item); // 数据去重 + if (insertList.stream().filter(find -> find.getCode().equals(insert.getCode())).findFirst().isEmpty()) { + insertList.add(insert); + }else{ + QmsQualitygroupExcelErrorVO qmsQualitygroupExcelErrorVO = new QmsQualitygroupExcelErrorVO(); + qmsQualitygroupExcelErrorVO.setImportStatus("错误"); + qmsQualitygroupExcelErrorVO.setImportRemark("编码数据重复-编码" +item.getCode()); + errorList.add(qmsQualitygroupExcelErrorVO); + } + } + } else { + if (mode != 1) { + QmsQualitygroupDO convert = QmsQualitygroupConvert.INSTANCE.convert(item); + convert.setId(udo.getId()); + updateList.add(convert); + } + } } + } catch (Exception e) { + // + QmsQualitygroupExcelErrorVO qmsQualitygroupExcelErrorVO = new QmsQualitygroupExcelErrorVO(); + qmsQualitygroupExcelErrorVO.setImportStatus("错误"); + qmsQualitygroupExcelErrorVO.setImportRemark("数据异常" + JSONObject.toJSONString(item)); + errorList.add(qmsQualitygroupExcelErrorVO); } - }); - if (!CollectionUtils.isEmpty(errorList)) { + }); + //错误不为空并非部分更新,手工回滚 + if (!errorList.isEmpty() && !updatePart) { + // 有数据错误,且不允许部分更新 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } else { + //无错误或 + //insert 的时候需要进行去重 + qualitygroupMapper.insertBatch(insertList); + if (StringUtils.isNotEmpty(updateList)) { + qualitygroupMapper.updateBatch(updateList); + } } return errorList; } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/api/process/ProcessServiceApiImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/api/process/ProcessServiceApiImpl.java index 1cf7b102e0..6d2d5efcf9 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/api/process/ProcessServiceApiImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/api/process/ProcessServiceApiImpl.java @@ -1,9 +1,9 @@ package com.win.module.wms.api.process; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; + import com.win.module.wms.api.process.dto.ProcessApiDO; import com.win.module.wms.dal.dataobject.process.ProcessDO; -import com.win.module.wms.dal.mysql.process.ProcessMapper; +import com.win.module.wms.service.process.ProcessService; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -11,16 +11,16 @@ import java.util.ArrayList; import java.util.List; @Service public class ProcessServiceApiImpl implements ProcessServiceApi { +// @Resource +// private ProcessMapper processMapper; @Resource - private ProcessMapper processMapper; + private ProcessService processService; @Override public List getProcessList(ProcessApiDO processApiDO) { ProcessDO processDO=new ProcessDO(); processDO.setAvailable(processApiDO.getAvailable()); - QueryWrapper queryWrapper=new QueryWrapper<>(); - queryWrapper.setEntity(processDO); - return converList(processMapper.selectList(queryWrapper)) ; + return converList(processService.getProcessListWrapper(processDO)) ; } private ProcessApiDO convert(ProcessDO processDO){ ProcessApiDO ret=new ProcessApiDO(); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/process/ProcessService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/process/ProcessService.java index 0b65898b3b..dd9179c6e5 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/process/ProcessService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/process/ProcessService.java @@ -1,5 +1,6 @@ package com.win.module.wms.service.process; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.process.vo.*; @@ -81,6 +82,7 @@ public interface ProcessService { * @return 工序列表 */ List getProcessList(ProcessExportReqVO exportReqVO); + List getProcessListWrapper(ProcessDO processDO); List importProcessList(List processes, Integer mode, Boolean updatePart); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/process/ProcessServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/process/ProcessServiceImpl.java index 775417df67..1634635d57 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/process/ProcessServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/process/ProcessServiceImpl.java @@ -99,6 +99,12 @@ public class ProcessServiceImpl implements ProcessService { public List getProcessList(ProcessExportReqVO exportReqVO) { return processMapper.selectList(exportReqVO); } + @Override + public List getProcessListWrapper(ProcessDO processDO){ + QueryWrapper queryWrapper=new QueryWrapper<>(); + queryWrapper.setEntity(processDO); + return processMapper.selectList(queryWrapper); + } private String validateProcessImport( ProcessDO process){ StringBuilder message = new StringBuilder();