1.提交送货单审核功能

master
x_z 2 years ago
parent 1794e6ee2a
commit c88fc60567

@ -214,6 +214,9 @@ public class ConstantStatus {
public static final String REDIS_BILLNO = "ACCEPT_"; //缓存单据前缀
public static final String REDIS_BILLNO_CODES = "ACCEPT_CODES";
public static final String REDIS_DELIVERY_BILLNO = "PUR_DELIVERY_ACCEPT_"; //送货单单据前缀
public static final String REDIS_DELIVERY_CODES = "PUR_DELIVERY_CODES"; //送货单条码明细
public static final int APPLY_DRAFT = 1;//草稿
public static final int APPLY_UN_AUDIT = 2;//未审核

@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
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.Constant;
@ -16,20 +17,28 @@ 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.*;
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;
@ -38,7 +47,10 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.constraints.NotEmpty;
import java.math.BigDecimal;
import java.util.*;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Validated
@ -46,13 +58,10 @@ import java.util.stream.Collectors;
@RestController
public class PurDeliveryController extends BaseController {
@Resource
PurDeliveryService purDeliveryService;
@Resource
PurDeliveryDetailService purDeliveryDetailService;
@Resource
CustomerService customerService;
@Resource
@ -63,6 +72,14 @@ public class PurDeliveryController extends BaseController {
IoOrderDetailBizService ioOrderDetailBizService;
@Resource
InvWarehouseService invWarehouseService;
@Resource
private RedisUtil redisUtil;
@Resource
private PurDeliveryCodeService purDeliveryCodeService;
@Resource
private UdiRelevanceService udiRelevanceService;
@Resource
private UdiCalCountUtil calCountUtil;
/**
*
@ -228,6 +245,127 @@ public class PurDeliveryController extends BaseController {
}
/**
*
*
* @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")
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);
}
/**
*
@ -310,8 +448,6 @@ public class PurDeliveryController extends BaseController {
*/
@PostMapping("/purchase/delivery/addPlanDetailAndOrder")
public BaseResponse addPlanDetailAndOrder(@RequestBody PurDeliveryRequest purDeliveryRequest) {
List<PurOrderDetailEntity> purOrderDetailEntities = purOrderDetailService.findByOrderId(purDeliveryRequest.getPurOrderId() + "");
List<PurDeliveryDetailEntity> purDeliveryDetailEntities = purOrderDetailEntities.stream()
.map(e -> {
@ -327,7 +463,6 @@ public class PurDeliveryController extends BaseController {
if (falg) {
//查询申购单
return ResultVOUtils.success("添加成功");
} else {
return ResultVOUtils.success("添加失败");
}

@ -101,4 +101,12 @@ public interface UdiRelevanceDao extends BaseMapperPlus<UdiRelevanceDao, UdiRele
* @return
*/
Long selectProductByRelCode(@Param("relCode") String relCode);
/**
* DIid
*
* @param nameCode
* @return
*/
String selectRelIdByNameCode(@Param("nameCode") String nameCode);
}

@ -0,0 +1,7 @@
package com.glxp.api.dao.purchase;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.purchase.PurDeliveryCodeEntity;
public interface PurDeliveryCodeDao extends BaseMapper<PurDeliveryCodeEntity> {
}

@ -0,0 +1,99 @@
package com.glxp.api.entity.purchase;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
*
*/
@Data
@TableName(value = "pur_delivery_code")
public class PurDeliveryCodeEntity {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* /
*/
@TableField(value = "orderIdFk")
private String orderIdFk;
/**
* udi
*/
@TableField(value = "code")
private String code;
/**
*
*/
@TableField(value = "nameCode")
private String nameCode;
/**
*
*/
@TableField(value = "batchNo")
private String batchNo;
/**
*
*/
@TableField(value = "produceDate")
private String produceDate;
/**
*
*/
@TableField(value = "exipreDate")
private String exipreDate;
/**
*
*/
@TableField(value = "serialNo")
private String serialNo;
/**
*
*/
@TableField(value = "relId")
private String relId;
/**
* ID
*/
@TableField(value = "supId")
private String supId;
/**
*
*/
@TableField(value = "`count`")
private Integer count;
/**
*
*/
@TableField(value = "reCount")
private Integer reCount;
/**
*
*/
@TableField(value = "createTime")
private Date createTime;
/**
*
*/
@TableField(value = "updateTime")
private Date updateTime;
}

@ -4,16 +4,15 @@ package com.glxp.api.req.purchase;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class PurOrderDetailRequest extends ListPageRequest {
private Long id;
/**
*
*
*/
private Long id;
private String billNo;
/**
*

@ -0,0 +1,20 @@
package com.glxp.api.req.purchase;
import lombok.Data;
/**
*
*/
@Data
public class ReviewDeliveryOrderRequest {
/**
*
*/
private String billNo;
/**
*
*/
private boolean finishAccept;
}

@ -0,0 +1,43 @@
package com.glxp.api.res.purchase;
import lombok.Data;
import java.util.List;
/**
*
*/
@Data
public class PurDeliveryAcceptOrderResponse {
/**
*
*/
private String orderIdFk;
/**
*
*/
private String billNo;
/**
* udi
*/
private String code;
/**
*
*/
private boolean isExitAccept;
/**
*
*/
private boolean finishAccept;
/**
*
*/
List<PurDeliveryDetailResponse> orderDetails;
}

@ -4,7 +4,6 @@ package com.glxp.api.service.basic;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -21,6 +20,13 @@ public interface UdiRelevanceService {
UdiRelevanceResponse selectByNameCode(String nameCode);
/**
* ID
*
* @param relId
* @return
*/
UdiRelevanceResponse selectByRelId(String relId);
//根据DI查询产品信息
List<UdiRelevanceResponse> selectAllByNameCode(String nameCode);
@ -80,4 +86,12 @@ public interface UdiRelevanceService {
List<UdiRelevanceResponse> selectGroupByNameCode(String nameCode, Boolean isDisable);
/**
* UDIID
*
* @param code
* @return
*/
String getRelIdByUdiCode(String code);
}

@ -4,19 +4,18 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.dao.basic.UdiProductDao;
import com.glxp.api.dao.basic.UdiRelevanceDao;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.entity.thrsys.ThrSystemEntity;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.thrsys.FilterBasicThirdSysRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.thrsys.ThrSystemService;
import com.glxp.api.util.udi.FilterUdiUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@ -79,6 +78,17 @@ public class UdiRelevanceServiceImpl implements UdiRelevanceService {
return null;
}
@Override
public UdiRelevanceResponse selectByRelId(String relId) {
FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest();
filterUdiRelRequest.setRelId(relId);
List<UdiRelevanceResponse> udiRelevanceResponses = filterUdiRelevance(filterUdiRelRequest);
if (CollUtil.isNotEmpty(udiRelevanceResponses)) {
return udiRelevanceResponses.get(0);
}
return null;
}
@Override
public List<UdiRelevanceResponse> selectAllByNameCode(String nameCode, String unitFk) {
List<UdiRelevanceResponse> udiRelevanceResponses;
@ -343,4 +353,13 @@ public class UdiRelevanceServiceImpl implements UdiRelevanceService {
public List<UdiRelevanceResponse> selectGroupByNameCode(String nameCode, Boolean isDisable) {
return udiRelevanceDao.selectGroupByNameCode(nameCode, isDisable);
}
@Override
public String getRelIdByUdiCode(String code) {
if (StrUtil.isBlank(code)) {
return null;
}
UdiEntity udi = FilterUdiUtils.getUdi(code);
return udiRelevanceDao.selectRelIdByNameCode(udi.getUdi());
}
}

@ -0,0 +1,38 @@
package com.glxp.api.service.purchase;
import com.glxp.api.entity.purchase.PurDeliveryCodeEntity;
import com.glxp.api.res.purchase.PurDeliveryDetailResponse;
import java.util.List;
/**
* Service
*/
public interface PurDeliveryCodeService {
/**
*
*
* @param orderId
* @return
*/
List<PurDeliveryCodeEntity> findByOrderId(String orderId);
/**
*
*
* @param codeList
* @param relId
* @return
*/
int isExist(String orderIdFk, String relId);
/**
*
*
* @param billNo
* @param orderDetail
* @param code UDI
*/
void addCode(String billNo, PurDeliveryDetailResponse orderDetail, String code);
}

@ -1,5 +1,6 @@
package com.glxp.api.service.purchase;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.entity.purchase.PurDeliveryEntity;
import com.glxp.api.req.purchase.PurDeliveryRequest;
import com.glxp.api.res.purchase.PurDeliveryResponse;
@ -17,4 +18,20 @@ public interface PurDeliveryService {
Boolean deleteByIds(List<Integer> ids);
Boolean deleteById(long id);
/**
*
*
* @param billNo
* @return
*/
PurDeliveryEntity findByBillNo(String billNo);
/**
*
*
* @param purDeliveryEntity
* @return
*/
BaseResponse updateReview(PurDeliveryEntity purDeliveryEntity);
}

@ -1,12 +1,10 @@
package com.glxp.api.service.purchase;
import com.glxp.api.entity.basic.BasicProductsEntity;
import com.glxp.api.entity.purchase.PurOrderDetailEntity;
import com.glxp.api.entity.purchase.PurPlanDetailEntity;
import com.glxp.api.req.purchase.PurOrderDetailRequest;
import com.glxp.api.req.purchase.PurPlanDetailRequest;
import com.glxp.api.res.purchase.PurDeliveryDetailResponse;
import com.glxp.api.res.purchase.PurOrderDetailResponse;
import java.util.List;
@ -33,4 +31,11 @@ public interface PurOrderDetailService {
BasicProductsEntity selectIoOrderDetailBiz(long id);
/**
*
*
* @param orderDetails
* @return
*/
boolean vailFinish(List<PurDeliveryDetailResponse> orderDetails);
}

@ -0,0 +1,86 @@
package com.glxp.api.service.purchase.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.dao.purchase.PurDeliveryCodeDao;
import com.glxp.api.dao.purchase.PurDeliveryDetailDao;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.purchase.PurDeliveryCodeEntity;
import com.glxp.api.entity.purchase.PurDeliveryDetailEntity;
import com.glxp.api.res.purchase.PurDeliveryDetailResponse;
import com.glxp.api.service.purchase.PurDeliveryCodeService;
import com.glxp.api.util.Constant;
import com.glxp.api.util.udi.FilterUdiUtils;
import com.glxp.api.util.udi.UdiCalCountUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Slf4j
@Service
@Transactional(rollbackFor = Exception.class)
public class PurDeliveryCodeServiceImpl implements PurDeliveryCodeService {
@Resource
private PurDeliveryCodeDao purDeliveryCodeDao;
@Resource
private PurDeliveryDetailDao purDeliveryDetailDao;
@Resource
private UdiCalCountUtil calCountUtil;
@Override
public List<PurDeliveryCodeEntity> findByOrderId(String orderId) {
return purDeliveryCodeDao.selectList(new QueryWrapper<PurDeliveryCodeEntity>().eq("orderId", orderId));
}
@Override
public int isExist(String orderIdFk, String relId) {
//解析UDI码
if (StrUtil.isBlank(relId)) {
return Constant.CHECK_NULL;
}
//查询是否存是此送货单的产品
Long count = purDeliveryDetailDao.selectCount(new QueryWrapper<PurDeliveryDetailEntity>()
.eq("productId", relId).eq("orderIdFk", orderIdFk));
return count > 0 ? Constant.CHECK_EXIT : Constant.CHECK_NULL;
}
@Override
public void addCode(String billNo, PurDeliveryDetailResponse orderDetail, String code) {
UdiEntity udi = FilterUdiUtils.getUdi(code);
PurDeliveryCodeEntity codeEntity = null;
if (StrUtil.isBlank(udi.getSerialNo())) {
//无序列号产品,查询是否已经存在此条码,若存在则+1不存在则新增一条
codeEntity = purDeliveryCodeDao.selectOne(new QueryWrapper<PurDeliveryCodeEntity>().eq("billNo", billNo).eq("code", code));
}
if (null != codeEntity) {
codeEntity.setCount(codeEntity.getCount() + 1);
//重新计算实际数量
int reCount = calCountUtil.getActCount(udi.getUdi()) * codeEntity.getCount();
codeEntity.setReCount(reCount);
codeEntity.setUpdateTime(new Date());
purDeliveryCodeDao.updateById(codeEntity);
} else {
//新增条码
codeEntity = new PurDeliveryCodeEntity();
codeEntity.setRelId(orderDetail.getRelId());
codeEntity.setCode(code);
codeEntity.setCount(1);
codeEntity.setReCount(calCountUtil.getActCount(udi.getUdi()));
codeEntity.setOrderIdFk(billNo);
codeEntity.setBatchNo(udi.getBatchNo());
codeEntity.setSerialNo(udi.getSerialNo());
codeEntity.setProduceDate(udi.getProduceDate());
codeEntity.setExipreDate(udi.getExpireDate());
codeEntity.setSupId(orderDetail.getSupId());
codeEntity.setCreateTime(new Date());
codeEntity.setUpdateTime(new Date());
purDeliveryCodeDao.insert(codeEntity);
}
}
}

@ -1,15 +1,22 @@
package com.glxp.api.service.purchase.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.dao.purchase.PurDeliveryDao;
import com.glxp.api.entity.purchase.PurDeliveryEntity;
import com.glxp.api.req.purchase.PurDeliveryRequest;
import com.glxp.api.res.purchase.PurDeliveryResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.purchase.PurDeliveryService;
import com.glxp.api.util.RedisUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@Service
@ -17,6 +24,10 @@ public class PurDeliveryServiceImpl implements PurDeliveryService {
@Resource
PurDeliveryDao purDeliveryDao;
@Resource
private CustomerService customerService;
@Resource
private RedisUtil redisUtil;
@Override
public List<PurDeliveryResponse> queryPageList(PurDeliveryRequest purDeliveryRequest) {
@ -50,4 +61,23 @@ public class PurDeliveryServiceImpl implements PurDeliveryService {
public Boolean deleteById(long id) {
return purDeliveryDao.deleteById(id) > 0 ? true : false;
}
@Override
public PurDeliveryEntity findByBillNo(String billNo) {
return purDeliveryDao.selectOne(new QueryWrapper<PurDeliveryEntity>().eq("billNo", billNo));
}
@Override
public BaseResponse updateReview(PurDeliveryEntity purDeliveryEntity) {
//删除redis中缓存的送货单数据
redisUtil.del(ConstantStatus.REDIS_DELIVERY_BILLNO + purDeliveryEntity.getBillNo());
redisUtil.del(ConstantStatus.REDIS_DELIVERY_CODES + purDeliveryEntity.getBillNo());
//更新单据信息
purDeliveryEntity.setStatus(3); //修改为已审核状态
purDeliveryEntity.setUpdateTime(new Date());
purDeliveryEntity.setAuditUser(customerService.getUserIdStr());
purDeliveryDao.updateById(purDeliveryEntity);
return ResultVOUtils.success("验收成功");
}
}

@ -1,16 +1,14 @@
package com.glxp.api.service.purchase.impl;
import cn.hutool.core.collection.CollUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.purchase.PurOrderDetailDao;
import com.glxp.api.dao.purchase.PurPlanDetailDao;
import com.glxp.api.entity.basic.BasicProductsEntity;
import com.glxp.api.entity.purchase.PurOrderDetailEntity;
import com.glxp.api.entity.purchase.PurPlanDetailEntity;
import com.glxp.api.req.purchase.PurOrderDetailRequest;
import com.glxp.api.req.purchase.PurPlanDetailRequest;
import com.glxp.api.res.purchase.PurDeliveryDetailResponse;
import com.glxp.api.res.purchase.PurOrderDetailResponse;
import com.glxp.api.service.purchase.PurOrderDetailService;
import com.glxp.api.service.purchase.PurPlanDetailService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -92,4 +90,18 @@ public class PurOrderDetailServiceImpl implements PurOrderDetailService {
public BasicProductsEntity selectIoOrderDetailBiz(long id) {
return purOrderDetailDao.selectIoOrderDetailBiz(id);
}
@Override
public boolean vailFinish(List<PurDeliveryDetailResponse> orderDetails) {
if (CollUtil.isNotEmpty(orderDetails)) {
for (PurDeliveryDetailResponse orderDetail : orderDetails) {
if (orderDetail.getCount() != orderDetail.getAcceptCount()) {
return false;
}
}
return true;
}
return false;
}
}

@ -2,11 +2,14 @@ package com.glxp.api.util;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
@ -583,4 +586,21 @@ public class RedisUtil {
}
}
/**
* redis
*
* @param key
* @param c
* @return
*/
public List getList(String key, Class c) {
if (StrUtil.isBlank(key)) {
return Collections.emptyList();
}
Object value = redisTemplate.opsForValue().get(key);
if (null != value) {
return JSONUtil.toList(JSONUtil.toJsonStr(value), c);
}
return Collections.emptyList();
}
}

@ -56,4 +56,9 @@ public class UdiCalCountUtil {
}
public int getActCountByRelId(String relId) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(relId);
int count = getActCount(udiRelevanceResponse);
return count;
}
}

@ -906,4 +906,10 @@
where basic_udirel.relCode = #{relCode}
</select>
<select id="selectRelIdByNameCode" resultType="java.lang.String">
select basic_udirel.id
from basic_udirel
inner join basic_products on basic_udirel.uuid = basic_products.uuid
where basic_products.nameCode = #{nameCode}
</select>
</mapper>

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.purchase.PurDeliveryCodeDao">
<resultMap id="BaseResultMap" type="com.glxp.api.entity.purchase.PurDeliveryCodeEntity">
<!--@mbg.generated-->
<!--@Table pur_delivery_code-->
<id column="id" jdbcType="INTEGER" property="id" />
<result column="orderIdFk" jdbcType="VARCHAR" property="orderidfk" />
<result column="code" jdbcType="VARCHAR" property="code" />
<result column="nameCode" jdbcType="VARCHAR" property="namecode" />
<result column="batchNo" jdbcType="VARCHAR" property="batchno" />
<result column="produceDate" jdbcType="VARCHAR" property="producedate" />
<result column="exipreDate" jdbcType="VARCHAR" property="exipredate" />
<result column="serialNo" jdbcType="VARCHAR" property="serialno" />
<result column="relId" jdbcType="VARCHAR" property="relid" />
<result column="supId" jdbcType="VARCHAR" property="supid" />
<result column="count" jdbcType="INTEGER" property="count" />
<result column="reCount" jdbcType="INTEGER" property="recount" />
<result column="createTime" jdbcType="TIMESTAMP" property="createtime" />
<result column="updateTime" jdbcType="TIMESTAMP" property="updatetime" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, orderIdFk, code, nameCode, batchNo, produceDate, exipreDate, serialNo, relId,
supId, `count`, reCount, createTime, updateTime
</sql>
</mapper>
Loading…
Cancel
Save