Browse Source

库位管理,车间管理

master
廉洪喜 2 years ago
parent
commit
6cd003b7a0
  1. 24
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/LocationController.java
  2. 95
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationImportErrorVO.java
  3. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationImportExcelVO.java
  4. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/WorkshopController.java
  5. 55
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopImportErrorVO.java
  6. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/location/LocationConvert.java
  7. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/workshop/WorkshopConvert.java
  8. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationService.java
  9. 70
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationServiceImpl.java
  10. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workshop/WorkshopService.java
  11. 51
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workshop/WorkshopServiceImpl.java

24
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/LocationController.java

@ -9,13 +9,9 @@ import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.itembasic.vo.ItembasicExcelVO;
import com.win.module.wms.controller.bom.vo.BomImportErrorVO;
import com.win.module.wms.controller.location.vo.*;
import com.win.module.wms.controller.locationgroup.vo.LocationgroupRespVO;
import com.win.module.wms.convert.itembasic.ItembasicConvert;
import com.win.module.wms.convert.location.LocationConvert;
import com.win.module.wms.convert.locationgroup.LocationgroupConvert;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.location.LocationDO;
import com.win.module.wms.dal.mysql.balance.BalanceMapper;
import com.win.module.wms.dal.mysql.expectout.ExpectoutMapper;
@ -36,7 +32,6 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*;
@ -158,16 +153,12 @@ public class LocationController {
ExcelUtils.write(response, "库位.xlsx", "数据", LocationExcelVO.class, resultList, mapDropDown);
}
private List<LocationExcelVO> getExcelVo(List<LocationDO> list, Map<Integer, String[]> mapDropDown) {
String[] warehouseCode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.WAREHOUSE_TYPE);
mapDropDown.put(3, warehouseCode);
String[] areaCode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.AREA_TYPE);
mapDropDown.put(4, areaCode);
String[] erpLocationCode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.ERP_LOCATION);
mapDropDown.put(6, erpLocationCode);
String[] type = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(7, type);
String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(18, available);;
mapDropDown.put(17, available);;
// 导出 Excel
List<LocationExcelVO> resultList =LocationConvert.INSTANCE.convertList02(list);
for(LocationExcelVO vo : resultList) {
@ -184,16 +175,12 @@ public class LocationController {
// 手动创建导出 demo
List<LocationImportExcelVO> list = Arrays.asList();
Map<Integer, String[]> mapDropDown = new HashMap<>();
String[] warehouseCode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.WAREHOUSE_TYPE);
mapDropDown.put(3, warehouseCode);
String[] areaCode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.AREA_TYPE);
mapDropDown.put(4, areaCode);
String[] erpLocationCode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.ERP_LOCATION);
mapDropDown.put(6, erpLocationCode);
String[] type = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(7, type);
String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(18, available);;
mapDropDown.put(17, available);;
// 输出
ExcelUtils.write(response, "库位导入模板.xls", "库位列表", LocationImportExcelVO.class, list,mapDropDown);
}
@ -206,18 +193,19 @@ public class LocationController {
@Parameter(name = "updatePart", description = "部分更新,默认为 true", example = "true")
})
@PreAuthorize("@ss.hasPermission('wms:location:import')")
public void importExcel(HttpServletResponse response,
public CommonResult<Map<String, Object>> importExcel(HttpServletResponse response,
@RequestParam("file") MultipartFile file,
@RequestParam(value = "mode") Integer mode,
@RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception {
List<LocationImportExcelVO> list = ExcelUtils.read(file, LocationImportExcelVO.class);
List<LocationImportExcelVO> errorList = locationService.importLocationList(list, mode, updatePart);
List<LocationImportErrorVO> errorList = locationService.importLocationList(list, mode, updatePart);
Map<String, Object> returnMap = new HashMap<>();
returnMap.put("errorCount", errorList.size());
if(!errorList.isEmpty()) {
String url = ExcelUtils.writeLocalFile("库位导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xls", "错误列表", errorList);
returnMap.put("errorFile", url);
}
return success(returnMap);
}
public LocationDO selectLocation(String pcode) {
QueryWrapper queryWrapper = new QueryWrapper();

95
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationImportErrorVO.java

@ -0,0 +1,95 @@
package com.win.module.wms.controller.location.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import lombok.Builder;
import lombok.Data;
import lombok.ToString;
import java.time.LocalDateTime;
@Data
@Builder
@ToString(callSuper = true)
public class LocationImportErrorVO {
@ExcelProperty("代码")
private String code;
@ExcelProperty("名称")
private String name;
@ExcelProperty("描述")
private String description;
@ExcelProperty(value = "仓库代码", converter = DictConvert.class)
@DictFormat(DictTypeConstants.WAREHOUSE_TYPE)
private String warehouseCode;
@ExcelProperty(value = "区域代码", converter = DictConvert.class)
@DictFormat(DictTypeConstants.AREA_TYPE)
private String areaCode;
@ExcelProperty("库位组代码")
private String locationGroupCode;
@ExcelProperty(value = "ERP库位代码", converter = DictConvert.class)
@DictFormat(DictTypeConstants.ERP_LOCATION)
private String erpLocationCode;
@ExcelProperty(value = "类型", converter = DictConvert.class)
@DictFormat(DictTypeConstants.LOCATION_TYPE)
private String type;
@ExcelProperty("巷道")
private String aisle;
@ExcelProperty("货架")
private String shelf;
@ExcelProperty("行")
private String locationRow;
@ExcelProperty("列")
private String locationColum;
@ExcelProperty("拣料优先级")
private Integer pickPriority;
@ExcelProperty("最大承重")
private String maxWeight;
@ExcelProperty("最大面积")
private String maxArea;
@ExcelProperty("最大体积")
private String maxVolume;
@ExcelProperty("用户组代码")
private String userGroupCode;
@ExcelProperty(value = "是否可用", converter = DictConvert.class)
@DictFormat(DictTypeConstants.TRUE_FALSE)
private String available;
@ExcelProperty(value = "生效时间")
@ColumnWidth(value = 16)
private LocalDateTime activeTime;
@ExcelProperty(value = "失效时间")
@ColumnWidth(value = 16)
private LocalDateTime expireTime;
@ExcelProperty(value = "备注")
private String remark;
@ExcelProperty(value = "导入状态", index = 0)
private String importStatus;
@ExcelProperty(value = "导入说明", index = 1)
private String importRemark;
}

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/vo/LocationImportExcelVO.java

@ -29,12 +29,10 @@ public class LocationImportExcelVO {
@ExcelProperty("描述")
private String description;
@ExcelProperty(value = "仓库代码", converter = DictConvert.class)
@DictFormat(DictTypeConstants.WAREHOUSE_TYPE)
@ExcelProperty("仓库代码")
private String warehouseCode;
@ExcelProperty(value = "区域代码", converter = DictConvert.class)
@DictFormat(DictTypeConstants.AREA_TYPE)
@ExcelProperty("区域代码")
private String areaCode;
@ExcelProperty("库位组代码")

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/WorkshopController.java

@ -8,6 +8,7 @@ import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.bom.vo.BomImportErrorVO;
import com.win.module.wms.controller.itembasic.vo.ItembasicExcelVO;
import com.win.module.wms.controller.location.vo.LocationRespVO;
import com.win.module.wms.controller.workshop.vo.WorkshopRespVO;
@ -176,7 +177,7 @@ public class WorkshopController {
@RequestParam(value = "mode") Integer mode,
@RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception {
List<WorkshopImportExcelVo> list = ExcelUtils.read(file, WorkshopImportExcelVo.class);
List<WorkshopImportExcelVo> errorList = workshopService.importUserList(list, mode, updatePart);
List<WorkshopImportErrorVO> errorList = workshopService.importUserList(list, mode, updatePart);
Map<String, Object> returnMap = new HashMap<>();
returnMap.put("errorCount", errorList.size());
if(!errorList.isEmpty()) {

55
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workshop/vo/WorkshopImportErrorVO.java

@ -0,0 +1,55 @@
package com.win.module.wms.controller.workshop.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import lombok.Builder;
import lombok.Data;
import lombok.ToString;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@Builder
@ToString(callSuper = true)
public class WorkshopImportErrorVO {
@ExcelProperty("代码")
private String code;
@ExcelProperty("名称")
private String name;
@ExcelProperty("描述")
private String description;
@ExcelProperty(value = "类型", converter = DictConvert.class)
@DictFormat(DictTypeConstants.WORKSHOP_TYPE)
private String type;
@ExcelProperty(value = "是否可用", converter = DictConvert.class)
@DictFormat(DictTypeConstants.TRUE_FALSE)
private String available;
@ExcelProperty(value = "生效时间")
@ColumnWidth(value = 16)
private LocalDateTime activeTime;
@ExcelProperty(value = "失效时间")
@ColumnWidth(value = 16)
private LocalDateTime expireTime;
@ExcelProperty("备注")
private String remark;
@ExcelProperty(value = "导入状态", index = 0)
private String importStatus;
@ExcelProperty(value = "导入说明", index = 1)
private String importRemark;
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/location/LocationConvert.java

@ -1,6 +1,8 @@
package com.win.module.wms.convert.location;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.bom.vo.BomImportErrorVO;
import com.win.module.wms.controller.bom.vo.BomImportExcelVo;
import com.win.module.wms.controller.location.vo.*;
import com.win.module.wms.controller.locationgroup.vo.LocationGroupImportExcelVO;
import com.win.module.wms.dal.dataobject.location.LocationDO;
@ -35,4 +37,6 @@ public interface LocationConvert {
LocationDO convert(LocationImportExcelVO location);
LocationgroupDO convert(LocationGroupImportExcelVO locationGroup);
LocationImportErrorVO convert2(LocationDO bean);
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/workshop/WorkshopConvert.java

@ -5,6 +5,8 @@ import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.areabasic.vo.AreabasicImportExcelVo;
import com.win.module.wms.controller.bom.vo.BomImportErrorVO;
import com.win.module.wms.controller.bom.vo.BomImportExcelVo;
import com.win.module.wms.controller.itembasic.vo.ItembasicExcelVO;
import com.win.module.wms.controller.workshop.vo.*;
import com.win.module.wms.dal.dataobject.areabasic.AreabasicDO;
@ -36,4 +38,6 @@ public interface WorkshopConvert {
List<WorkshopExcelVO> convertList02(List<WorkshopDO> list);
WorkshopDO convert(WorkshopImportExcelVo importWorkshop);
WorkshopImportErrorVO convert2(WorkshopDO bean);
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationService.java

@ -78,7 +78,7 @@ public interface LocationService {
*/
List<LocationDO> getLocationList(LocationExportReqVO exportReqVO);
List<LocationImportExcelVO> importLocationList(List<LocationImportExcelVO> locations, Integer mode, Boolean updatePart);
List<LocationImportErrorVO> importLocationList(List<LocationImportExcelVO> locations, Integer mode, Boolean updatePart);
/***
* BQ-----QL

70
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationServiceImpl.java

@ -12,7 +12,9 @@ import com.win.framework.common.pojo.PageResult;
import com.win.framework.datapermission.core.util.DataPermissionUtils;
import com.win.module.wms.controller.location.vo.*;
import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.convert.bom.BomConvert;
import com.win.module.wms.convert.location.LocationConvert;
import com.win.module.wms.dal.dataobject.bom.BomDO;
import com.win.module.wms.dal.dataobject.location.LocationDO;
import com.win.module.wms.dal.mysql.balance.BalanceMapper;
import com.win.module.wms.dal.mysql.expectout.ExpectoutMapper;
@ -105,89 +107,91 @@ public class LocationServiceImpl implements LocationService {
public PageResult<LocationDO> getLocationSenior(CustomConditions conditions) {
return locationMapper.selectSenior(conditions);
}
@Override
public List<LocationImportExcelVO> importLocationList(List<LocationImportExcelVO> locations, Integer mode, Boolean updatePart) {
if (CollUtil.isEmpty(locations)) {
throw exception(LOCATION_IMPORT_LIST_IS_EMPTY);
}
List<LocationImportExcelVO> errorList = new ArrayList<>();
locations.forEach(location -> {
String massage = "";
// 校验,判断是否有不符合的原因
if(mode != null){
private String validateLocationImport( LocationDO location ){
StringBuilder message = new StringBuilder();
try {
validateLocationExists(null);
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
try {
validateCodeExists(null,location.getCode());
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
try {
validateWarehouseCodeExists(location.getWarehouseCode());
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
try {
validateAreaCodeExists(location.getAreaCode());
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
try {
validateErpLocationCodeExists(location.getErpLocationCode());
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
try {
validateLocationGroupCodeExists(location.getUserGroupCode());
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
try {
validateTypeExists(location.getType());
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
try {
validatePickPriorityExists(location.getPickPriority());
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
try {
validateUserGroupCodeExists(location.getUserGroupCode());
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
try {
validateAvailableExists(location.getAvailable());
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
return message.toString();
}
if(StrUtil.isNotEmpty(massage)){
massage.substring(0,massage.length()-1);
errorList.add(location);
@Override
public List<LocationImportErrorVO> importLocationList(List<LocationImportExcelVO> locations, Integer mode, Boolean updatePart) {
if (CollUtil.isEmpty(locations)) {
throw exception(LOCATION_IMPORT_LIST_IS_EMPTY);
}
if(errorList == null){
// 判断如果不存在,在进行插入
LocationDO existConfigurationSetting = null;
List<LocationImportErrorVO> errorList = new ArrayList<>();
locations.forEach(location -> {
LocationDO locationDO = LocationConvert.INSTANCE.convert(location);
String message =this.validateLocationImport(locationDO);
boolean flag = true;
if(!message.isEmpty()){
LocationImportErrorVO importErrorVO = LocationConvert.INSTANCE.convert2(locationDO);
importErrorVO.setImportStatus("失败");
importErrorVO.setImportRemark(message.substring(0, message.length() - 1));
errorList.add(importErrorVO);
flag = false;
}
if(flag){
LocationDO existConfigurationSetting = locationMapper.selectByCode(locationDO.getCode());
if (existConfigurationSetting == null&& mode != 3) {
locationMapper.insert(LocationConvert.INSTANCE.convert(location));
}
else if (existConfigurationSetting != null && mode != 2) {// 如果存在,判断是否允许更新
LocationDO locationDO = LocationConvert.INSTANCE.convert(location);
else if (existConfigurationSetting != null && mode != 2) {
// 如果存在,判断是否允许更新
locationDO.setId(existConfigurationSetting.getId());
locationMapper.updateById(locationDO);
}
}
});
//错误不为空并非部分更新,手工回滚
if(!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return errorList;
}
private void validateLocationForCreateOrUpdate(Long id, String code,String warehouseCode, String areaCode,String erpLocationCode, String locationGroupCode,

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workshop/WorkshopService.java

@ -78,7 +78,7 @@ public interface WorkshopService {
*/
List<WorkshopDO> getWorkshopList(WorkshopExportReqVO exportReqVO);
List<WorkshopImportExcelVo> importUserList(List<WorkshopImportExcelVo> importWorkshop, Integer mode, boolean updatePart);
List<WorkshopImportErrorVO> importUserList(List<WorkshopImportExcelVo> importWorkshop, Integer mode, boolean updatePart);
/**
* 查询车间是否存在

51
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/workshop/WorkshopServiceImpl.java

@ -8,8 +8,11 @@ import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.datapermission.core.util.DataPermissionUtils;
import com.win.module.wms.controller.bom.vo.BomImportErrorVO;
import com.win.module.wms.controller.workshop.vo.*;
import com.win.module.wms.convert.bom.BomConvert;
import com.win.module.wms.convert.workshop.WorkshopConvert;
import com.win.module.wms.dal.dataobject.bom.BomDO;
import com.win.module.wms.dal.dataobject.workshop.WorkshopDO;
import com.win.module.wms.dal.mysql.workshop.WorkshopMapper;
import org.springframework.stereotype.Service;
@ -88,52 +91,54 @@ public class WorkshopServiceImpl implements WorkshopService {
return workshopMapper.selectSenior(conditions);
}
public List<WorkshopImportExcelVo> importUserList(List<WorkshopImportExcelVo> importWork, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(importWork)) {
throw exception(WORKSHOP_IMPORT_LIST_IS_EMPTY);
}
List<WorkshopImportExcelVo> errorList = new ArrayList<>();
importWork.forEach(importWorkshop -> {
String massage = "";
// 校验,判断是否有不符合的原因
if (mode != null) {
private String validateWorkshop( WorkshopDO importWorkshop ){
StringBuilder message = new StringBuilder();
try {
validateWorkshopExists(null);
} catch(ServiceException ex){
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
try {
validateCodeExists(null,importWorkshop.getCode());
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
try {
validateAvailableExists(importWorkshop.getAvailable());
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
return message.toString();
}
if(StrUtil.isNotEmpty(massage)){
massage.substring(0,massage.length()-1);
errorList.add(importWorkshop);
public List<WorkshopImportErrorVO> importUserList(List<WorkshopImportExcelVo> importWork, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(importWork)) {
throw exception(WORKSHOP_IMPORT_LIST_IS_EMPTY);
}
// 判断如果不存在,在进行插入
if(errorList == null) {
List<WorkshopImportErrorVO> errorList = new ArrayList<>();
importWork.forEach(importWorkshop -> {
WorkshopDO workshopDO = WorkshopConvert.INSTANCE.convert(importWorkshop);
String message =this.validateWorkshop(workshopDO);
// 校验,判断是否有不符合的原因
boolean flag = true;
if(!message.isEmpty()){
WorkshopImportErrorVO importErrorVO = WorkshopConvert.INSTANCE.convert2(workshopDO);
importErrorVO.setImportStatus("失败");
importErrorVO.setImportRemark(message.substring(0, message.length() - 1));
errorList.add(importErrorVO);
flag = false;
}
if(flag){
WorkshopDO existWorkshop = workshopMapper.selectByCode(importWorkshop.getCode());
if (existWorkshop == null && mode != 3) {
workshopMapper.insert(WorkshopConvert.INSTANCE.convert(importWorkshop));
} else if (existWorkshop != null && mode != 2) {// 如果存在,判断是否允许更新
WorkshopDO workshopDO = WorkshopConvert.INSTANCE.convert(importWorkshop);
workshopDO.setId(existWorkshop.getId());
workshopMapper.updateById(workshopDO);
}
}
});
//错误不为空并非部分更新,手工回滚
if(!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return errorList;
}

Loading…
Cancel
Save