|
|
@ -1,29 +1,13 @@ |
|
|
|
package com.win.module.wms.controller.productreceiptRequest; |
|
|
|
|
|
|
|
import static com.win.framework.common.pojo.CommonResult.success; |
|
|
|
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; |
|
|
|
|
|
|
|
import java.io.IOException; |
|
|
|
import java.time.LocalDateTime; |
|
|
|
import java.time.ZoneOffset; |
|
|
|
import java.util.*; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
import javax.validation.Valid; |
|
|
|
|
|
|
|
import org.springframework.security.access.prepost.PreAuthorize; |
|
|
|
import org.springframework.util.CollectionUtils; |
|
|
|
import org.springframework.validation.annotation.Validated; |
|
|
|
import org.springframework.web.bind.annotation.*; |
|
|
|
import org.springframework.web.multipart.MultipartFile; |
|
|
|
|
|
|
|
import com.win.framework.common.exception.ServiceException; |
|
|
|
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.excel.core.util.ConvertUtil; |
|
|
|
import com.win.framework.excel.core.util.ExcelUtils; |
|
|
|
import com.win.framework.operatelog.core.annotations.OperateLog; |
|
|
|
import com.win.framework.redis.util.RedisCache; |
|
|
|
import com.win.module.system.api.user.AdminUserApi; |
|
|
|
import com.win.module.wms.controller.productreceiptRequest.vo.*; |
|
|
|
import com.win.module.wms.convert.productreceiptRequest.ProductreceiptRequestMainConvert; |
|
|
@ -32,11 +16,26 @@ import com.win.module.wms.dal.dataobject.productreceiptRequest.ProductreceiptReq |
|
|
|
import com.win.module.wms.dal.mysql.productreceiptRequest.ProductreceiptRequestMainMapper; |
|
|
|
import com.win.module.wms.service.productreceiptRequest.ProductreceiptRequestDetailService; |
|
|
|
import com.win.module.wms.service.productreceiptRequest.ProductreceiptRequestMainService; |
|
|
|
|
|
|
|
import io.swagger.v3.oas.annotations.Operation; |
|
|
|
import io.swagger.v3.oas.annotations.Parameter; |
|
|
|
import io.swagger.v3.oas.annotations.Parameters; |
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag; |
|
|
|
import org.springframework.util.CollectionUtils; |
|
|
|
import org.springframework.validation.annotation.Validated; |
|
|
|
import org.springframework.web.bind.annotation.*; |
|
|
|
import org.springframework.web.multipart.MultipartFile; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
import javax.validation.Valid; |
|
|
|
import java.io.IOException; |
|
|
|
import java.time.LocalDateTime; |
|
|
|
import java.time.ZoneOffset; |
|
|
|
import java.util.*; |
|
|
|
|
|
|
|
import static com.win.framework.common.pojo.CommonResult.success; |
|
|
|
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; |
|
|
|
import static com.win.module.wms.enums.ErrorCodeConstants.PRODUCTRECEIPT_REQUEST_JOB_EXISTS_LOCK; |
|
|
|
|
|
|
|
@Tag(name = "管理后台 - 制品收货申请主") |
|
|
|
@RestController |
|
|
@ -52,6 +51,9 @@ public class ProductreceiptRequestMainController { |
|
|
|
private ProductreceiptRequestMainMapper productreceiptRequestMainMapper; |
|
|
|
@Resource |
|
|
|
private AdminUserApi userApi; |
|
|
|
@Resource |
|
|
|
private RedisCache redisCache; |
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/create") |
|
|
|
@Operation(summary = "创建制品收货申请主") |
|
|
@ -181,10 +183,10 @@ public class ProductreceiptRequestMainController { |
|
|
|
@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"), @Parameter(name = "extend", description = "扩展属性", example = "")}) |
|
|
|
@Parameter(name = "updatePart", description = "部分更新,默认为 true", example = "true"), @Parameter(name = "extend", description = "扩展属性", example = "")}) |
|
|
|
// @PreAuthorize("@ss.hasPermission('wms:productreceipt-request-main: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, @RequestParam(value = "extend") String extend) throws Exception { |
|
|
|
@RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart, @RequestParam(value = "extend") String extend) throws Exception { |
|
|
|
List<ProductreceiptRequestImportVO> list = ExcelUtils.read(file, ProductreceiptRequestImportVO.class); |
|
|
|
ConvertUtil<ProductreceiptRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(ProductreceiptRequestMainCreateReqVO.class); |
|
|
|
List<ProductreceiptRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList(); |
|
|
@ -246,9 +248,14 @@ public class ProductreceiptRequestMainController { |
|
|
|
@PutMapping("/handle") |
|
|
|
@Operation(summary = "处理") |
|
|
|
@Parameter(name = "id", description = "编号", required = true) |
|
|
|
// @PreAuthorize("@ss.hasPermission('wms:productreceipt-request-main:handle')")
|
|
|
|
// @PreAuthorize("@ss.hasPermission('wms:productreceipt-request-main:handle')")/
|
|
|
|
public CommonResult<Boolean> handleProductreceiptRequestMain(@RequestParam("id") Long id) { |
|
|
|
String[] lockKey = new String[]{"request_productreceipt_main", "handle", String.valueOf(id)}; |
|
|
|
if (!redisCache.lock(60L, lockKey)) { |
|
|
|
throw new ServiceException(PRODUCTRECEIPT_REQUEST_JOB_EXISTS_LOCK); |
|
|
|
} |
|
|
|
Integer count = productreceiptRequestMainService.handleProductreceiptRequestMain(id); |
|
|
|
redisCache.deleteLock(lockKey); |
|
|
|
return success(count > 0); |
|
|
|
} |
|
|
|
|
|
|
|