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.
230 lines
8.5 KiB
Java
230 lines
8.5 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.Log;
|
|
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.BusinessType;
|
|
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.inout.FilterOrderDetailBizRequest;
|
|
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.inout.IoOrderDetailBizResponse;
|
|
import com.glxp.api.res.inv.innerOrderDetailResponse;
|
|
import com.glxp.api.service.auth.CustomerService;
|
|
import com.glxp.api.service.inout.IoOrderDetailBizService;
|
|
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;
|
|
@Resource
|
|
IoOrderDetailBizService ioOrderDetailBizService;
|
|
|
|
/**
|
|
* 新增内部码打印单
|
|
*/
|
|
@RepeatSubmit()
|
|
@AuthRuleAnnotation("")
|
|
@PostMapping("/postOrder")
|
|
@Log(title = "内部码", businessType = BusinessType.INSERT)
|
|
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);
|
|
}
|
|
|
|
|
|
/**
|
|
* 查询内部码打印单列表
|
|
*/
|
|
@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()
|
|
@Log(title = "内部码", businessType = BusinessType.INSERT)
|
|
public BaseResponse add(@RequestBody InnerOrderEntity innerOrderEntity) {
|
|
|
|
innerOrderService.insert(innerOrderEntity);
|
|
return ResultVOUtils.success("新增成功!");
|
|
}
|
|
|
|
/**
|
|
* 修改内部码打印单
|
|
*/
|
|
@RepeatSubmit()
|
|
@PutMapping()
|
|
@Log(title = "内部码", businessType = BusinessType.UPDATE)
|
|
public BaseResponse edit(@RequestBody InnerOrderEntity innerOrderEntity) {
|
|
innerOrderService.update(innerOrderEntity);
|
|
return ResultVOUtils.success("删除成功");
|
|
}
|
|
|
|
/**
|
|
* 删除内部码打印单
|
|
*
|
|
* @param ids 主键串
|
|
*/
|
|
@DeleteMapping("/{ids}")
|
|
@Log(title = "内部码", businessType = BusinessType.DELETE)
|
|
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")
|
|
@Log(title = "内部码", businessType = BusinessType.INSERT)
|
|
public BaseResponse detailAdd(@RequestBody InnerOrderDetailEntity innerOrderDetailEntity) {
|
|
|
|
innerOrderDetailService.insert(innerOrderDetailEntity);
|
|
return ResultVOUtils.success("");
|
|
}
|
|
|
|
/**
|
|
* 新增内部码打印单
|
|
*/
|
|
@RepeatSubmit()
|
|
@PostMapping("/orderDetailAdd")
|
|
@Log(title = "内部码", businessType = BusinessType.INSERT)
|
|
public BaseResponse orderDetailAdd(@RequestBody InnerOrderDetailRequest innerOrderDetailRequest) {
|
|
InnerOrderDetailEntity innerOrderDetailEntity=new InnerOrderDetailEntity();
|
|
|
|
//查询业务单
|
|
FilterOrderDetailBizRequest filterOrderDetailBizRequest=new FilterOrderDetailBizRequest();
|
|
filterOrderDetailBizRequest.setOrderIdFk(innerOrderDetailRequest.getBillNo());
|
|
List<IoOrderDetailBizResponse> ioOrderDetailBizResponseList = ioOrderDetailBizService.filterList(filterOrderDetailBizRequest);
|
|
for (IoOrderDetailBizResponse ioOrderDetailBizResponse : ioOrderDetailBizResponseList) {
|
|
innerOrderDetailEntity.setOrderIdFk(innerOrderDetailRequest.getOrderIdFk());
|
|
innerOrderDetailEntity.setProductId(ioOrderDetailBizResponse.getBindRlFk()+"");
|
|
innerOrderDetailEntity.setProductName(ioOrderDetailBizResponse.getCoName());
|
|
innerOrderDetailEntity.setProductDate(ioOrderDetailBizResponse.getProductDate());
|
|
innerOrderDetailEntity.setExpireDate(ioOrderDetailBizResponse.getExpireDate());
|
|
innerOrderDetailEntity.setBatchNo(ioOrderDetailBizResponse.getBatchNo());
|
|
innerOrderDetailEntity.setCount(ioOrderDetailBizResponse.getCount());
|
|
innerOrderDetailService.insert(innerOrderDetailEntity);
|
|
}
|
|
return ResultVOUtils.success("");
|
|
}
|
|
|
|
/**
|
|
* 修改内部码打印单
|
|
*/
|
|
@RepeatSubmit()
|
|
@PostMapping("/updateDetail")
|
|
@Log(title = "内部码", businessType = BusinessType.UPDATE)
|
|
public BaseResponse detailEdit(@RequestBody InnerOrderDetailEntity innerOrderDetailEntity) {
|
|
innerOrderDetailService.update(innerOrderDetailEntity);
|
|
return ResultVOUtils.success("更新成功");
|
|
}
|
|
|
|
/**
|
|
* 删除内部码打印单
|
|
*
|
|
* @param ids 主键串
|
|
*/
|
|
@DeleteMapping("/detail/{ids}")
|
|
@Log(title = "内部码", businessType = BusinessType.DELETE)
|
|
public BaseResponse detailRemove(@NotEmpty(message = "主键不能为空")
|
|
@PathVariable Long[] ids) {
|
|
|
|
innerOrderDetailService.deleteByIds(Arrays.asList(ids));
|
|
return ResultVOUtils.success("删除成功");
|
|
}
|
|
|
|
|
|
}
|