Browse Source

班组

master
廉洪喜 2 years ago
parent
commit
ae90814b5d
  1. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/team/TeamController.java
  2. 54
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/team/vo/TeamImportErrorVO.java
  3. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/team/TeamConvert.java
  4. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/team/TeamService.java
  5. 86
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/team/TeamServiceImpl.java

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/team/TeamController.java

@ -4,6 +4,7 @@ import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; 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.itembasic.vo.ItembasicExcelVO;
import com.win.module.wms.controller.shift.vo.ShiftRespVO; import com.win.module.wms.controller.shift.vo.ShiftRespVO;
import com.win.module.wms.controller.team.vo.*; import com.win.module.wms.controller.team.vo.*;
@ -177,7 +178,7 @@ public class TeamController {
@RequestParam(value = "mode") Integer mode, @RequestParam(value = "mode") Integer mode,
@RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception { @RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception {
List<TeamImportExcelVo> list = ExcelUtils.read(file, TeamImportExcelVo.class); List<TeamImportExcelVo> list = ExcelUtils.read(file, TeamImportExcelVo.class);
List<TeamImportExcelVo> errorList = teamService.importTeamList(list, mode, updatePart); List<TeamImportErrorVO> errorList = teamService.importTeamList(list, mode, updatePart);
Map<String, Object> returnMap = new HashMap<>(); Map<String, Object> returnMap = new HashMap<>();
returnMap.put("errorCount", errorList.size()); returnMap.put("errorCount", errorList.size());
if(!errorList.isEmpty()) { if(!errorList.isEmpty()) {

54
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/team/vo/TeamImportErrorVO.java

@ -0,0 +1,54 @@
package com.win.module.wms.controller.team.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 TeamImportErrorVO {
@ExcelProperty("代码")
private String code;
@ExcelProperty("名称")
private String name;
@ExcelProperty("描述")
private String description;
@ExcelProperty("成员")
private String members;
@ExcelProperty("生效时间")
private LocalDateTime activeTime;
@ExcelProperty("失效时间")
private LocalDateTime expireTime;
@ExcelProperty("备注")
private String remark;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者ID")
private String creator;
@ExcelProperty("是否可用")
private String available;
@ExcelProperty(value = "导入状态", index = 0)
private String importStatus;
@ExcelProperty(value = "导入说明", index = 1)
private String importRemark;
}

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/team/TeamConvert.java

@ -4,11 +4,9 @@ import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.team.vo.TeamCreateReqVO; import com.win.module.wms.controller.bom.vo.BomImportErrorVO;
import com.win.module.wms.controller.team.vo.TeamExcelVO; import com.win.module.wms.controller.bom.vo.BomImportExcelVo;
import com.win.module.wms.controller.team.vo.TeamRespVO; import com.win.module.wms.controller.team.vo.*;
import com.win.module.wms.controller.team.vo.TeamUpdateReqVO;
import com.win.module.wms.controller.team.vo.TeamImportExcelVo;
import com.win.module.wms.controller.transactiontype.vo.TransactiontypeImportExcelVo; import com.win.module.wms.controller.transactiontype.vo.TransactiontypeImportExcelVo;
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
@ -40,4 +38,6 @@ public interface TeamConvert {
TeamDO convert(TeamImportExcelVo bean); TeamDO convert(TeamImportExcelVo bean);
TeamImportErrorVO convert2(TeamDO bean);
} }

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/team/TeamService.java

@ -4,11 +4,7 @@ import java.util.*;
import javax.validation.*; import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.team.vo.TeamCreateReqVO; import com.win.module.wms.controller.team.vo.*;
import com.win.module.wms.controller.team.vo.TeamExportReqVO;
import com.win.module.wms.controller.team.vo.TeamPageReqVO;
import com.win.module.wms.controller.team.vo.TeamUpdateReqVO;
import com.win.module.wms.controller.team.vo.TeamImportExcelVo;
import com.win.module.wms.dal.dataobject.team.TeamDO; import com.win.module.wms.dal.dataobject.team.TeamDO;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
@ -88,6 +84,6 @@ public interface TeamService {
*/ */
List<TeamDO> getTeamList(TeamExportReqVO exportReqVO); List<TeamDO> getTeamList(TeamExportReqVO exportReqVO);
List<TeamImportExcelVo> importTeamList(List<TeamImportExcelVo> importTeam, Integer mode, boolean updatePart); List<TeamImportErrorVO> importTeamList(List<TeamImportExcelVo> importTeam, Integer mode, boolean updatePart);
} }

86
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/team/TeamServiceImpl.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.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.datapermission.core.util.DataPermissionUtils; import com.win.framework.datapermission.core.util.DataPermissionUtils;
import com.win.module.wms.controller.bom.vo.BomImportErrorVO;
import com.win.module.wms.controller.team.vo.*; import com.win.module.wms.controller.team.vo.*;
import com.win.module.wms.convert.bom.BomConvert;
import com.win.module.wms.convert.team.TeamConvert; import com.win.module.wms.convert.team.TeamConvert;
import com.win.module.wms.dal.dataobject.bom.BomDO;
import com.win.module.wms.dal.dataobject.team.TeamDO; import com.win.module.wms.dal.dataobject.team.TeamDO;
import com.win.module.wms.dal.mysql.team.TeamMapper; import com.win.module.wms.dal.mysql.team.TeamMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -100,55 +103,54 @@ public class TeamServiceImpl implements TeamService {
return teamMapper.selectList(exportReqVO); return teamMapper.selectList(exportReqVO);
} }
public List<TeamImportExcelVo> importTeamList(List<TeamImportExcelVo> teams, Integer mode, boolean updatePart) { private String validateTeamImport(TeamDO team ){
StringBuilder message = new StringBuilder();
try {
validateTeamExists(null);
} catch (ServiceException ex) {
message.append(ex.getMessage()).append(",");
}
try {
validateCodeExists(null, team.getCode());
} catch (ServiceException ex) {
message.append(ex.getMessage()).append(",");
}
try {
validateAvailableExists(team.getAvailable());
} catch (ServiceException ex) {
message.append(ex.getMessage()).append(",");
}
return message.toString();
}
public List<TeamImportErrorVO> importTeamList(List<TeamImportExcelVo> teams, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(teams)) { if (CollUtil.isEmpty(teams)) {
throw exception(TEAM_IMPORT_LIST_IS_EMPTY); throw exception(TEAM_IMPORT_LIST_IS_EMPTY);
} }
List<TeamImportExcelVo> errorList = new ArrayList<>(); List<TeamImportErrorVO> errorList = new ArrayList<>();
teams.forEach(team -> { teams.forEach(team -> {
TeamDO teamDO = TeamConvert.INSTANCE.convert(team);
// 校验,判断是否有不符合的原因 // 校验,判断是否有不符合的原因
String massage = ""; String message = this.validateTeamImport(teamDO);
boolean flag = true;
if(mode != null) { if(!message.isEmpty()){
try { TeamImportErrorVO importErrorVO = TeamConvert.INSTANCE.convert2(teamDO);
validateTeamExists(null); importErrorVO.setImportStatus("失败");
} catch (ServiceException ex) { importErrorVO.setImportRemark(message.substring(0, message.length() - 1));
massage += ex.getMessage() + ","; errorList.add(importErrorVO);
} flag = false;
try { }
validateCodeExists(null, team.getCode()); if(flag) {
} catch (ServiceException ex) { // 判断如果不存在,在进行插入
massage += ex.getMessage() + ","; TeamDO existTeam = teamMapper.selectByCode(team.getCode());
} if (existTeam == null && mode != 3) {
try { teamMapper.insert(TeamConvert.INSTANCE.convert(team));
validateAvailableExists(team.getAvailable()); } else if (existTeam != null && mode != 2) {// 如果存在,判断是否允许更新
} catch (ServiceException ex) { teamDO.setId(existTeam.getId());
massage += ex.getMessage() + ","; teamMapper.updateById(teamDO);
}
if (StrUtil.isNotEmpty(massage)) {
massage.substring(0, massage.length() - 1);
errorList.add(team);
}
if (errorList == null) {
// 判断如果不存在,在进行插入
TeamDO existTeam = teamMapper.selectByCode(team.getCode());
if (existTeam == null && mode != 3) {
teamMapper.insert(TeamConvert.INSTANCE.convert(team));
} else if (existTeam != null && mode != 2) {// 如果存在,判断是否允许更新
TeamDO teamDO = TeamConvert.INSTANCE.convert(team);
teamDO.setId(existTeam.getId());
teamMapper.updateById(teamDO);
}
}
} }
}
}); });
//错误不为空并非部分更新,手工回滚
if(!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return errorList; return errorList;
} }

Loading…
Cancel
Save