You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
udi-wms-java/src/main/java/com/glxp/api/controller/inv/InnerOrderController.java

192 lines
6.2 KiB
Java

package com.glxp.api.controller.inv;
import cn.hutool.core.collection.CollUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.annotation.RepeatSubmit;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant;
import com.glxp.api.entity.inv.InnerOrderDetailEntity;
import com.glxp.api.entity.inv.InnerOrderEntity;
import com.glxp.api.req.inv.InnerOrderDetailRequest;
import com.glxp.api.req.inv.InnerOrderRequest;
import com.glxp.api.req.inv.PostInnerOrderRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.inv.innerOrderDetailResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.inv.InnerOrderDetailService;
import com.glxp.api.service.inv.InnerOrderService;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.constraints.NotEmpty;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
* pur
*
* @author anthony.ywj
* @date 2022-10-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/inv/inner/order")
public class InnerOrderController {
@Resource
InnerOrderService innerOrderService;
@Resource
InnerOrderDetailService innerOrderDetailService;
@Resource
CustomerService customerService;
@Resource
GennerOrderUtils gennerOrderUtils;
/**
*
*/
@RepeatSubmit()
@AuthRuleAnnotation("")
@PostMapping("/postOrder")
public BaseResponse postOrder(@RequestBody PostInnerOrderRequest postInnerOrderRequest) {
long userId = customerService.getUserId();
InnerOrderEntity innerOrderEntity = postInnerOrderRequest.getInnerOrderEntity();
innerOrderEntity.setCreateUser(userId + "");
innerOrderEntity.setCreateTime(new Date());
innerOrderEntity.setUpdateTime(new Date());
innerOrderEntity.setStatus(postInnerOrderRequest.getEditStatus()); //草稿状态
if (innerOrderEntity.getId() == null) {
String billNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.NBM_ORDER, "yyyyMMdd"));
innerOrderEntity.setRecordKey(billNo);
innerOrderEntity.setPrintStatus(1);
innerOrderEntity.setGenStatus(1);
innerOrderService.insert(innerOrderEntity);
} else {
innerOrderService.update(innerOrderEntity);
}
return ResultVOUtils.success(innerOrderEntity.getId());
}
/**
*
*/
@GetMapping("/list")
public BaseResponse list(InnerOrderRequest innerOrderRequest) {
List<InnerOrderEntity> innerOrderEntities = innerOrderService.queryPageList(innerOrderRequest);
PageInfo<InnerOrderEntity> pageInfo;
pageInfo = new PageInfo<>(innerOrderEntities);
PageSimpleResponse<InnerOrderEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(innerOrderEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*/
@RepeatSubmit()
@PostMapping()
public BaseResponse add(@RequestBody InnerOrderEntity innerOrderEntity) {
innerOrderService.insert(innerOrderEntity);
return ResultVOUtils.success("新增成功!");
}
/**
*
*/
@RepeatSubmit()
@PutMapping()
public BaseResponse edit(@RequestBody InnerOrderEntity innerOrderEntity) {
innerOrderService.update(innerOrderEntity);
return ResultVOUtils.success("删除成功");
}
/**
*
*
* @param ids
*/
@DeleteMapping("/{ids}")
public BaseResponse remove(@NotEmpty(message = "主键不能为空")
@PathVariable String[] ids) {
List<String> idArray = Arrays.asList(ids);
if (CollUtil.isNotEmpty(idArray)) {
innerOrderService.deleteByIds(idArray);
for (String id : idArray) {
innerOrderDetailService.deleteByOrderId(id + "");
}
}
return ResultVOUtils.success("删除成功");
}
/**
*
*/
@PostMapping("/list/detail")
public BaseResponse detailList(@RequestBody InnerOrderDetailRequest innerOrderDetailRequest) {
List<innerOrderDetailResponse> purApplyDetailEntities = innerOrderDetailService.joinQueryList(innerOrderDetailRequest);
PageInfo<innerOrderDetailResponse> pageInfo;
pageInfo = new PageInfo<>(purApplyDetailEntities);
PageSimpleResponse<innerOrderDetailResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(purApplyDetailEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*/
@RepeatSubmit()
@PostMapping("/insertDetail")
public BaseResponse detailAdd(@RequestBody InnerOrderDetailEntity innerOrderDetailEntity) {
innerOrderDetailService.insert(innerOrderDetailEntity);
return ResultVOUtils.success("");
}
/**
*
*/
@RepeatSubmit()
@PostMapping("/updateDetail")
public BaseResponse detailEdit(@RequestBody InnerOrderDetailEntity innerOrderDetailEntity) {
innerOrderDetailService.update(innerOrderDetailEntity);
return ResultVOUtils.success("更新成功");
}
/**
*
*
* @param ids
*/
@DeleteMapping("/detail/{ids}")
public BaseResponse detailRemove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
innerOrderDetailService.deleteByIds(Arrays.asList(ids));
return ResultVOUtils.success("删除成功");
}
}