单据编辑删除库存等

master
anthonywj 2 years ago
parent c5dab991d3
commit 5dae7d0f51

@ -12,10 +12,7 @@ import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.auth.InvBusUserEntity; import com.glxp.api.entity.auth.InvBusUserEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.EntrustReceEntity; import com.glxp.api.entity.basic.EntrustReceEntity;
import com.glxp.api.entity.inout.IoCodeTempEntity; import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.req.auth.FilterInvBusUserRequest; import com.glxp.api.req.auth.FilterInvBusUserRequest;
import com.glxp.api.req.basic.BasicEntrustRecRequest; import com.glxp.api.req.basic.BasicEntrustRecRequest;
import com.glxp.api.req.inout.AddOrderRequest; import com.glxp.api.req.inout.AddOrderRequest;
@ -220,6 +217,8 @@ public class IoOrderController extends BaseController {
return ResultVOUtils.success("提交成功!"); return ResultVOUtils.success("提交成功!");
} }
@Resource
IoCodeService codeService;
//未校验单据删除 //未校验单据删除
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@ -229,10 +228,43 @@ public class IoOrderController extends BaseController {
orderDetailBizService.deleteByOrderId(deleteRequest.getBillNo()); orderDetailBizService.deleteByOrderId(deleteRequest.getBillNo());
orderDetailCodeService.deleteByOrderId(deleteRequest.getBillNo()); orderDetailCodeService.deleteByOrderId(deleteRequest.getBillNo());
codeTempService.deleteByBillNo(deleteRequest.getBillNo()); codeTempService.deleteByBillNo(deleteRequest.getBillNo());
codeService.deleteCodeByOrderId(deleteRequest.getBillNo());
return ResultVOUtils.success("删除成功!"); return ResultVOUtils.success("删除成功!");
}
//已验收单据删除、单据编辑删除等
@AuthRuleAnnotation("")
@PostMapping("udiwms/inout/order/finish/delete")
public BaseResponse deleteById(@RequestBody DeleteRequest deleteRequest) {
List<String> delBillNos = new ArrayList<>();
if (CollUtil.isNotEmpty(deleteRequest.getBillNos())) {
delBillNos.addAll(deleteRequest.getBillNos());
} else {
delBillNos.add(deleteRequest.getBillNo());
}
orderService.deleteInvByBillNo(delBillNos);
for (String billNo : delBillNos) {
orderService.deleteByBillNo(billNo);
orderDetailBizService.deleteByOrderId(billNo);
orderDetailCodeService.deleteByOrderId(billNo);
codeTempService.deleteByBillNo(billNo);
codeService.deleteCodeByOrderId(billNo);
}
return ResultVOUtils.success("删除成功!");
} }
//单据编辑,条码减一
@AuthRuleAnnotation("")
@PostMapping("udiwms/inout/code/finish/delete")
public BaseResponse deleteCodeById(@RequestBody IoCodeEntity codeEntity) {
orderService.deleteInvCode(codeEntity.getOrderId(), codeEntity.getCode());
return ResultVOUtils.success("删除成功!");
}
//手持终端获取未处理业务单据进行校验 //手持终端获取未处理业务单据进行校验
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@GetMapping("/udiwms/erpOrder/filter") @GetMapping("/udiwms/erpOrder/filter")

@ -135,7 +135,7 @@ public class InvPreProductController {
} else { } else {
detailRequest.setBatchNo(invPreProductEntity.getBatchNo()); detailRequest.setBatchNo(invPreProductEntity.getBatchNo());
} }
invPreProductService.deleteById(id); invPreProductService.deleteById(Integer.parseInt(id));
invPreProductDetailService.deleteInvPreProductDetail(detailRequest); invPreProductDetailService.deleteInvPreProductDetail(detailRequest);
return ResultVOUtils.success("删除成功"); return ResultVOUtils.success("删除成功");
} else { } else {

@ -9,8 +9,8 @@ import lombok.Data;
import java.util.Date; import java.util.Date;
/** /**
* *
*/ */
@Data @Data
@TableName(value = "inv_pre_product_detail") @TableName(value = "inv_pre_product_detail")
public class InvPreProductDetailEntity { public class InvPreProductDetailEntity {
@ -45,7 +45,7 @@ public class InvPreProductDetailEntity {
* ID * ID
*/ */
@TableField(value = "relId") @TableField(value = "relId")
private Integer relId; private Long relId;
/** /**
* *

@ -10,4 +10,5 @@ public class DeleteRequest {
String id; String id;
List<String> ids; List<String> ids;
String billNo; String billNo;
List<String> billNos;
} }

@ -17,6 +17,8 @@ public interface IoCodeService {
int updateById(IoCodeEntity codeEnttity); int updateById(IoCodeEntity codeEnttity);
int deleteById(Integer id);
public IoCodeEntity findByUnique(String orderId, String code); public IoCodeEntity findByUnique(String orderId, String code);
/** /**

@ -1,5 +1,6 @@
package com.glxp.api.service.inout; package com.glxp.api.service.inout;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity; import com.glxp.api.entity.inout.IoOrderDetailResultEntity;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse;
@ -10,6 +11,9 @@ public interface IoOrderDetailResultService {
List<IoOrderDetailResultEntity> findByOrderId(String orderId); List<IoOrderDetailResultEntity> findByOrderId(String orderId);
IoOrderDetailResultEntity findByUnique(String orderId, Long relId, String bacthNo);
int insert(IoOrderDetailResultEntity orderDetailResultEntity); int insert(IoOrderDetailResultEntity orderDetailResultEntity);
int deleteByOrderId(String billNo); int deleteByOrderId(String billNo);

@ -33,6 +33,11 @@ public interface IoOrderService {
int deleteByBillNo(String billNo); int deleteByBillNo(String billNo);
int deleteInvByBillNo(List<String> billNo);
int deleteInvCode(String billNo, String code);
/** /**
* *
* *

@ -54,6 +54,11 @@ public class IoCodeServiceImpl implements IoCodeService {
return ioCodeDao.updateById(codeEnttity); return ioCodeDao.updateById(codeEnttity);
} }
@Override
public int deleteById(Integer id) {
return ioCodeDao.deleteById(id);
}
@Override @Override
public IoCodeEntity findByUnique(String orderId, String code) { public IoCodeEntity findByUnique(String orderId, String code) {
return ioCodeDao.selectOne(new QueryWrapper<IoCodeEntity>().eq("orderId", orderId).eq("code", code)); return ioCodeDao.selectOne(new QueryWrapper<IoCodeEntity>().eq("orderId", orderId).eq("code", code));

@ -1,8 +1,10 @@
package com.glxp.api.service.inout.impl; package com.glxp.api.service.inout.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.inout.IoOrderDetailResultDao; import com.glxp.api.dao.inout.IoOrderDetailResultDao;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity; import com.glxp.api.entity.inout.IoOrderDetailResultEntity;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse;
@ -24,6 +26,12 @@ public class IoOrderDetailResultServiceImpl implements IoOrderDetailResultServic
return orderDetailResultDao.selectList(new QueryWrapper<IoOrderDetailResultEntity>().eq("orderIdFk", orderId)); return orderDetailResultDao.selectList(new QueryWrapper<IoOrderDetailResultEntity>().eq("orderIdFk", orderId));
} }
@Override
public IoOrderDetailResultEntity findByUnique(String orderId, Long relId, String bacthNo) {
return orderDetailResultDao.selectOne(new QueryWrapper<IoOrderDetailResultEntity>().eq("orderIdFk", orderId).eq("bindRlFk", relId).eq(StrUtil.isNotEmpty(bacthNo), "batchNo", bacthNo)
.isNull(StrUtil.isEmpty(bacthNo), "batchNo"));
}
@Override @Override
public int insert(IoOrderDetailResultEntity orderDetailResultEntity) { public int insert(IoOrderDetailResultEntity orderDetailResultEntity) {
orderDetailResultEntity.setId(null); orderDetailResultEntity.setId(null);

@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.constant.Constant; import com.glxp.api.constant.Constant;
import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.constant.ConstantType;
import com.glxp.api.dao.auth.DeptDao; import com.glxp.api.dao.auth.DeptDao;
import com.glxp.api.dao.auth.InvSubWarehouseDao; import com.glxp.api.dao.auth.InvSubWarehouseDao;
import com.glxp.api.dao.basic.BasicBussinessTypeDao; import com.glxp.api.dao.basic.BasicBussinessTypeDao;
@ -16,19 +17,27 @@ import com.glxp.api.dao.basic.BasicCorpDao;
import com.glxp.api.dao.inout.IoOrderDao; import com.glxp.api.dao.inout.IoOrderDao;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.BasicCorpEntity; import com.glxp.api.entity.basic.BasicCorpEntity;
import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.inv.*;
import com.glxp.api.req.inout.FilterOrderRequest; import com.glxp.api.req.inout.FilterOrderRequest;
import com.glxp.api.req.inout.OrderEditRequest; import com.glxp.api.req.inout.OrderEditRequest;
import com.glxp.api.req.inv.FilterInvProductDetailRequest;
import com.glxp.api.req.inv.FilterInvProductRequest;
import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.res.inout.IoOrderResponse;
import com.glxp.api.res.inout.OrderNoResult; import com.glxp.api.res.inout.OrderNoResult;
import com.glxp.api.service.inout.IoOrderService; import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.inout.*;
import com.glxp.api.service.inv.*;
import com.glxp.api.util.DateUtil; import com.glxp.api.util.DateUtil;
import com.glxp.api.util.udi.UdiCalCountUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
@Slf4j @Slf4j
@Service @Service
@ -44,6 +53,26 @@ public class IoOrderServiceImpl implements IoOrderService {
private DeptDao deptDao; private DeptDao deptDao;
@Resource @Resource
private InvSubWarehouseDao invSubWarehouseDao; private InvSubWarehouseDao invSubWarehouseDao;
@Resource
IBasicBussinessTypeService basicBussinessTypeService;
@Resource
InvPreinOrderService preinOrderService;
@Resource
InvPreinDetailService preinDetailService;
@Resource
InvProductDetailService invProductDetailService;
@Resource
InvProductService invProductService;
@Resource
InvPreProductService invPreProductService;
@Resource
InvPreProductDetailService invPreProductDetailService;
@Resource
UdiCalCountUtil udiCalCountUtil;
@Resource
IoCodeService codeService;
@Resource
IoCodeTempService codeTempService;
@Override @Override
public List<IoOrderEntity> selectAll() { public List<IoOrderEntity> selectAll() {
@ -121,6 +150,193 @@ public class IoOrderServiceImpl implements IoOrderService {
return orderDao.delete(new QueryWrapper<IoOrderEntity>().eq("billNo", billNo)); return orderDao.delete(new QueryWrapper<IoOrderEntity>().eq("billNo", billNo));
} }
//已验收单据删除、单据编辑删除等(删除对应的库存信息)
@Override
public int deleteInvByBillNo(List<String> billNos) {
for (String billNo : billNos) {
IoOrderEntity orderEntity = findByBillNo(billNo);
if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED) {
BasicBussinessTypeEntity basicBussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
//判断单据是否是预验收单据,如果是预验收单据,则删除预验收库库存
if (basicBussinessTypeEntity.isPreIn()) {
preinOrderService.deleteByOrderId(billNo);
preinDetailService.deleteByOrderId(billNo);
} else if (basicBussinessTypeEntity.isAdvanceType()) {
//是否寄售,删除寄售库存
List<InvPreProductDetailEntity> invProductDetailEntities = invPreProductDetailService.selectByOrderIdFk(billNo);
for (InvPreProductDetailEntity invProductDetailEntity : invProductDetailEntities) {
//更新库存
InvPreProductEntity invProductEntity = invPreProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode());
if (invProductEntity != null) {
if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
int count = invProductEntity.getInCount() - invProductDetailEntity.getReCount();
invProductEntity.setInCount(count);
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
int count = invProductEntity.getOutCount() - invProductDetailEntity.getReCount();
invProductEntity.setOutCount(count);
}
}
invPreProductService.update(invProductEntity);
}
//删除库存详情
invPreProductDetailService.deleteByOrderId(billNo);
} else {
//删除普通库存
List<InvProductDetailEntity> invProductDetailEntities = invProductDetailService.selectByOrderIdFk(billNo);
for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) {
//更新库存
InvProductEntity invProductEntity = invProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode());
if (invProductEntity != null) {
if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
int count = invProductEntity.getInCount() - invProductDetailEntity.getReCount();
invProductEntity.setInCount(count);
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
int count = invProductEntity.getOutCount() - invProductDetailEntity.getReCount();
invProductEntity.setOutCount(count);
}
}
invProductService.update(invProductEntity);
}
//删除库存详情
invProductDetailService.deleteByOrderId(billNo);
}
}
}
return 0;
}
@Resource
IoOrderDetailCodeService ioOrderDetailCodeService;
@Resource
IoOrderDetailResultService ioOrderDetailResultService;
//单据编辑条码减一
@Override
public int deleteInvCode(String billNo, String code) {
//查询条码
IoOrderEntity orderEntity = findByBillNo(billNo);
if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED
|| orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) {
//更新正式表
IoCodeEntity ioCodeEntity = codeService.findByUnique(billNo, code);
if (ioCodeEntity.getCount() > 1) {
//更新码表
ioCodeEntity.setCount(ioCodeEntity.getCount() - 1);
int reCount = udiCalCountUtil.getActCount(ioCodeEntity.getRelId());
ioCodeEntity.setReCount(ioCodeEntity.getReCount() - reCount);
codeService.updateById(ioCodeEntity); //更新码详情
//更新扫码单据详情
IoOrderDetailCodeEntity ioOrderDetailCodeEntity = ioOrderDetailCodeService.findByUnique(ioCodeEntity.getOrderId(), ioCodeEntity.getRelId(), ioCodeEntity.getBatchNo());
ioOrderDetailCodeEntity.setReCount(ioOrderDetailCodeEntity.getReCount() - reCount);
ioOrderDetailCodeService.update(ioOrderDetailCodeEntity);
//更新结果详情
IoOrderDetailResultEntity ioOrderDetailResultEntity = ioOrderDetailResultService.findByUnique(ioCodeEntity.getOrderId(), ioCodeEntity.getRelId(), ioCodeEntity.getBatchNo());
ioOrderDetailResultEntity.setReCount(ioOrderDetailResultEntity.getReCount() - reCount);
ioOrderDetailResultService.update(ioOrderDetailResultEntity);
} else {
//如果数量扣减之后为0直接删除此条码
codeService.deleteById(ioCodeEntity.getId());
}
//已审核单据需扣减库存
if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED) {
BasicBussinessTypeEntity basicBussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
//预验收库存
if (basicBussinessTypeEntity.isPreIn()) {
InvPreinDetailEntity invPreinDetailEntity = preinDetailService.findByCode(billNo, code);
int count = invPreinDetailEntity.getCount() - 1;
if (count == 0) {
preinDetailService.deleteById(invPreinDetailEntity.getId());
} else {
invPreinDetailEntity.setCount(count);
int reCount = udiCalCountUtil.getActCount(invPreinDetailEntity.getRelId());
invPreinDetailEntity.setReCount(invPreinDetailEntity.getReCount() - reCount);
preinDetailService.update(invPreinDetailEntity);
}
} else if (basicBussinessTypeEntity.isAdvanceType()) { //寄售库存
InvPreProductDetailEntity invProductDetailEntity = invPreProductDetailService.selectByCode(billNo, code);
int count = invProductDetailEntity.getCount() - 1;
if (count == 0) {
invPreProductService.deleteById(invProductDetailEntity.getId());
} else {
//更新详情表
invProductDetailEntity.setCount(count);
int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getRelId());
invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount);
invPreProductDetailService.update(invProductDetailEntity);
}
//更新产品表
InvPreProductEntity invProductEntity = invPreProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode());
if (invProductEntity != null) {
if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
int inCount = invProductEntity.getInCount() - invProductDetailEntity.getReCount();
invProductEntity.setInCount(inCount);
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
int outCount = invProductEntity.getOutCount() - invProductDetailEntity.getReCount();
invProductEntity.setOutCount(outCount);
}
invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount());
}
invPreProductService.update(invProductEntity);
} else { //普通库存
InvProductDetailEntity invProductDetailEntity = invProductDetailService.selectByCode(billNo, code);
int count = invProductDetailEntity.getCount() - 1;
if (count == 0) {
invProductDetailService.deleteById(invProductDetailEntity.getId());
} else {
//更新详情表
invProductDetailEntity.setCount(count);
int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getRelId());
invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount);
invProductDetailService.update(invProductDetailEntity);
}
//更新产品表
InvProductEntity invProductEntity = invProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode());
if (invProductEntity != null) {
if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
int inCount = invProductEntity.getInCount() - invProductDetailEntity.getReCount();
invProductEntity.setInCount(inCount);
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
int outCount = invProductEntity.getOutCount() - invProductDetailEntity.getReCount();
invProductEntity.setOutCount(outCount);
}
invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount());
}
invProductService.update(invProductEntity);
}
}
} else {
//更新临时表
IoCodeTempEntity ioCodeEntity = codeTempService.findByUnique(billNo, code);
if (ioCodeEntity.getCount() > 1) {
//删除一个条码
ioCodeEntity.setCount(ioCodeEntity.getCount() - 1);
int reCount = udiCalCountUtil.getActCount(ioCodeEntity.getRelId());
ioCodeEntity.setReCount(ioCodeEntity.getReCount() - reCount);
codeTempService.updateById(ioCodeEntity); //更新码详情
} else {
//如果数量扣减之后为0直接删除此条码
codeService.deleteById(ioCodeEntity.getId());
}
}
return 0;
}
@Override @Override
public List<IoOrderResponse> filterList(FilterOrderRequest filterOrderRequest) { public List<IoOrderResponse> filterList(FilterOrderRequest filterOrderRequest) {
if (null == filterOrderRequest) { if (null == filterOrderRequest) {

@ -1,6 +1,7 @@
package com.glxp.api.service.inv; package com.glxp.api.service.inv;
import com.glxp.api.entity.inv.InvPreProductDetailEntity; import com.glxp.api.entity.inv.InvPreProductDetailEntity;
import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest;
import com.glxp.api.req.inv.FilterInvProductDetailRequest; import com.glxp.api.req.inv.FilterInvProductDetailRequest;
import com.glxp.api.res.inv.InvPreProductDetailResponse; import com.glxp.api.res.inv.InvPreProductDetailResponse;
@ -14,10 +15,16 @@ public interface InvPreProductDetailService {
int insert(InvPreProductDetailEntity invPreProductDetailEntity); int insert(InvPreProductDetailEntity invPreProductDetailEntity);
List<InvPreProductDetailEntity> selectByOrderIdFk(String billNo);
InvPreProductDetailEntity selectByCode(String billNo, String code);
boolean update(InvPreProductDetailEntity invPreProductDetailEntity); boolean update(InvPreProductDetailEntity invPreProductDetailEntity);
boolean deleteById(String id); boolean deleteById(String id);
int deleteByOrderId(String billNo);
/** /**
* *
* *

@ -1,6 +1,8 @@
package com.glxp.api.service.inv; package com.glxp.api.service.inv;
import com.glxp.api.entity.inv.InvPreProductEntity; import com.glxp.api.entity.inv.InvPreProductEntity;
import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.entity.inv.InvProductEntity;
import com.glxp.api.req.inv.FilterInvPreProductRequest; import com.glxp.api.req.inv.FilterInvPreProductRequest;
import com.glxp.api.res.inv.InvPreProductResponse; import com.glxp.api.res.inv.InvPreProductResponse;
@ -13,9 +15,12 @@ public interface InvPreProductService {
int insert(InvPreProductEntity invPreProductEntity); int insert(InvPreProductEntity invPreProductEntity);
boolean update(InvPreProductEntity invPreProductEntity); boolean update(InvPreProductEntity invPreProductEntity);
boolean deleteById(String id); InvPreProductEntity selectByUnique(Long relId, String batchNo, String supId, String deptCode, String invCode);
boolean deleteById(Integer id);
/** /**
* VO * VO

@ -21,6 +21,7 @@ public interface InvPreinDetailService {
int deleteByOrderId(String orderId); int deleteByOrderId(String orderId);
int deleteById(Integer id);
InvPreinDetailEntity findByCode(String orderId, String code); InvPreinDetailEntity findByCode(String orderId, String code);

@ -1,5 +1,6 @@
package com.glxp.api.service.inv; package com.glxp.api.service.inv;
import com.glxp.api.entity.inv.InvPreinDetailEntity;
import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.req.inv.FilterInvProductDetailRequest; import com.glxp.api.req.inv.FilterInvProductDetailRequest;
import com.glxp.api.res.inv.InvProductDetailResponse; import com.glxp.api.res.inv.InvProductDetailResponse;
@ -10,6 +11,18 @@ public interface InvProductDetailService {
int insert(InvProductDetailEntity invProductDetailEntity); int insert(InvProductDetailEntity invProductDetailEntity);
List<InvProductDetailEntity> selectByOrderIdFk(String billNo);
InvProductDetailEntity selectByCode(String billNo, String code);
int deleteByOrderId(String billNo);
int deleteById(Integer id);
int update(InvProductDetailEntity invProductDetailEntity);
List<InvProductDetailEntity> selectByUnique(Long relId, String batchNo, String supId, String deptCode, String invCode); List<InvProductDetailEntity> selectByUnique(Long relId, String batchNo, String supId, String deptCode, String invCode);
InvProductDetailEntity sortFindByCode(String code); InvProductDetailEntity sortFindByCode(String code);

@ -1,5 +1,7 @@
package com.glxp.api.service.inv.impl; package com.glxp.api.service.inv.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.constant.ConstantType; import com.glxp.api.constant.ConstantType;
@ -9,6 +11,7 @@ import com.glxp.api.dao.inv.InvPreProductDetailDao;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.inv.InvPreProductDetailEntity; import com.glxp.api.entity.inv.InvPreProductDetailEntity;
import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest;
import com.glxp.api.req.inv.FilterInvProductDetailRequest; import com.glxp.api.req.inv.FilterInvProductDetailRequest;
import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.req.system.DeleteRequest;
@ -40,6 +43,24 @@ public class InvPreProductDetailServiceImpl implements InvPreProductDetailServic
return invPreProductDetailDao.insert(invPreProductDetailEntity); return invPreProductDetailDao.insert(invPreProductDetailEntity);
} }
@Override
public List<InvPreProductDetailEntity> selectByOrderIdFk(String billNo) {
if (StrUtil.isEmpty(billNo))
return null;
List<InvPreProductDetailEntity> invProductDetailEntities = invPreProductDetailDao.selectList(new QueryWrapper<InvPreProductDetailEntity>().eq("orderId", billNo));
return invProductDetailEntities;
}
@Override
public InvPreProductDetailEntity selectByCode(String billNo, String code) {
List<InvPreProductDetailEntity> invProductDetailEntities = invPreProductDetailDao.selectList
(new QueryWrapper<InvPreProductDetailEntity>().eq("code", code).eq("orderId", billNo));
if (CollUtil.isNotEmpty(invProductDetailEntities))
return invProductDetailEntities.get(0);
else
return null;
}
@Override @Override
public boolean update(InvPreProductDetailEntity invPreProductDetailEntity) { public boolean update(InvPreProductDetailEntity invPreProductDetailEntity) {
return invPreProductDetailDao.updateById(invPreProductDetailEntity) == 1 ? true : false; return invPreProductDetailDao.updateById(invPreProductDetailEntity) == 1 ? true : false;
@ -50,6 +71,11 @@ public class InvPreProductDetailServiceImpl implements InvPreProductDetailServic
return invPreProductDetailDao.deleteById(id) == 1 ? true : false; return invPreProductDetailDao.deleteById(id) == 1 ? true : false;
} }
@Override
public int deleteByOrderId(String billNo) {
return invPreProductDetailDao.delete(new QueryWrapper<InvPreProductDetailEntity>().eq("orderId", billNo));
}
@Override @Override
public List<InvPreProductDetailEntity> filterPreProductDetailList(FilterInvPreProductDetailRequest invPreProductDetailRequest) { public List<InvPreProductDetailEntity> filterPreProductDetailList(FilterInvPreProductDetailRequest invPreProductDetailRequest) {
if (null == invPreProductDetailRequest) { if (null == invPreProductDetailRequest) {

@ -1,8 +1,11 @@
package com.glxp.api.service.inv.impl; package com.glxp.api.service.inv.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.inv.InvPreProductDao; import com.glxp.api.dao.inv.InvPreProductDao;
import com.glxp.api.entity.inv.InvPreProductEntity; import com.glxp.api.entity.inv.InvPreProductEntity;
import com.glxp.api.entity.inv.InvProductEntity;
import com.glxp.api.req.inv.FilterInvPreProductRequest; import com.glxp.api.req.inv.FilterInvPreProductRequest;
import com.glxp.api.res.inv.InvPreProductResponse; import com.glxp.api.res.inv.InvPreProductResponse;
import com.glxp.api.service.inv.InvPreProductService; import com.glxp.api.service.inv.InvPreProductService;
@ -33,7 +36,14 @@ public class InvPreProductServiceImpl implements InvPreProductService {
} }
@Override @Override
public boolean deleteById(String id) { public InvPreProductEntity selectByUnique(Long relId, String batchNo, String supId, String deptCode, String invCode) {
return invPreProductDao.selectOne(new QueryWrapper<InvPreProductEntity>().eq("relIdFk", relId).eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo)
.isNull(StrUtil.isEmpty(batchNo), "batchNo").eq("supId", supId).eq("deptCode", deptCode).eq("invCode", invCode));
}
@Override
public boolean deleteById(Integer id) {
return invPreProductDao.deleteById(id) == 1 ? true : false; return invPreProductDao.deleteById(id) == 1 ? true : false;
} }

@ -59,6 +59,11 @@ public class InvPreinDetailServiceImpl implements InvPreinDetailService {
return invPreinDetailDao.delete(new QueryWrapper<InvPreinDetailEntity>().eq("orderId", orderId)); return invPreinDetailDao.delete(new QueryWrapper<InvPreinDetailEntity>().eq("orderId", orderId));
} }
@Override
public int deleteById(Integer id) {
return invPreinDetailDao.deleteById(id);
}
@Override @Override
public InvPreinDetailEntity findByCode(String orderId, String code) { public InvPreinDetailEntity findByCode(String orderId, String code) {
List<InvPreinDetailEntity> invPreinDetailEntities = invPreinDetailDao.selectList(new QueryWrapper<InvPreinDetailEntity>().eq("orderId", orderId).eq("code", code).last("limit 1")); List<InvPreinDetailEntity> invPreinDetailEntities = invPreinDetailDao.selectList(new QueryWrapper<InvPreinDetailEntity>().eq("orderId", orderId).eq("code", code).last("limit 1"));

@ -42,6 +42,39 @@ public class InvProductDetailServiceImpl implements InvProductDetailService {
return invProductDetailDao.insert(invProductDetailEntity); return invProductDetailDao.insert(invProductDetailEntity);
} }
@Override
public List<InvProductDetailEntity> selectByOrderIdFk(String billNo) {
if (StrUtil.isEmpty(billNo))
return null;
List<InvProductDetailEntity> invProductDetailEntities = invProductDetailDao.selectList(new QueryWrapper<InvProductDetailEntity>().eq("orderId", billNo));
return invProductDetailEntities;
}
@Override
public InvProductDetailEntity selectByCode(String billNo, String code) {
List<InvProductDetailEntity> invProductDetailEntities = invProductDetailDao.selectList
(new QueryWrapper<InvProductDetailEntity>().eq("code", code).eq("orderId", billNo));
if (CollUtil.isNotEmpty(invProductDetailEntities))
return invProductDetailEntities.get(0);
else
return null;
}
@Override
public int deleteByOrderId(String billNo) {
return invProductDetailDao.delete(new QueryWrapper<InvProductDetailEntity>().eq("orderId", billNo));
}
@Override
public int deleteById(Integer id) {
return invProductDetailDao.deleteById(id);
}
@Override
public int update(InvProductDetailEntity invProductDetailEntity) {
return invProductDetailDao.updateById(invProductDetailEntity);
}
@Override @Override
public List<InvProductDetailEntity> selectByUnique(Long relId, String batchNo, String supId, String deptCode, String invCode) { public List<InvProductDetailEntity> selectByUnique(Long relId, String batchNo, String supId, String deptCode, String invCode) {
return invProductDetailDao.selectList(new QueryWrapper<InvProductDetailEntity>().eq("relId", relId).eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo) return invProductDetailDao.selectList(new QueryWrapper<InvProductDetailEntity>().eq("relId", relId).eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo)

@ -93,7 +93,7 @@ public class InvProductServiceImpl implements InvProductService {
return Collections.emptyList(); return Collections.emptyList();
} }
if (null != filterInvProductRequest.getPage() && null != filterInvProductRequest.getLimit()) { if (null != filterInvProductRequest.getPage() && null != filterInvProductRequest.getLimit()) {
PageHelper.offsetPage((filterInvProductRequest.getPage() -1 ) * filterInvProductRequest.getLimit(), filterInvProductRequest.getLimit()); PageHelper.offsetPage((filterInvProductRequest.getPage() - 1) * filterInvProductRequest.getLimit(), filterInvProductRequest.getLimit());
} }
return invProductDao.getCountInvProduct(filterInvProductRequest); return invProductDao.getCountInvProduct(filterInvProductRequest);
} }

Loading…
Cancel
Save