Browse Source

供应商物品

master
廉洪喜 2 years ago
parent
commit
4f2c621dd1
  1. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/SupplieritemController.java
  2. 89
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieriteamImportErrorVO.java
  3. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplieritem/SupplieritemConvert.java
  4. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplieritem/SupplieritemService.java
  5. 61
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplieritem/SupplieritemServiceImpl.java

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/SupplieritemController.java

@ -10,6 +10,7 @@ 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.purchaseprice.vo.PurchasepriceRespVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainImportErrorVO;
import com.win.module.wms.controller.supplieritem.vo.*;
import com.win.module.wms.convert.itembasic.ItembasicConvert;
import com.win.module.wms.convert.purchaseprice.PurchasepriceConvert;
@ -191,7 +192,7 @@ public class SupplieritemController {
@RequestParam(value = "mode") Integer mode,
@RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception {
List<SupplieriteamImportExcelVo> list = ExcelUtils.read(file, SupplieriteamImportExcelVo.class);
List<SupplieriteamImportExcelVo> errorList = supplieritemService.importSupplieriteamList(list, mode, updatePart);
List<SupplieriteamImportErrorVO> errorList = supplieritemService.importSupplieriteamList(list, mode, updatePart);
Map<String, Object> returnMap = new HashMap<>();
returnMap.put("errorCount", errorList.size());
if(!errorList.isEmpty()) {

89
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/vo/SupplieriteamImportErrorVO.java

@ -0,0 +1,89 @@
package com.win.module.wms.controller.supplieritem.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.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 采购索赔申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@ToString(callSuper = true)
public class SupplieriteamImportErrorVO {
@ExcelProperty("供应商代码")
private String supplierCode;
@ExcelProperty("物料代码")
private String itemCode;
@ExcelProperty("供应商物料代码")
private String supplierItemCode;
@ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat(DictTypeConstants.UOM)
private String supplierUom;
@ExcelProperty("转换率")
private BigDecimal convertRate;
@ExcelProperty(value = "供应商包装单位", converter = DictConvert.class)
@DictFormat(DictTypeConstants.PACK_UNIT)
private String packUnit;
@ExcelProperty("供应商包装数量")
private BigDecimal packQty;
@ExcelProperty(value = "供应商代替包装单位", converter = DictConvert.class)
@DictFormat(DictTypeConstants.PACK_UNIT)
private String altPackUnit;
@ExcelProperty("供应商代替包装数量")
private BigDecimal altPackQty;
@ExcelProperty("每器具包装数")
private Integer packQtyOfContainer;
@ExcelProperty("默认收货仓库")
private String defaultWarehouseCode;
@ExcelProperty("默认收货库位")
private String defaultLocationCode;
@ExcelProperty(value = "包装结算方式", converter = DictConvert.class)
@DictFormat(DictTypeConstants.SETTLEMENT_TYPE)
private String settlementType;
@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;
}

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplieritem/SupplieritemConvert.java

@ -4,11 +4,7 @@ import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.supplieritem.vo.SupplieritemCreateReqVO;
import com.win.module.wms.controller.supplieritem.vo.SupplieritemExcelVO;
import com.win.module.wms.controller.supplieritem.vo.SupplieritemRespVO;
import com.win.module.wms.controller.supplieritem.vo.SupplieritemUpdateReqVO;
import com.win.module.wms.controller.supplieritem.vo.SupplieriteamImportExcelVo;
import com.win.module.wms.controller.supplieritem.vo.*;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO;
@ -37,4 +33,6 @@ public interface SupplieritemConvert {
SupplieritemDO convert(SupplieriteamImportExcelVo bean);
SupplieriteamImportErrorVO convert2(SupplieritemDO bean);
}

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplieritem/SupplieritemService.java

@ -4,11 +4,7 @@ import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.supplieritem.vo.SupplieritemCreateReqVO;
import com.win.module.wms.controller.supplieritem.vo.SupplieritemExportReqVO;
import com.win.module.wms.controller.supplieritem.vo.SupplieritemPageReqVO;
import com.win.module.wms.controller.supplieritem.vo.SupplieritemUpdateReqVO;
import com.win.module.wms.controller.supplieritem.vo.SupplieriteamImportExcelVo;
import com.win.module.wms.controller.supplieritem.vo.*;
import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO;
import com.win.framework.common.pojo.PageResult;
@ -81,7 +77,7 @@ public interface SupplieritemService {
*/
List<SupplieritemDO> getSupplieritemList(SupplieritemExportReqVO exportReqVO);
List<SupplieriteamImportExcelVo> importSupplieriteamList(List<SupplieriteamImportExcelVo> importTeam, Integer mode, boolean updatePart);
List<SupplieriteamImportErrorVO> importSupplieriteamList(List<SupplieriteamImportExcelVo> importTeam, Integer mode, boolean updatePart);
/**
* BQ----QSI

61
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplieritem/SupplieritemServiceImpl.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.supplieritem.vo.*;
import com.win.module.wms.convert.bom.BomConvert;
import com.win.module.wms.convert.supplieritem.SupplieritemConvert;
import com.win.module.wms.dal.dataobject.bom.BomDO;
import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO;
import com.win.module.wms.dal.mysql.supplieritem.SupplieritemMapper;
import org.springframework.stereotype.Service;
@ -90,64 +93,70 @@ public class SupplieritemServiceImpl implements SupplieritemService {
public List<SupplieritemDO> getSupplieritemList(SupplieritemExportReqVO exportReqVO) {
return supplieritemMapper.selectList(exportReqVO);
}
public List<SupplieriteamImportExcelVo> importSupplieriteamList(List<SupplieriteamImportExcelVo> supplieriteams, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(supplieriteams)) {
throw exception(SUPPLIERITEM_IMPORT_LIST_IS_EMPTY);
}
List<SupplieriteamImportExcelVo> errorList = new ArrayList<>();
supplieriteams.forEach(supplieriteam -> {
// 校验,判断是否有不符合的原因
String massage = "";
if(mode != null){
private String validateSupplieritemImport( SupplieritemDO supplieriteam ){
StringBuilder message = new StringBuilder();
try {
validateSupplieritemExists(null);
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
try {
validateItemCodeExists(null,supplieriteam.getItemCode());
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
try {
validateSupperCodeExists(supplieriteam.getSupplierCode());
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
try {
validatePackunitExists(supplieriteam.getPackUnit());
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
try {
validatePackQtyExists(supplieriteam.getPackQty());
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
try {
validateAvailableExists(supplieriteam.getAvailable());
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
return message.toString();
}
// 判断如果不存在,在进行插入
public List<SupplieriteamImportErrorVO> importSupplieriteamList(List<SupplieriteamImportExcelVo> supplieriteams, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(supplieriteams)) {
throw exception(SUPPLIERITEM_IMPORT_LIST_IS_EMPTY);
}
List<SupplieriteamImportErrorVO> errorList = new ArrayList<>();
supplieriteams.forEach(supplieriteam -> {
SupplieritemDO supplieritemDO = SupplieritemConvert.INSTANCE.convert(supplieriteam);
String massage = this.validateSupplieritemImport(supplieritemDO);
boolean flag = true;
if(!massage.isEmpty()){
SupplieriteamImportErrorVO importErrorVO = SupplieritemConvert.INSTANCE.convert2(supplieritemDO);
importErrorVO.setImportStatus("失败");
importErrorVO.setImportRemark(massage.substring(0, massage.length() - 1));
errorList.add(importErrorVO);
flag = false;
}
if(flag){
SupplieritemDO existSupplieriteam = supplieritemMapper.selectBySuppercode(supplieriteam.getSupplierCode());
if (existSupplieriteam == null&& mode != 3) {
supplieritemMapper.insert(SupplieritemConvert.INSTANCE.convert(supplieriteam));
supplieritemMapper.insert(supplieritemDO);
}
else if (existSupplieriteam != null && mode != 2) {// 如果存在,判断是否允许更新
SupplieritemDO supplieriteamDO = SupplieritemConvert.INSTANCE.convert(supplieriteam);
supplieriteamDO.setId(existSupplieriteam.getId());
supplieritemMapper.updateById(supplieriteamDO);
else if (existSupplieriteam != null && mode != 2) {
// 如果存在,判断是否允许更新
supplieritemDO.setId(existSupplieriteam.getId());
supplieritemMapper.updateById(supplieritemDO);
}
});
//错误不为空并非部分更新,手工回滚
if(!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
});
return errorList;
}

Loading…
Cancel
Save