|
|
package com.glxp.api.controller.purchase;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
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.enums.ResultEnum;
|
|
|
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.constant.ConstantStatus;
|
|
|
import com.glxp.api.constant.ConstantType;
|
|
|
import com.glxp.api.controller.BaseController;
|
|
|
import com.glxp.api.entity.auth.InvWarehouseEntity;
|
|
|
import com.glxp.api.entity.basic.BasicProductsEntity;
|
|
|
import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
|
|
|
import com.glxp.api.entity.inout.IoOrderEntity;
|
|
|
import com.glxp.api.entity.purchase.*;
|
|
|
import com.glxp.api.req.purchase.PostPurDeliveryRequest;
|
|
|
import com.glxp.api.req.purchase.PurDeliveryRequest;
|
|
|
import com.glxp.api.req.purchase.PurOrderDetailRequest;
|
|
|
import com.glxp.api.req.purchase.ReviewDeliveryOrderRequest;
|
|
|
import com.glxp.api.res.PageSimpleResponse;
|
|
|
import com.glxp.api.res.purchase.PurDeliveryAcceptOrderResponse;
|
|
|
import com.glxp.api.res.purchase.PurDeliveryDetailResponse;
|
|
|
import com.glxp.api.res.purchase.PurDeliveryResponse;
|
|
|
import com.glxp.api.service.auth.CustomerService;
|
|
|
import com.glxp.api.service.auth.InvWarehouseService;
|
|
|
import com.glxp.api.service.basic.UdiRelevanceService;
|
|
|
import com.glxp.api.service.inout.IoOrderDetailBizService;
|
|
|
import com.glxp.api.service.inout.IoOrderService;
|
|
|
import com.glxp.api.service.purchase.PurDeliveryCodeService;
|
|
|
import com.glxp.api.service.purchase.PurDeliveryDetailService;
|
|
|
import com.glxp.api.service.purchase.PurDeliveryService;
|
|
|
import com.glxp.api.service.purchase.PurOrderDetailService;
|
|
|
import com.glxp.api.util.CustomUtil;
|
|
|
import com.glxp.api.util.GennerOrderUtils;
|
|
|
import com.glxp.api.util.OrderNoTypeBean;
|
|
|
import com.glxp.api.util.RedisUtil;
|
|
|
import com.glxp.api.util.udi.UdiCalCountUtil;
|
|
|
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.math.BigDecimal;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Validated
|
|
|
@RequiredArgsConstructor
|
|
|
@RestController
|
|
|
public class PurDeliveryController extends BaseController {
|
|
|
|
|
|
@Resource
|
|
|
PurDeliveryService purDeliveryService;
|
|
|
@Resource
|
|
|
PurDeliveryDetailService purDeliveryDetailService;
|
|
|
@Resource
|
|
|
CustomerService customerService;
|
|
|
@Resource
|
|
|
GennerOrderUtils gennerOrderUtils;
|
|
|
@Resource
|
|
|
IoOrderService ioOrderService;
|
|
|
@Resource
|
|
|
IoOrderDetailBizService ioOrderDetailBizService;
|
|
|
@Resource
|
|
|
InvWarehouseService invWarehouseService;
|
|
|
@Resource
|
|
|
private RedisUtil redisUtil;
|
|
|
@Resource
|
|
|
private PurDeliveryCodeService purDeliveryCodeService;
|
|
|
@Resource
|
|
|
private UdiRelevanceService udiRelevanceService;
|
|
|
@Resource
|
|
|
private UdiCalCountUtil calCountUtil;
|
|
|
|
|
|
/**
|
|
|
* 新增到货单
|
|
|
*/
|
|
|
@RepeatSubmit()
|
|
|
@AuthRuleAnnotation("")
|
|
|
@PostMapping("/purchase/delivery/postOrder")
|
|
|
@Log(title = "到货单", businessType = BusinessType.INSERT)
|
|
|
public BaseResponse postOrder(@RequestBody PostPurDeliveryRequest purDeliveryRequest) {
|
|
|
|
|
|
Long userId = customerService.getUserId();
|
|
|
PurDeliveryEntity purArrivalEntity = purDeliveryRequest.getPurDeliveryEntity();
|
|
|
|
|
|
purArrivalEntity.setCreateUser(userId + "");
|
|
|
purArrivalEntity.setCreateTime(new Date());
|
|
|
purArrivalEntity.setUpdateTime(new Date());
|
|
|
purArrivalEntity.setUpdateUser(userId + "");
|
|
|
purArrivalEntity.setStatus(purDeliveryRequest.getEditStatus()); //草稿状态
|
|
|
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(purArrivalEntity.getInvCode());
|
|
|
purArrivalEntity.setDeptCode(invWarehouseEntity.getParentId());
|
|
|
|
|
|
if (purDeliveryRequest.getType() != null) {
|
|
|
String billNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.SH_ORDER, "yyyyMMdd"));
|
|
|
purArrivalEntity.setBillNo(billNo);
|
|
|
}
|
|
|
|
|
|
if (purArrivalEntity.getId() == null) {
|
|
|
purDeliveryService.insert(purArrivalEntity);
|
|
|
} else {
|
|
|
purDeliveryService.update(purArrivalEntity);
|
|
|
}
|
|
|
|
|
|
return ResultVOUtils.success("提交成功!");
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 查询未审核和草稿状态
|
|
|
*/
|
|
|
@GetMapping("/purchase/delivery/list")
|
|
|
public BaseResponse list(PurDeliveryRequest purDeliveryRequest) {
|
|
|
|
|
|
if (purDeliveryRequest.getStatus() == null) {
|
|
|
purDeliveryRequest.setStatus(11); //查询未审核和草稿状态
|
|
|
}
|
|
|
List<PurDeliveryResponse> purDeliveryResponses = purDeliveryService.queryPageList(purDeliveryRequest);
|
|
|
PageInfo<PurDeliveryResponse> pageInfo;
|
|
|
pageInfo = new PageInfo<>(purDeliveryResponses);
|
|
|
PageSimpleResponse<PurDeliveryResponse> pageSimpleResponse = new PageSimpleResponse<>();
|
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
|
pageSimpleResponse.setList(purDeliveryResponses);
|
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 查询未审核和已审核状态
|
|
|
*/
|
|
|
@GetMapping("/purchase/delivery/auditList")
|
|
|
public BaseResponse auditList(PurDeliveryRequest purDeliveryRequest) {
|
|
|
|
|
|
if (purDeliveryRequest.getStatus() == null) {
|
|
|
purDeliveryRequest.setStatus(10); //查询未审核和已审核状态
|
|
|
}
|
|
|
List<PurDeliveryResponse> purDeliveryResponses = purDeliveryService.queryPageList(purDeliveryRequest);
|
|
|
PageInfo<PurDeliveryResponse> pageInfo;
|
|
|
pageInfo = new PageInfo<>(purDeliveryResponses);
|
|
|
PageSimpleResponse<PurDeliveryResponse> pageSimpleResponse = new PageSimpleResponse<>();
|
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
|
pageSimpleResponse.setList(purDeliveryResponses);
|
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 审核送货单
|
|
|
*/
|
|
|
@RepeatSubmit()
|
|
|
@PostMapping("/purchase/delivery/auditOrder")
|
|
|
@Log(title = "送货单", businessType = BusinessType.INSERT)
|
|
|
public BaseResponse auditOrder(@RequestBody PostPurDeliveryRequest postPurDeliveryRequest) {
|
|
|
Long userId = customerService.getUserId();
|
|
|
PurDeliveryEntity purDeliveryEntity = postPurDeliveryRequest.getPurDeliveryEntity();
|
|
|
purDeliveryEntity.setUpdateTime(new Date());
|
|
|
purDeliveryEntity.setAuditUser(userId + "");
|
|
|
purDeliveryEntity.setStatus(postPurDeliveryRequest.getEditStatus());
|
|
|
purDeliveryService.update(purDeliveryEntity);
|
|
|
String billNo = "";
|
|
|
List<PurDeliveryDetailEntity> purOrderDetailEntities = purDeliveryDetailService.findByOrderId(purDeliveryEntity.getId() + "");
|
|
|
|
|
|
//对计划单里面的供应商进行分组
|
|
|
Map<String, List<PurDeliveryDetailEntity>> map = purOrderDetailEntities.stream().collect(Collectors.groupingBy(PurDeliveryDetailEntity::getSupId));
|
|
|
|
|
|
if (postPurDeliveryRequest.getEditStatus() == ConstantStatus.APPLY_AUDIT_ED) {
|
|
|
|
|
|
if (CollUtil.isNotEmpty(purOrderDetailEntities) && postPurDeliveryRequest.isAutoPurchase() == true
|
|
|
&& StrUtil.isNotEmpty(postPurDeliveryRequest.getTargetSubInv()) && StrUtil.isNotEmpty(postPurDeliveryRequest.getTargetBillAction())) {
|
|
|
|
|
|
for (Map.Entry<String, List<PurDeliveryDetailEntity>> m : map.entrySet()) {
|
|
|
//生产单据表信息
|
|
|
IoOrderEntity ioOrderEntity = new IoOrderEntity();
|
|
|
ioOrderEntity.setBillNo(gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd")));
|
|
|
ioOrderEntity.setCorpOrderId(CustomUtil.getDate());
|
|
|
ioOrderEntity.setMainAction(ConstantType.TYPE_PUT);
|
|
|
ioOrderEntity.setAction(postPurDeliveryRequest.getTargetBillAction());
|
|
|
ioOrderEntity.setFromCorp(m.getKey());
|
|
|
ioOrderEntity.setFromType(ConstantStatus.FROM_Order);
|
|
|
ioOrderEntity.setStatus(1);
|
|
|
ioOrderEntity.setDealStatus(1);
|
|
|
ioOrderEntity.setOrderType(1);
|
|
|
ioOrderEntity.setCreateTime(new Date());
|
|
|
ioOrderEntity.setCreateUser(postPurDeliveryRequest.getPurDeliveryEntity().getAuditUser());
|
|
|
ioOrderEntity.setUpdateTime(new Date());
|
|
|
ioOrderEntity.setUpdateUser(postPurDeliveryRequest.getPurDeliveryEntity().getAuditUser());
|
|
|
ioOrderEntity.setCustomerId("110");
|
|
|
ioOrderEntity.setDeptCode(postPurDeliveryRequest.getTargetDeptCode());
|
|
|
ioOrderEntity.setInvCode(postPurDeliveryRequest.getTargetSubInv());
|
|
|
ioOrderService.insertOrder(ioOrderEntity);
|
|
|
billNo += ioOrderEntity.getBillNo() + ",";
|
|
|
//插入业务单表
|
|
|
for (PurDeliveryDetailEntity obj : m.getValue()) {
|
|
|
BasicProductsEntity basicProductsEntity = purDeliveryDetailService.selectIoOrderDetailBiz(obj.getId());
|
|
|
IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity();
|
|
|
ioOrderDetailBizEntity.setOrderIdFk(ioOrderEntity.getBillNo());
|
|
|
ioOrderDetailBizEntity.setBindRlFk(Long.valueOf(obj.getProductId()));
|
|
|
ioOrderDetailBizEntity.setCount(obj.getCount());
|
|
|
ioOrderDetailBizEntity.setUuidFk(basicProductsEntity.getUuid());
|
|
|
ioOrderDetailBizEntity.setNameCode(basicProductsEntity.getNameCode());
|
|
|
ioOrderDetailBizEntity.setCoName(basicProductsEntity.getCpmctymc());
|
|
|
ioOrderDetailBizEntity.setCertCode(basicProductsEntity.getZczbhhzbapzbh());
|
|
|
ioOrderDetailBizEntity.setYlqxzcrbarmc(basicProductsEntity.getYlqxzcrbarmc());
|
|
|
ioOrderDetailBizEntity.setManufacturer(basicProductsEntity.getManufactory());
|
|
|
ioOrderDetailBizEntity.setMeasname(basicProductsEntity.getMeasname());
|
|
|
ioOrderDetailBizEntity.setSpec(basicProductsEntity.getGgxh());
|
|
|
if (basicProductsEntity.getPrice() != null) {
|
|
|
ioOrderDetailBizEntity.setPrice(BigDecimal.valueOf(basicProductsEntity.getPrice()));
|
|
|
}
|
|
|
ioOrderDetailBizEntity.setSupId(obj.getSupId());
|
|
|
ioOrderDetailBizService.insert(ioOrderDetailBizEntity);
|
|
|
}
|
|
|
}
|
|
|
purDeliveryEntity.setStockOrderNo(billNo.substring(0, billNo.length() - 1));
|
|
|
purDeliveryService.update(purDeliveryEntity);
|
|
|
}
|
|
|
}
|
|
|
return ResultVOUtils.success("更新成功!");
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 查询采购订单列表
|
|
|
*/
|
|
|
@GetMapping("/purchase/delivery/list/detail")
|
|
|
public BaseResponse detailList(PurOrderDetailRequest purApplyDetailRequest) {
|
|
|
|
|
|
List<PurDeliveryDetailResponse> purDeliveryDetailResponses = purDeliveryDetailService.joinQueryList(purApplyDetailRequest);
|
|
|
PageInfo<PurDeliveryDetailResponse> pageInfo;
|
|
|
pageInfo = new PageInfo<>(purDeliveryDetailResponses);
|
|
|
PageSimpleResponse<PurDeliveryDetailResponse> pageSimpleResponse = new PageSimpleResponse<>();
|
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
|
pageSimpleResponse.setList(purDeliveryDetailResponses);
|
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 拉取审核单据详情
|
|
|
*
|
|
|
* @param purOrderDetailRequest
|
|
|
* @return
|
|
|
*/
|
|
|
@GetMapping("/purchase/delivery/list/getAcceptOrder")
|
|
|
public BaseResponse getAcceptOrder(PurOrderDetailRequest purOrderDetailRequest) {
|
|
|
if (null == purOrderDetailRequest && StrUtil.isBlank(purOrderDetailRequest.getOrderIdFk())) {
|
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
|
|
}
|
|
|
PurDeliveryAcceptOrderResponse response = new PurDeliveryAcceptOrderResponse();
|
|
|
response.setBillNo(purOrderDetailRequest.getBillNo());
|
|
|
List<PurDeliveryDetailResponse> list = redisUtil.getList(ConstantStatus.REDIS_DELIVERY_BILLNO + purOrderDetailRequest.getBillNo(), PurDeliveryDetailResponse.class);
|
|
|
if (CollUtil.isNotEmpty(list)) {
|
|
|
response.setOrderDetails(list);
|
|
|
response.setExitAccept(true);
|
|
|
} else {
|
|
|
List<PurDeliveryDetailResponse> deliveryDetailResponses = purDeliveryDetailService.joinQueryList(purOrderDetailRequest);
|
|
|
response.setOrderDetails(deliveryDetailResponses);
|
|
|
response.setExitAccept(false);
|
|
|
}
|
|
|
return ResultVOUtils.success(response);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 送货单验收扫码接口
|
|
|
*
|
|
|
* @param acceptOrderResponse
|
|
|
* @return
|
|
|
*/
|
|
|
@PostMapping("/purchase/delivery/list/acceptAddCode")
|
|
|
public BaseResponse acceptAddCode(@RequestBody PurDeliveryAcceptOrderResponse acceptOrderResponse) {
|
|
|
PurDeliveryEntity purDeliveryEntity = purDeliveryService.findByBillNo(acceptOrderResponse.getBillNo());
|
|
|
if (null == purDeliveryEntity) {
|
|
|
return ResultVOUtils.error(500, "此送货单不存在!");
|
|
|
}
|
|
|
List<PurDeliveryCodeEntity> codeList;
|
|
|
List<PurDeliveryCodeEntity> codeEntityList = redisUtil.getList(ConstantStatus.REDIS_DELIVERY_CODES + acceptOrderResponse.getBillNo(), PurDeliveryCodeEntity.class);
|
|
|
if (CollUtil.isNotEmpty(codeEntityList)) {
|
|
|
codeList = purDeliveryCodeService.findByOrderId(acceptOrderResponse.getBillNo());
|
|
|
} else {
|
|
|
codeList = codeEntityList;
|
|
|
}
|
|
|
String relId = udiRelevanceService.getRelIdByUdiCode(acceptOrderResponse.getCode());
|
|
|
if (StrUtil.isBlank(relId)) {
|
|
|
return ResultVOUtils.error(500, "非此单UDI码");
|
|
|
} else {
|
|
|
int status = purDeliveryCodeService.isExist(acceptOrderResponse.getOrderIdFk(), relId);
|
|
|
if (status == Constant.CHECK_NULL) {
|
|
|
return ResultVOUtils.error(500, "非此单UDI码");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
List<PurDeliveryDetailResponse> orderDetails = acceptOrderResponse.getOrderDetails();
|
|
|
if (StrUtil.isNotBlank(acceptOrderResponse.getCode()) && CollUtil.isNotEmpty(orderDetails)) {
|
|
|
boolean isExist = false;
|
|
|
for (PurDeliveryDetailResponse orderDetail : orderDetails) {
|
|
|
if (orderDetail.getProductId().equals(relId)) {
|
|
|
orderDetail.setAcceptCount(orderDetail.getAcceptCount() + calCountUtil.getActCountByRelId(relId));
|
|
|
if (orderDetail.getAcceptCount() > orderDetail.getCount()) {
|
|
|
return ResultVOUtils.error(500, "数量溢出!");
|
|
|
}
|
|
|
purDeliveryCodeService.addCode(acceptOrderResponse.getBillNo(), orderDetail, acceptOrderResponse.getCode());
|
|
|
isExist = true;
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (isExist) {
|
|
|
redisUtil.set(ConstantStatus.REDIS_DELIVERY_BILLNO + acceptOrderResponse.getBillNo(), acceptOrderResponse);
|
|
|
redisUtil.set(ConstantStatus.REDIS_DELIVERY_CODES + acceptOrderResponse.getBillNo(), codeList);
|
|
|
acceptOrderResponse.setOrderDetails(orderDetails);
|
|
|
if (purOrderDetailService.vailFinish(orderDetails)) {
|
|
|
acceptOrderResponse.setFinishAccept(true);
|
|
|
return ResultVOUtils.success(acceptOrderResponse);
|
|
|
}
|
|
|
|
|
|
return ResultVOUtils.success(acceptOrderResponse);
|
|
|
}
|
|
|
}
|
|
|
return ResultVOUtils.error(500, "非此单UDI码!");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 送货单 - 重新验收接口
|
|
|
*
|
|
|
* @param acceptOrderResponse
|
|
|
* @return
|
|
|
*/
|
|
|
@PostMapping("/purchase/delivery/list/acceptClear")
|
|
|
public BaseResponse acceptClear(@RequestBody PurDeliveryAcceptOrderResponse acceptOrderResponse) {
|
|
|
String billNo = acceptOrderResponse.getBillNo();
|
|
|
redisUtil.del(ConstantStatus.REDIS_DELIVERY_BILLNO + billNo);
|
|
|
redisUtil.del(ConstantStatus.REDIS_DELIVERY_CODES + billNo);
|
|
|
PurOrderDetailRequest purOrderDetailRequest = new PurOrderDetailRequest();
|
|
|
purOrderDetailRequest.setOrderIdFk(acceptOrderResponse.getOrderIdFk());
|
|
|
List<PurDeliveryDetailResponse> deliveryDetailResponses = purDeliveryDetailService.joinQueryList(purOrderDetailRequest);
|
|
|
acceptOrderResponse.setOrderDetails(deliveryDetailResponses);
|
|
|
return ResultVOUtils.success(acceptOrderResponse);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 完成验收接口
|
|
|
*
|
|
|
* @param reviewFinishRequest
|
|
|
* @return
|
|
|
*/
|
|
|
@PostMapping("/purchase/delivery/list/updateStatus")
|
|
|
@Log(title = "到货单", businessType = BusinessType.UPDATE)
|
|
|
public BaseResponse updateStatus(@RequestBody ReviewDeliveryOrderRequest reviewFinishRequest) {
|
|
|
if (null == reviewFinishRequest && StrUtil.isBlank(reviewFinishRequest.getBillNo())) {
|
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
|
|
}
|
|
|
if (!reviewFinishRequest.isFinishAccept()) {
|
|
|
return ResultVOUtils.error(500, "未完成验收");
|
|
|
}
|
|
|
PurDeliveryEntity purDeliveryEntity = purDeliveryService.findByBillNo(reviewFinishRequest.getBillNo());
|
|
|
return purDeliveryService.updateReview(purDeliveryEntity);
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 添加产品到采购单里面
|
|
|
*/
|
|
|
@PostMapping("/purchase/delivery/addOrderDetail")
|
|
|
@Log(title = "采购单", businessType = BusinessType.INSERT)
|
|
|
public BaseResponse addOrderDetail(@RequestBody PurDeliveryDetailEntity purOrderDetailEntity) {
|
|
|
|
|
|
boolean falg = purDeliveryDetailService.insert(purOrderDetailEntity);
|
|
|
if (falg) {
|
|
|
return ResultVOUtils.success("添加成功");
|
|
|
} else {
|
|
|
return ResultVOUtils.success("添加失败");
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 新增计划单
|
|
|
*/
|
|
|
@AuthRuleAnnotation("")
|
|
|
@PostMapping("/purchase/delivery/add")
|
|
|
@Log(title = "计划单", businessType = BusinessType.INSERT)
|
|
|
public BaseResponse add() {
|
|
|
Long userId = customerService.getUserId();
|
|
|
PurDeliveryEntity purArrivalEntity = new PurDeliveryEntity();
|
|
|
purArrivalEntity.setCreateUser(userId + "");
|
|
|
purArrivalEntity.setCreateTime(new Date());
|
|
|
purArrivalEntity.setUpdateTime(new Date());
|
|
|
purArrivalEntity.setUpdateUser(userId + "");
|
|
|
purArrivalEntity.setSupId(getCustomerId());
|
|
|
purDeliveryService.insert(purArrivalEntity);
|
|
|
Long id = purArrivalEntity.getId();
|
|
|
return ResultVOUtils.success(id);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 删除申购单和详情
|
|
|
*/
|
|
|
@AuthRuleAnnotation("")
|
|
|
@PostMapping("/purchase/delivery/delOrderDetailAll")
|
|
|
@Log(title = "申购单", businessType = BusinessType.DELETE)
|
|
|
public BaseResponse delApplyDetailAll(@RequestBody PurApplyEntity purApplyEntity) {
|
|
|
|
|
|
if (purApplyEntity.getId() != null) {
|
|
|
purDeliveryService.deleteById(purApplyEntity.getId());
|
|
|
purDeliveryDetailService.deleteByOrderId(purApplyEntity.getId() + "");
|
|
|
} else {
|
|
|
return ResultVOUtils.error(999, "参数有误!");
|
|
|
}
|
|
|
return ResultVOUtils.success();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 修改计划详情单
|
|
|
*/
|
|
|
@RepeatSubmit()
|
|
|
@PostMapping("/purchase/delivery/updateDetail")
|
|
|
@Log(title = "计划详情单", businessType = BusinessType.UPDATE)
|
|
|
public BaseResponse detailEdit(@RequestBody PurDeliveryDetailEntity purDeliveryDetailEntity) {
|
|
|
purDeliveryDetailService.update(purDeliveryDetailEntity);
|
|
|
return ResultVOUtils.success("修改成功");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 删除采购订单
|
|
|
*
|
|
|
* @param ids 主键串
|
|
|
*/
|
|
|
@DeleteMapping("/purchase/delivery/detail/{ids}")
|
|
|
@Log(title = "采购订单", businessType = BusinessType.DELETE)
|
|
|
public BaseResponse detailRemove(@NotEmpty(message = "主键不能为空")
|
|
|
@PathVariable Long[] ids) {
|
|
|
|
|
|
purDeliveryDetailService.deleteByIds(Arrays.asList(ids));
|
|
|
return ResultVOUtils.success("删除成功");
|
|
|
}
|
|
|
|
|
|
@Resource
|
|
|
PurOrderDetailService purOrderDetailService;
|
|
|
|
|
|
/**
|
|
|
* 添加采购订单至送货单
|
|
|
*/
|
|
|
@PostMapping("/purchase/delivery/addPlanDetailAndOrder")
|
|
|
@Log(title = "采购订单", businessType = BusinessType.INSERT)
|
|
|
public BaseResponse addPlanDetailAndOrder(@RequestBody PurDeliveryRequest purDeliveryRequest) {
|
|
|
List<PurOrderDetailEntity> purOrderDetailEntities = purOrderDetailService.findByOrderId(purDeliveryRequest.getPurOrderId() + "");
|
|
|
List<PurDeliveryDetailEntity> purDeliveryDetailEntities = purOrderDetailEntities.stream()
|
|
|
.map(e -> {
|
|
|
PurDeliveryDetailEntity d = new PurDeliveryDetailEntity();
|
|
|
BeanUtils.copyProperties(e, d);
|
|
|
return d;
|
|
|
})
|
|
|
.collect(Collectors.toList());
|
|
|
for (PurDeliveryDetailEntity obj : purDeliveryDetailEntities) {
|
|
|
obj.setOrderIdFk(purDeliveryRequest.getId() + "");
|
|
|
}
|
|
|
boolean falg = purDeliveryDetailService.insertPurDeliveryDetailEntity(purDeliveryDetailEntities);
|
|
|
if (falg) {
|
|
|
//查询申购单
|
|
|
return ResultVOUtils.success("添加成功");
|
|
|
} else {
|
|
|
return ResultVOUtils.success("添加失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|