Browse Source

修改bug。

master
刘忱 2 years ago
parent
commit
42848024e9
  1. 41
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseclaimRequest/PurchaseclaimRequestMainController.java
  2. 18
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseclaimRequest/vo/PurchaseclaimRequestDetailBaseVO.java
  3. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseclaimRequest/vo/PurchaseclaimRequestDetailExcelVO.java
  4. 107
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseclaimRequest/vo/PurchaseclaimRequestDetailImportVO.java
  5. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRequest/PurchaseclaimRequestDetailServiceImpl.java

41
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseclaimRequest/PurchaseclaimRequestMainController.java

@ -3,6 +3,7 @@ package com.win.module.wms.controller.purchaseclaimRequest;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
@ -12,6 +13,7 @@ import com.win.module.wms.convert.purchaseclaimRequest.PurchaseclaimRequestDetai
import com.win.module.wms.convert.purchaseclaimRequest.PurchaseclaimRequestMainConvert;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.purchaseclaimRequest.PurchaseclaimRequestDetailService;
import com.win.module.wms.service.purchaseclaimRequest.PurchaseclaimRequestMainService;
import io.swagger.v3.oas.annotations.Operation;
@ -26,7 +28,9 @@ import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static com.win.framework.common.pojo.CommonResult.success;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@ -117,7 +121,42 @@ public class PurchaseclaimRequestMainController {
}
}
// 导出 Excel
ExcelUtils.write(response, "采购索赔申请主.xls", "数据", PurchaseclaimRequestDetailExcelVO.class, resultList);
ExcelUtils.write(response, "采购索赔申请主.xlsx", "数据", PurchaseclaimRequestDetailExcelVO.class, resultList);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入采购索赔信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<PurchaseclaimRequestDetailImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
String[] status = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.ITEM_STATUS);
mapDropDown.put(4, status);
// 输出
ExcelUtils.write(response, "采购索赔信息导入模板.xls", "采购索赔信息列表", PurchaseclaimRequestDetailImportVO.class, list,mapDropDown);
}
// @PostMapping("/import")
// @Operation(summary = "导入采购索赔基本信息")
// @Parameters({
// @Parameter(name = "file", description = "Excel 文件", required = true),
// @Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"),
// @Parameter(name = "updatePart", description = "部分更新,默认为 true", example = "true")
// })
// @PreAuthorize("@ss.hasPermission('wms:itembasic:import')")
// 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<ItembasicImportExcelVo> list = ExcelUtils.read(file, ItembasicImportExcelVo.class);
// List<ItembasicImportExcelVo> errorList = itembasicService.importItembasicList(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);
// }
}

18
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseclaimRequest/vo/PurchaseclaimRequestDetailBaseVO.java

@ -1,15 +1,12 @@
package com.win.module.wms.controller.purchaseclaimRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -48,7 +45,12 @@ public class PurchaseclaimRequestDetailBaseVO {
@Schema(description = "金额")
private BigDecimal amount;
@Schema(description = "单据号")
@Schema(description = "主表ID", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "主表ID不能为空")
private Long masterId;
@Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "单据号不能为空")
private String number;
@Schema(description = "物品代码")

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseclaimRequest/vo/PurchaseclaimRequestDetailExcelVO.java

@ -3,7 +3,11 @@ package com.win.module.wms.controller.purchaseclaimRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@ -15,6 +19,10 @@ import java.time.LocalDateTime;
* @author 超级管理员
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false)
public class PurchaseclaimRequestDetailExcelVO {
@ExcelProperty("发货单号")

107
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseclaimRequest/vo/PurchaseclaimRequestDetailImportVO.java

@ -0,0 +1,107 @@
package com.win.module.wms.controller.purchaseclaimRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 采购索赔申请子 Excel VO
*
* @author 超级管理员
*/
@Data
public class PurchaseclaimRequestDetailImportVO {
@ExcelProperty("发货单号")
private String asnNumber;
@ExcelProperty("要货计划单号")
private String ppNumber;
@ExcelProperty("供应商代码")
private String supplierCode;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("业务类型")
private String businessType;
@ExcelProperty("申请时间")
private LocalDateTime requestTime;
@ExcelProperty("截止时间")
private LocalDateTime dueTime;
@ExcelProperty("部门")
private String departmentCode;
@ExcelProperty(value = "状态", converter = DictConvert.class)
@DictFormat("request_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String status;
@ExcelProperty("自动提交")
private String autoCommit;
@ExcelProperty("自动通过")
private String autoAgree;
@ExcelProperty("自动执行")
private String autoExecute;
@ExcelProperty("直接生成记录")
private String directCreateRecord;
@ExcelProperty("批次")
private String batch;
@ExcelProperty("替代批次")
private String altBatch;
@ExcelProperty("订单号")
private String poNumber;
@ExcelProperty("订单行")
private String poLine;
@ExcelProperty(value = "原因", converter = DictConvert.class)
@DictFormat("purchase_return_reason") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String reason;
@ExcelProperty("单价")
private BigDecimal singlePrice;
@ExcelProperty("金额")
private BigDecimal amount;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("物品名称")
private String itemName;
@ExcelProperty("物品描述1")
private String itemDesc1;
@ExcelProperty("物品描述2")
private String itemDesc2;
@ExcelProperty("项目代码")
private String projectCode;
@ExcelProperty("数量")
private BigDecimal qty;
@ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String uom;
@ExcelProperty("备注")
private String remark;
}

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRequest/PurchaseclaimRequestDetailServiceImpl.java

@ -8,6 +8,7 @@ import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimReques
import com.win.module.wms.convert.purchaseclaimRequest.PurchaseclaimRequestDetailConvert;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestDetailDO;
import com.win.module.wms.dal.mysql.purchaseclaimRequest.PurchaseclaimRequestDetailMapper;
import com.win.module.wms.dal.mysql.purchaseclaimRequest.PurchaseclaimRequestMainMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
@ -16,6 +17,7 @@ import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASECLAIM_REQUEST_DETAIL_NOT_EXISTS;
import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASECLAIM_REQUEST_MAIN_NOT_EXISTS;
/**
* 采购索赔申请子 Service 实现类
@ -29,10 +31,15 @@ public class PurchaseclaimRequestDetailServiceImpl implements PurchaseclaimReque
@Resource
private PurchaseclaimRequestDetailMapper purchaseclaimRequestDetailMapper;
@Resource
private PurchaseclaimRequestMainMapper purchaseclaimRequestMainMapper;
@Override
public Long createPurchaseclaimRequestDetail(PurchaseclaimRequestDetailCreateReqVO createReqVO) {
// 插入
PurchaseclaimRequestDetailDO purchaseclaimRequestDetail = PurchaseclaimRequestDetailConvert.INSTANCE.convert(createReqVO);
//校验
validatePurchaseclaimRequestMainExists(createReqVO.getMasterId());
purchaseclaimRequestDetailMapper.insert(purchaseclaimRequestDetail);
// 返回
return purchaseclaimRequestDetail.getId();
@ -42,6 +49,7 @@ public class PurchaseclaimRequestDetailServiceImpl implements PurchaseclaimReque
public void updatePurchaseclaimRequestDetail(PurchaseclaimRequestDetailUpdateReqVO updateReqVO) {
// 校验存在
validatePurchaseclaimRequestDetailExists(updateReqVO.getId());
validatePurchaseclaimRequestMainExists(updateReqVO.getMasterId());
// 更新
PurchaseclaimRequestDetailDO updateObj = PurchaseclaimRequestDetailConvert.INSTANCE.convert(updateReqVO);
purchaseclaimRequestDetailMapper.updateById(updateObj);
@ -66,6 +74,12 @@ public class PurchaseclaimRequestDetailServiceImpl implements PurchaseclaimReque
}
}
private void validatePurchaseclaimRequestMainExists(Long masterId) {
if (purchaseclaimRequestMainMapper.selectById(masterId) == null) {
throw exception(PURCHASECLAIM_REQUEST_MAIN_NOT_EXISTS);
}
}
@Override
public PurchaseclaimRequestDetailDO getPurchaseclaimRequestDetail(Long id) {
return purchaseclaimRequestDetailMapper.selectById(id);

Loading…
Cancel
Save