新增预验收单据字段,预验收库存查询接口

master
anthonywj 2 years ago
parent eff2a7957a
commit 46e63eaf89

@ -20,6 +20,7 @@ import com.glxp.api.entity.basic.BasicCorpEntity;
import com.glxp.api.entity.basic.UdiEntity; import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.basic.UdiProductEntity; import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.inout.*; import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.inv.InvPreInProductDetailEntity;
import com.glxp.api.entity.inv.InvPreinDetailEntity; import com.glxp.api.entity.inv.InvPreinDetailEntity;
import com.glxp.api.entity.system.SystemParamConfigEntity; import com.glxp.api.entity.system.SystemParamConfigEntity;
import com.glxp.api.req.basic.CompanyProductRelevanceRequest; import com.glxp.api.req.basic.CompanyProductRelevanceRequest;
@ -35,6 +36,7 @@ import com.glxp.api.service.auth.InvWarehouseService;
import com.glxp.api.service.basic.*; import com.glxp.api.service.basic.*;
import com.glxp.api.service.inout.*; import com.glxp.api.service.inout.*;
import com.glxp.api.service.inv.InvPreinDetailService; import com.glxp.api.service.inv.InvPreinDetailService;
import com.glxp.api.service.inv.InvPreinProductDetailService;
import com.glxp.api.service.inv.InvProductDetailService; import com.glxp.api.service.inv.InvProductDetailService;
import com.glxp.api.service.purchase.SupProductService; import com.glxp.api.service.purchase.SupProductService;
import com.glxp.api.service.system.SystemParamConfigService; import com.glxp.api.service.system.SystemParamConfigService;
@ -85,7 +87,7 @@ public class IoCodeTempController extends BaseController {
@Resource @Resource
IoCheckInoutService ioCheckInoutService; IoCheckInoutService ioCheckInoutService;
@Resource @Resource
InvPreinDetailService invPreinDetailService; InvPreinProductDetailService invPreinProductDetailService;
@Resource @Resource
InvProductDetailService invProductDetailService; InvProductDetailService invProductDetailService;
@ -452,7 +454,7 @@ public class IoCodeTempController extends BaseController {
//校验预验收是否已存在 //校验预验收是否已存在
if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN) { if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN) {
if (StrUtil.isNotEmpty(udiEntity.getSerialNo())) { if (StrUtil.isNotEmpty(udiEntity.getSerialNo())) {
int count = invPreinDetailService.findCountByCode(code); int count = invPreinProductDetailService.findCountByCode(code);
if (count > 0) { if (count > 0) {
return ResultVOUtils.error(500, "预验收库存已存在此UDI码,请检查后重试!"); return ResultVOUtils.error(500, "预验收库存已存在此UDI码,请检查后重试!");
} }
@ -461,8 +463,8 @@ public class IoCodeTempController extends BaseController {
//校验预验收库存是否已存在 //校验预验收库存是否已存在
if (bussinessTypeEntity.isScanPreIn()) { if (bussinessTypeEntity.isScanPreIn()) {
int preInCount = invPreinDetailService.findCountByCode(code); int preInCount = invPreinProductDetailService.findCountByCode(code);
InvPreinDetailEntity invPreinDetailEntity = invPreinDetailService.findUseOneByCode(code); InvPreInProductDetailEntity invPreinDetailEntity = invPreinProductDetailService.findUseOneByCode(code);
if (preInCount <= 0) { if (preInCount <= 0) {
return ResultVOUtils.error(500, "预验收库存数量不足!"); return ResultVOUtils.error(500, "预验收库存数量不足!");
} else { } else {

@ -427,7 +427,7 @@ public class SpsSyncDownloadController {
// 部门信息 // 部门信息
if (CollUtil.isNotEmpty(syncDataResponse.getDeptEntityList())) { if (CollUtil.isNotEmpty(syncDataResponse.getDeptEntityList())) {
for (DeptEntity deptEntity : syncDataResponse.getDeptEntityList()) { for (DeptEntity deptEntity : syncDataResponse.getDeptEntityList()) {
deptDao.insertInvWarehouse(deptEntity); deptDao.insertOrUpdate(deptEntity);
} }
} }
// 部门信息关联用户信息 // 部门信息关联用户信息

@ -315,7 +315,7 @@ public class BasicBussinessTypeEntity {
// @TableField(value = "preIn") // @TableField(value = "preIn")
// private boolean preIn; // private boolean preIn;
// 预验收剩余库存自动退库
@TableField(value = "preInBack") @TableField(value = "preInBack")
private boolean preInBack; private boolean preInBack;
@ -396,9 +396,10 @@ public class BasicBussinessTypeEntity {
@TableField(value = "checkCertExpire") @TableField(value = "checkCertExpire")
private boolean checkCertExpire; private boolean checkCertExpire;
// 预验收退库单据类型
@TableField(value = "preInBackAction") @TableField(value = "preInBackAction")
private String preInBackAction; private String preInBackAction;
// 预验收剩余库存退库方式
@TableField(value = "backPreinType")
private Integer backPreinType;
} }

@ -299,6 +299,7 @@ public class BussinessTypeSaveRequest {
private boolean checkExpire; private boolean checkExpire;
private boolean checkCertExpire; private boolean checkCertExpire;
private String preInBackAction; private String preInBackAction;
private Integer backPreinType;
} }

@ -148,4 +148,5 @@ public class BasicBussinessTypeResponse {
private boolean checkExpire; private boolean checkExpire;
private boolean checkCertExpire; private boolean checkCertExpire;
private String preInBackAction; private String preInBackAction;
private Integer backPreinType;
} }

@ -19,11 +19,13 @@ import com.glxp.api.res.inout.IoOrderDetailCodeResponse;
import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.inv.InvPreinDetailService; import com.glxp.api.service.inv.InvPreinDetailService;
import com.glxp.api.service.inv.InvPreinOrderService; import com.glxp.api.service.inv.InvPreinOrderService;
import com.glxp.api.service.inv.InvPreinProductDetailService;
import com.glxp.api.util.CustomUtil; import com.glxp.api.util.CustomUtil;
import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.JasperUtils; import com.glxp.api.util.JasperUtils;
import com.glxp.api.util.OrderNoTypeBean; import com.glxp.api.util.OrderNoTypeBean;
import com.glxp.api.util.udi.FilterUdiUtils; import com.glxp.api.util.udi.FilterUdiUtils;
import com.glxp.api.util.udi.UdiCalCountUtil;
import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JRException;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
@ -731,6 +733,10 @@ public class IoCheckInoutService {
@Resource @Resource
IoChangeInoutService changeInoutService; IoChangeInoutService changeInoutService;
@Resource
InvPreinProductDetailService invPreinProductDetailService;
@Resource
UdiCalCountUtil udiCalCountUtil;
//校验完成后生成库存 //校验完成后生成库存
public void genInv(IoOrderEntity orderEntity, BasicBussinessTypeEntity bussinessTypeEntity) { public void genInv(IoOrderEntity orderEntity, BasicBussinessTypeEntity bussinessTypeEntity) {
@ -738,163 +744,175 @@ public class IoCheckInoutService {
if (bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_OUT) && bussinessTypeEntity.isScanPreIn()) { if (bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_OUT) && bussinessTypeEntity.isScanPreIn()) {
ThreadUtil.execAsync(() -> { ThreadUtil.execAsync(() -> {
List<IoCodeEntity> backCodeList = new ArrayList<>();
List<IoCodeEntity> codeList = codeService.findByOrderId(orderEntity.getBillNo()); List<IoCodeEntity> codeList = codeService.findByOrderId(orderEntity.getBillNo());
//找出UDI码对应的预验收入库单号 for (IoCodeEntity codeEntity : codeList) {
Map<String, String> preInOrder = new HashMap<>(); int count = invPreinProductDetailService.findCountByCode(codeEntity.getCode());
for (IoCodeEntity warehouseEntity : codeList) { if (count > 0) {
List<InvPreinDetailEntity> invProductDetailEntities = invPreinDetailService.findByCode(warehouseEntity.getCode()); codeEntity.setCount(count);
if (invProductDetailEntities.size() > 0) { codeEntity.setReCount(udiCalCountUtil.getActCount(codeEntity.getNameCode()));
for (InvPreinDetailEntity invPreinDetailEntity : invProductDetailEntities) backCodeList.add(codeEntity);
preInOrder.put(invPreinDetailEntity.getOrderId(), invPreinDetailEntity.getOrderId());
} }
} }
if (preInOrder.size() > 0) { BasicBussinessTypeEntity basicBussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
String preInBillNo = ""; if (StrUtil.isNotEmpty(basicBussinessTypeEntity.getPreInBackAction())) {
boolean isBreak = false; IoOrderEntity outOrder = new IoOrderEntity();
List<IoCodeEntity> backCodeList = new ArrayList<>(); // BeanUtils.copyProperties(orderEntity, outOrder);
for (String key : preInOrder.keySet()) { outOrder.setId(null);
if (!isBreak) { outOrder.setMainAction(ConstantType.TYPE_OUT);
preInBillNo = preInBillNo + "," + key; outOrder.setAction(basicBussinessTypeEntity.getAction());
IoOrderEntity preInEntity = orderService.findByBillNo(key); outOrder.setCreateTime(new Date());
preInEntity.setPreOutBillNo(orderEntity.getBillNo()); outOrder.setFromType(ConstantStatus.FROM_CHANGE);
orderService.update(preInEntity); String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(basicBussinessTypeEntity.getPrefix()), "yyyyMMdd"));
BasicBussinessTypeEntity preBusType = basicBussinessTypeService.findByAction(preInEntity.getAction()); outOrder.setBillNo(orderNo);
//预验收不删除单号,方便后续查询 outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID);
if (preBusType.isPreInBack()) { //预验收如果带回,则清空相关预验收库存; outOrder.setCorpOrderId(CustomUtil.getId() + "x");
invPreinDetailService.deleteByOrderId(preInEntity.getBillNo()); outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
//剩余UDI码生成退货单 todo orderEntity.setUllageSupNo(outOrder.getBillNo());
List<IoCodeEntity> codeEntities = codeService.findByOrderId(preInBillNo); orderEntity.setUpdateTime(new Date());
backCodeList.addAll(codeEntities);
} else { //预验收如果不带回,则清除已出库相关库存
for (IoCodeEntity codeEntity : codeList) {
if (StrUtil.isEmpty(codeEntity.getSerialNo())) {
InvPreinDetailEntity invPreinDetailEntity = invPreinDetailService.findByCode(key, codeEntity.getCode());
if (invPreinDetailEntity != null) {
int count = 0;
if (invPreinDetailEntity.getCount() < codeEntity.getCount()) {
count = 0;
} else {
count = invPreinDetailEntity.getCount() - codeEntity.getCount();
}
if (count >= 0) {
isBreak = true;
if (count == 0) {
invPreinDetailService.deleteByCode(key, codeEntity.getCode());
} else {
invPreinDetailEntity.setCount(count);
invPreinDetailService.update(invPreinDetailEntity);
}
int reCount = invPreinDetailEntity.getReCount() - codeEntity.getMyReCount();
if (reCount == 0) {
invPreinDetailService.deleteByCode(key, codeEntity.getCode());
} else {
invPreinDetailEntity.setReCount(reCount);
invPreinDetailService.update(invPreinDetailEntity);
}
}
}
} else {
invPreinDetailService.deleteByCode(key, codeEntity.getCode());
}
}
}
}
}
orderEntity.setPreInBillNo(preInBillNo.substring(1));
orderService.update(orderEntity); orderService.update(orderEntity);
outOrder.setOriginUllageSupNo(orderEntity.getBillNo());
outOrder.setCreateUser(null);
outOrder.setReviewUser(null);
orderService.insertOrder(outOrder);
//生成条码
List<IoCodeTempEntity> codeTempEntities = new ArrayList<>();
for (IoCodeEntity warehouseEntity : backCodeList) {
IoCodeTempEntity codeTempEntity = new IoCodeTempEntity();
BeanUtils.copyProperties(warehouseEntity, codeTempEntity);
codeTempEntity.setId(null);
codeTempEntity.setOrderId(outOrder.getBillNo());
codeTempEntity.setAction(outOrder.getAction());
codeTempEntity.setMainAction(outOrder.getMainAction());
codeTempEntity.setCreateTime(new Date());
codeTempEntity.setUpdateTime(new Date());
codeTempEntities.add(codeTempEntity);
}
codeTempService.insertBatch(codeTempEntities);
addInoutService.dealProcess(outOrder);
if (!checkManual(outOrder.getBillNo())) {
check(outOrder.getBillNo());
}
//生成退货单 1.查出所有关联的单据条码2.扣减当前出库数量3.生成单据类型对应绑定的出库单
if (CollUtil.isNotEmpty(backCodeList)) {
List<IoCodeEntity> realBackCodeList = new ArrayList<>();
for (IoCodeEntity backCodeEntity : backCodeList) {
for (IoCodeEntity codeEntity : codeList) {
if (codeEntity.getCount() != 0 && backCodeEntity.getCode().equals(codeEntity.getCode())) {
int count = backCodeEntity.getCount() - codeEntity.getCount();
int reCount = backCodeEntity.getReCount() - codeEntity.getReCount();
if (count > 0) {
codeEntity.setCount(0);
codeEntity.setReCount(0);
backCodeEntity.setCount(count);
backCodeEntity.setReCount(reCount);
realBackCodeList.add(backCodeEntity);
} else if (count == 0) {
codeEntity.setCount(0);
codeEntity.setReCount(0);
} else if (count < 0) {
codeEntity.setCount(-count);
codeEntity.setReCount(-reCount);
}
}
}
}
if (CollUtil.isNotEmpty(realBackCodeList)) {
Map<String, List<IoCodeEntity>> backPreInOrder = new HashMap<>();
for (IoCodeEntity codeEntity : codeList) {
List<IoCodeEntity> codeEntities = backPreInOrder.get(codeEntity.getOrderId());
if (CollUtil.isEmpty(codeEntities)) {
codeEntities = new ArrayList<>();
}
codeEntities.add(codeEntity);
backPreInOrder.put(codeEntity.getOrderId(), codeEntities);
}
for (String key : backPreInOrder.keySet()) {
IoOrderEntity originOrder = orderService.findByBillNo(key);
BasicBussinessTypeEntity basicBussinessTypeEntity = basicBussinessTypeService.findByAction(originOrder.getAction());
if (StrUtil.isNotEmpty(basicBussinessTypeEntity.getPreInBackAction())) {
IoOrderEntity outOrder = new IoOrderEntity();
BeanUtils.copyProperties(originOrder, outOrder);
outOrder.setId(null);
outOrder.setMainAction(ConstantType.TYPE_OUT);
outOrder.setAction(basicBussinessTypeEntity.getAction());
outOrder.setCreateTime(new Date());
outOrder.setFromType(ConstantStatus.FROM_CHANGE);
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(basicBussinessTypeEntity.getPrefix()), "yyyyMMdd"));
outOrder.setBillNo(orderNo);
outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID);
outOrder.setCorpOrderId(CustomUtil.getId() + "x");
outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
originOrder.setUllageSupNo(outOrder.getBillNo());
originOrder.setUpdateTime(new Date());
orderService.update(originOrder);
outOrder.setOriginUllageSupNo(originOrder.getBillNo());
outOrder.setCreateUser(null);
outOrder.setReviewUser(null);
orderService.insertOrder(outOrder);
//生成条码
List<IoCodeTempEntity> codeTempEntities = new ArrayList<>();
for (IoCodeEntity warehouseEntity : backPreInOrder.get(key)) {
IoCodeTempEntity codeTempEntity = new IoCodeTempEntity();
BeanUtils.copyProperties(warehouseEntity, codeTempEntity);
codeTempEntity.setId(null);
codeTempEntity.setOrderId(outOrder.getBillNo());
codeTempEntity.setAction(outOrder.getAction());
codeTempEntity.setMainAction(outOrder.getMainAction());
codeTempEntity.setCreateTime(new Date());
codeTempEntity.setUpdateTime(new Date());
codeTempEntities.add(codeTempEntity);
}
codeTempService.insertBatch(codeTempEntities);
addInoutService.dealProcess(outOrder);
if (!checkManual(outOrder.getBillNo())) {
check(outOrder.getBillNo());
}
}
}
}
}
} }
// //找出UDI码对应的预验收入库单号
// Map<String, String> preInOrder = new HashMap<>();
// for (IoCodeEntity warehouseEntity : codeList) {
// List<InvPreinDetailEntity> invProductDetailEntities = invPreinDetailService.findByCode(warehouseEntity.getCode());
// if (invProductDetailEntities.size() > 0) {
// for (InvPreinDetailEntity invPreinDetailEntity : invProductDetailEntities)
// preInOrder.put(invPreinDetailEntity.getOrderId(), invPreinDetailEntity.getOrderId());
// }
// }
// if (preInOrder.size() > 0) {
// String preInBillNo = "";
// boolean isBreak = false;
//
// for (String key : preInOrder.keySet()) {
// if (!isBreak) {
// preInBillNo = preInBillNo + "," + key;
// IoOrderEntity preInEntity = orderService.findByBillNo(key);
// preInEntity.setPreOutBillNo(orderEntity.getBillNo());
// orderService.update(preInEntity);
// BasicBussinessTypeEntity preBusType = basicBussinessTypeService.findByAction(preInEntity.getAction());
// //预验收不删除单号,方便后续查询
// if (preBusType.isPreInBack()) { //预验收如果带回,则清空相关预验收库存;
// invPreinDetailService.deleteByOrderId(preInEntity.getBillNo());
// //剩余UDI码生成退货单 todo
// List<IoCodeEntity> codeEntities = codeService.findByOrderId(key);
// backCodeList.addAll(codeEntities);
// } else { //预验收如果不带回,则清除已出库相关库存
// for (IoCodeEntity codeEntity : codeList) {
// if (StrUtil.isEmpty(codeEntity.getSerialNo())) {
// InvPreinDetailEntity invPreinDetailEntity = invPreinDetailService.findByCode(key, codeEntity.getCode());
// if (invPreinDetailEntity != null) {
// int count = 0;
// if (invPreinDetailEntity.getCount() < codeEntity.getCount()) {
// count = 0;
// } else {
// count = invPreinDetailEntity.getCount() - codeEntity.getCount();
// }
// if (count >= 0) {
// isBreak = true;
// if (count == 0) {
// invPreinDetailService.deleteByCode(key, codeEntity.getCode());
// } else {
// invPreinDetailEntity.setCount(count);
// invPreinDetailService.update(invPreinDetailEntity);
// }
// int reCount = invPreinDetailEntity.getReCount() - codeEntity.getMyReCount();
// if (reCount == 0) {
// invPreinDetailService.deleteByCode(key, codeEntity.getCode());
// } else {
// invPreinDetailEntity.setReCount(reCount);
// invPreinDetailService.update(invPreinDetailEntity);
// }
// }
// }
// } else {
// invPreinDetailService.deleteByCode(key, codeEntity.getCode());
// }
// }
//
// }
// }
//
//
// }
// orderEntity.setPreInBillNo(preInBillNo.substring(1));
// orderService.update(orderEntity);
//
//
// //生成退货单 1.查出所有关联的单据条码2.扣减当前出库数量3.生成单据类型对应绑定的出库单
// if (CollUtil.isNotEmpty(backCodeList)) {
// List<IoCodeEntity> realBackCodeList = new ArrayList<>();
// for (IoCodeEntity backCodeEntity : backCodeList) {
// for (IoCodeEntity codeEntity : codeList) {
// if (codeEntity.getCount() != 0 && backCodeEntity.getCode().equals(codeEntity.getCode())) {
// int count = backCodeEntity.getCount() - codeEntity.getCount();
// int reCount = backCodeEntity.getReCount() - codeEntity.getReCount();
// if (count > 0) {
// codeEntity.setCount(0);
// codeEntity.setReCount(0);
// backCodeEntity.setCount(count);
// backCodeEntity.setReCount(reCount);
// realBackCodeList.add(backCodeEntity);
// } else if (count == 0) {
// codeEntity.setCount(0);
// codeEntity.setReCount(0);
// } else if (count < 0) {
// codeEntity.setCount(-count);
// codeEntity.setReCount(-reCount);
// }
// }
// }
//
// }
// if (CollUtil.isNotEmpty(realBackCodeList)) {
// Map<String, List<IoCodeEntity>> backPreInOrder = new HashMap<>();
// for (IoCodeEntity codeEntity : codeList) {
// List<IoCodeEntity> codeEntities = backPreInOrder.get(codeEntity.getOrderId());
// if (CollUtil.isEmpty(codeEntities)) {
// codeEntities = new ArrayList<>();
// }
// codeEntities.add(codeEntity);
// backPreInOrder.put(codeEntity.getOrderId(), codeEntities);
// }
//
// for (String key : backPreInOrder.keySet()) {
// IoOrderEntity originOrder = orderService.findByBillNo(key);
// BasicBussinessTypeEntity basicBussinessTypeEntity = basicBussinessTypeService.findByAction(originOrder.getAction());
//
// }
// }
// }
// }
}); });
} }

@ -2,6 +2,7 @@ package com.glxp.api.service.inv;
import com.glxp.api.entity.inv.InvPreInProductDetailEntity; import com.glxp.api.entity.inv.InvPreInProductDetailEntity;
import com.glxp.api.entity.inv.InvPreProductDetailEntity; import com.glxp.api.entity.inv.InvPreProductDetailEntity;
import com.glxp.api.entity.inv.InvPreinDetailEntity;
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;
@ -19,6 +20,8 @@ public interface InvPreinProductDetailService {
List<InvPreInProductDetailEntity> selectByOrderIdFk(String billNo); List<InvPreInProductDetailEntity> selectByOrderIdFk(String billNo);
List<InvPreInProductDetailEntity> findByCode(String code);
InvPreInProductDetailEntity selectByCode(String billNo, String code); InvPreInProductDetailEntity selectByCode(String billNo, String code);
boolean update(InvPreInProductDetailEntity invPreInProductDetailEntity); boolean update(InvPreInProductDetailEntity invPreInProductDetailEntity);
@ -49,5 +52,7 @@ public interface InvPreinProductDetailService {
*/ */
boolean deleteInvPreProductDetail(FilterInvProductDetailRequest detailRequest); boolean deleteInvPreProductDetail(FilterInvProductDetailRequest detailRequest);
int findCountByCode(String code);
InvPreInProductDetailEntity findUseOneByCode(String code);
} }

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; 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.ConstantStatus;
import com.glxp.api.constant.ConstantType; import com.glxp.api.constant.ConstantType;
import com.glxp.api.dao.basic.BasicBussinessTypeDao; import com.glxp.api.dao.basic.BasicBussinessTypeDao;
import com.glxp.api.dao.basic.UdiProductDao; import com.glxp.api.dao.basic.UdiProductDao;
@ -13,6 +14,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.InvPreInProductDetailEntity; import com.glxp.api.entity.inv.InvPreInProductDetailEntity;
import com.glxp.api.entity.inv.InvPreinDetailEntity;
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;
@ -59,6 +61,12 @@ public class InvPreInProductDetailServiceImpl implements InvPreinProductDetailSe
return invProductDetailEntities; return invProductDetailEntities;
} }
@Override
public List<InvPreInProductDetailEntity> findByCode(String code) {
List<InvPreInProductDetailEntity> invPreinDetailEntities = invPreInProductDetailDao.selectList(new QueryWrapper<InvPreInProductDetailEntity>().eq("code", code));
return invPreinDetailEntities;
}
@Override @Override
public InvPreInProductDetailEntity selectByCode(String billNo, String code) { public InvPreInProductDetailEntity selectByCode(String billNo, String code) {
List<InvPreInProductDetailEntity> invProductDetailEntities = invPreInProductDetailDao.selectList List<InvPreInProductDetailEntity> invProductDetailEntities = invPreInProductDetailDao.selectList
@ -132,4 +140,31 @@ public class InvPreInProductDetailServiceImpl implements InvPreinProductDetailSe
return invPreInProductDetailDao.deleteInvPreProductDetail(detailRequest); return invPreInProductDetailDao.deleteInvPreProductDetail(detailRequest);
} }
@Override
public int findCountByCode(String code) {
List<InvPreInProductDetailEntity> invPreinDetailEntities = invPreInProductDetailDao.selectList(new QueryWrapper<InvPreInProductDetailEntity>().eq("code", code));
int count = 0;
if (CollUtil.isNotEmpty(invPreinDetailEntities)) {
for (InvPreInProductDetailEntity invProductDetailEntity : invPreinDetailEntities) {
if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT))
count = count + invProductDetailEntity.getReCount();
else {
count = count - invProductDetailEntity.getReCount();
}
}
}
return count;
}
@Override
public InvPreInProductDetailEntity findUseOneByCode(String code) {
List<InvPreInProductDetailEntity> invPreinDetailEntities = invPreInProductDetailDao.selectList(new QueryWrapper<InvPreInProductDetailEntity>().eq("code", code)
.eq("status", ConstantStatus.INVIN_IN).last("limit 1"));
if (CollUtil.isNotEmpty(invPreinDetailEntities)) {
return invPreinDetailEntities.get(0);
}
return null;
}
} }

@ -70,7 +70,7 @@
vailGroupBuy, busType, inStock, actionType, thrCheckEnable, thrCheckWebNew, vailGroupBuy, busType, inStock, actionType, thrCheckEnable, thrCheckWebNew,
thrCheckPdaUn, thrCheckPdaEd, thrCheckUdims, thrCheckPc, thrCheckSp, thrCheckPdaUn, thrCheckPdaEd, thrCheckUdims, thrCheckPc, thrCheckSp,
thrCheckChange, thrCheckBalance, thrCheckCopy, fillCodeRel, checkVailDate, thrCheckChange, thrCheckBalance, thrCheckCopy, fillCodeRel, checkVailDate,
checkExpire, checkCertExpire,preInBackAction) checkExpire, checkCertExpire,preInBackAction, backPreinType)
values (#{mainAction}, #{action}, #{name}, #{enable}, #{remark}, #{thirdSysFk}, #{genUnit}, #{innerOrder}, values (#{mainAction}, #{action}, #{name}, #{enable}, #{remark}, #{thirdSysFk}, #{genUnit}, #{innerOrder},
#{secCheckEnable}, #{checkEnable}, #{checkUdims}, #{checkPdaEd}, #{checkPdaUn}, #{checkPc}, #{secCheckEnable}, #{checkEnable}, #{checkUdims}, #{checkPdaEd}, #{checkPdaUn}, #{checkPc},
#{checkWebNew}, #{checkSp}, #{checkChange}, #{secCheckUdims}, #{secCheckPdaEd}, #{secCheckPdaUn}, #{checkWebNew}, #{checkSp}, #{checkChange}, #{secCheckUdims}, #{secCheckPdaEd}, #{secCheckPdaUn},
@ -82,7 +82,7 @@
#{vailGroupBuy}, #{busType}, #{inStock}, #{actionType}, #{thrCheckEnable}, #{thrCheckWebNew}, #{vailGroupBuy}, #{busType}, #{inStock}, #{actionType}, #{thrCheckEnable}, #{thrCheckWebNew},
#{thrCheckPdaUn}, #{thrCheckPdaEd}, #{thrCheckUdims}, #{thrCheckPc}, #{thrCheckSp}, #{thrCheckPdaUn}, #{thrCheckPdaEd}, #{thrCheckUdims}, #{thrCheckPc}, #{thrCheckSp},
#{thrCheckChange}, #{thrCheckBalance}, #{thrCheckCopy}, #{fillCodeRel}, #{checkVailDate}, #{thrCheckChange}, #{thrCheckBalance}, #{thrCheckCopy}, #{fillCodeRel}, #{checkVailDate},
#{checkExpire}, #{checkCertExpire},#{preInBackAction}) #{checkExpire}, #{checkCertExpire},#{preInBackAction},#{backPreinType})
</insert> </insert>
<select id="selectBusList" resultType="com.glxp.api.entity.basic.BasicBussinessTypeEntity"> <select id="selectBusList" resultType="com.glxp.api.entity.basic.BasicBussinessTypeEntity">

@ -65,6 +65,8 @@ CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'checkVailDate', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'checkExpire', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'checkExpire', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'checkCertExpire', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'checkCertExpire', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'preInBackAction', 'varchar(255) ', 1); CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'preInBackAction', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'backPreinType', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('pur_delivery_detail', 'batchNo', 'varchar(255) ', 1); CALL Pro_Temp_ColumnWork('pur_delivery_detail', 'batchNo', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('pur_delivery_detail', 'productDate', 'varchar(255) ', 1); CALL Pro_Temp_ColumnWork('pur_delivery_detail', 'productDate', 'varchar(255) ', 1);

Loading…
Cancel
Save