Merge remote-tracking branch 'origin/dev2.0' into dev2.0

dev2.0
薛宇 2 years ago
commit ead6a7a824

@ -517,6 +517,48 @@ public class IoOrderController extends BaseController {
}
/**
* PDA
*
* @param filterOrderRequest
* @return
*/
@AuthRuleAnnotation("")
@GetMapping("/udiwms/inout/order/pda/download")
public BaseResponse pdaFilterOrder(FilterOrderRequest filterOrderRequest) {
if (StrUtil.isEmpty(filterOrderRequest.getBillNo())) {
return ResultVOUtils.error(500, "单据号不能为空!");
}
if (StrUtil.isNotBlank(filterOrderRequest.getStatusType())) {
orderService.setFilterStatus(filterOrderRequest);
}
if (StrUtil.isNotBlank(filterOrderRequest.getVueType())) {
orderService.setActions(filterOrderRequest);
//要是不存在要查询的单据类型就直接放回空
if (CollUtil.isEmpty(filterOrderRequest.getActions())) {
PageInfo<IoOrderResponse> pageInfo = new PageInfo<>(new ArrayList<>());
return ResultVOUtils.page(pageInfo);
}
}
String customerId = getCustomerId();
if (!customerId.equals("110")) {
filterOrderRequest.setFromCorp(customerId);
}
List<IoOrderResponse> list = orderService.filterList(filterOrderRequest);
if (CollUtil.isEmpty(list))
return ResultVOUtils.error(500, "未查询到单据");
FilterOrderDetailBizRequest filterOrderDetailBizRequest = new FilterOrderDetailBizRequest();
filterOrderDetailBizRequest.setOrderIdFk(filterOrderRequest.getBillNo());
List<IoOrderDetailBizResponse> orderDetailBizResponses = orderDetailBizService.filterList(filterOrderDetailBizRequest);
IoOrderPdaResponse orderPdaResponse = new IoOrderPdaResponse();
orderPdaResponse.setOrderResponse(list.get(0));
orderPdaResponse.setOrderDetailBizResponses(orderDetailBizResponses);
PageInfo<IoOrderResponse> pageInfo = new PageInfo<>(list);
return ResultVOUtils.page(pageInfo);
}
public List<IoCodeTempEntity> getOtherCode(String billNo, List<IoCodeTempEntity> codeEntities) {
List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(billNo);

@ -105,5 +105,36 @@ public class InvProductEntity {
@TableField(value = "updateTime")
private Date updateTime;
/**
*
*/
@TableField(value = "nowStock")
private Integer nowStock;
/**
*
*/
@TableField(value = "frozenCount")
private Integer frozenCount;
/**
*
*/
@TableField(value = "planInCount")
private Integer planInCount;
/**
*
*/
@TableField(value = "planOutCount")
private Integer planOutCount;
/**
*
*/
@TableField(value = "onWayCount")
private Integer onWayCount;
/**
*
*/
@TableField(value = "availableStock")
private Integer availableStock;
}

@ -0,0 +1,13 @@
package com.glxp.api.res.inout;
import lombok.Data;
import java.util.List;
@Data
public class IoOrderPdaResponse {
private IoOrderResponse orderResponse;
private List<IoOrderDetailBizResponse> orderDetailBizResponses;
}

@ -426,6 +426,8 @@ public class IoCheckInoutService {
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST);
orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity);
//生成预存的库存
orderService.updateOrderInventory(orderEntity.getBillNo(),orderEntity.getStatus());
genLostCode(orderEntity.getBillNo());
checkThird(orderEntity);
}
@ -540,7 +542,7 @@ public class IoCheckInoutService {
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST);
orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity);
orderService.updateOrderInventory(orderEntity.getBillNo(),orderEntity.getStatus());
//生成缺失码
genLostCode(orderEntity.getBillNo());
@ -1051,6 +1053,7 @@ public class IoCheckInoutService {
genInvService.genPreInv(orderEntity.getBillNo());
} else {
genInvService.genNorInv(orderEntity.getBillNo());
orderService.updateOrderInventory(orderEntity.getBillNo(),orderEntity.getStatus());
}
} else {
//不入库存,直接进行单据流转

@ -149,4 +149,7 @@ public interface IoOrderService {
List<String> selectOrderIdList(@Param("data") String data);
void updateOrderInventory(String billNo,Integer status);
}

@ -22,6 +22,7 @@ import com.glxp.api.dao.basic.BasicCorpDao;
import com.glxp.api.dao.inout.IoOrderDao;
import com.glxp.api.dao.thrsys.ThrSystemBusApiDao;
import com.glxp.api.dao.thrsys.ThrSystemDao;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.BasicCorpEntity;
import com.glxp.api.entity.inout.*;
@ -969,6 +970,24 @@ public class IoOrderServiceImpl implements IoOrderService {
return orderDao.selectOrderIdList(data);
}
@Override
public void updateOrderInventory(String billNo, Integer status) {
//查询单据表
QueryWrapper<IoOrderEntity> ew = new QueryWrapper<>();
ew.eq("billNo", billNo);
IoOrderEntity ioOrderEntity = orderDao.selectVoOne(ew);
//查询单据result表
List<IoOrderDetailResultEntity> ioOrderDetailResultEntityList = ioOrderDetailResultService.findByOrderId(billNo);
//查询产库信息
InvWarehouseEntity invWarehouseEntity = invWarehouseDao.filterGroupInvSubAndcode(ioOrderEntity.getInvCode());
if (ioOrderEntity != null && invWarehouseEntity != null) {
//判断是哪个类型的库存
if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_NORMAL) {
setInvProductEntityList(ioOrderDetailResultEntityList, ioOrderEntity);
}
}
}
/**
*
*
@ -1072,4 +1091,60 @@ public class IoOrderServiceImpl implements IoOrderService {
return orderDao.getfilterOrderList(filterOrderRequest);
}
public Boolean setInvProductEntityList(List<IoOrderDetailResultEntity> ioOrderDetailResultEntityList,IoOrderEntity ioOrderEntity) {
for (IoOrderDetailResultEntity ioOrderDetailResultEntity : ioOrderDetailResultEntityList) {
//查询该产品是不是存在
InvProductEntity invProductEntity = invProductService.selectByUnique(ioOrderDetailResultEntity.getBindRlFk(), ioOrderDetailResultEntity.getBatchNo(),
ioOrderDetailResultEntity.getSupId(),ioOrderEntity.getDeptCode(),ioOrderEntity.getInvCode());
if (invProductEntity == null) {
//没有该产品就填充数据
invProductEntity = new InvProductEntity();
invProductEntity.setRelIdFk(ioOrderDetailResultEntity.getBindRlFk());
invProductEntity.setNameCode(ioOrderDetailResultEntity.getNameCode());
invProductEntity.setBatchNo(ioOrderDetailResultEntity.getBatchNo());
invProductEntity.setProductionDate(ioOrderDetailResultEntity.getProductDate());
invProductEntity.setExpireDate(ioOrderDetailResultEntity.getExpireDate());
invProductEntity.setInCount(0);
invProductEntity.setOutCount(0);
invProductEntity.setSupId(ioOrderDetailResultEntity.getSupId());
invProductEntity.setDeptCode(ioOrderEntity.getDeptCode());
invProductEntity.setInvCode(ioOrderEntity.getInvCode());
invProductEntity.setCreateTime(new Date());
invProductEntity.setUpdateTime(new Date());
invProductEntity.setNowStock(0); //现存量
invProductEntity.setFrozenCount(0); //冻结量
invProductEntity.setPlanInCount(0);//预计入库量
invProductEntity.setPlanOutCount(0);//预计出库量
invProductEntity.setOnWayCount(0);//在途库存
invProductEntity.setAvailableStock(0);//可用库存
}
if (ioOrderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
//出库
if (ioOrderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) {
invProductEntity.setPlanOutCount((invProductEntity.getPlanOutCount() != null ? invProductEntity.getPlanOutCount() : 0) + ioOrderDetailResultEntity.getReCount());//预计出库量
invProductEntity.setFrozenCount((invProductEntity.getFrozenCount() != null ? invProductEntity.getFrozenCount() : 0) + ioOrderDetailResultEntity.getReCount());//预计出库量
} else if (ioOrderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED) {
invProductEntity.setPlanOutCount((invProductEntity.getPlanOutCount() != null ? invProductEntity.getPlanOutCount() : 0) - ioOrderDetailResultEntity.getReCount());//预计出库量
invProductEntity.setFrozenCount((invProductEntity.getFrozenCount() != null ? invProductEntity.getFrozenCount() : 0) - ioOrderDetailResultEntity.getReCount());//预计出库量
}
} else if (ioOrderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) {
//入库
if (ioOrderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) {
invProductEntity.setPlanInCount((invProductEntity.getInCount() != null ? invProductEntity.getInCount() : 0) + ioOrderDetailResultEntity.getReCount());//预计出库量
} else if (ioOrderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED) {
invProductEntity.setPlanInCount((invProductEntity.getInCount() != null ? invProductEntity.getInCount() : 0) - ioOrderDetailResultEntity.getReCount());//预计出库量
}
}
//判断有没有id走插入或者更新方法
if (invProductEntity.getId() == null) {
invProductService.insert(invProductEntity);
} else {
invProductService.update(invProductEntity);
}
}
return true;
}
}

@ -18,6 +18,8 @@ public interface InvPreinProductService {
InvPreinProductEntity selectByUnique(Long relId, String batchNo, String supId, String deptCode, String invCode);
InvPreinProductEntity selectByUnique(Long relId, String batchNo, String supId);
boolean deleteById(Integer id);
/**

@ -17,6 +17,8 @@ public interface InvProductService {
InvProductEntity selectByUnique(Long relId, String batchNo, String supId, String deptCode, String invCode);
InvProductEntity selectByUnique(Long relId, String batchNo, String supId);
/**
*
*

@ -41,6 +41,13 @@ public class InvPreinProductServiceImpl implements InvPreinProductService {
}
@Override
public InvPreinProductEntity selectByUnique(Long relId, String batchNo, String supId) {
return invPreinProductDao.selectOne(new QueryWrapper<InvPreinProductEntity>().eq("relIdFk", relId).eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo)
.isNull(StrUtil.isEmpty(batchNo), "batchNo").eq("supId", supId));
}
@Override
public boolean deleteById(Integer id) {
return invPreinProductDao.deleteById(id) == 1 ? true : false;

@ -47,6 +47,12 @@ public class InvProductServiceImpl implements InvProductService {
.isNull(StrUtil.isEmpty(batchNo), "batchNo").eq("supId", supId).eq("deptCode", deptCode).eq("invCode", invCode));
}
@Override
public InvProductEntity selectByUnique(Long relId, String batchNo, String supId) {
return invProductDao.selectOne(new QueryWrapper<InvProductEntity>().eq("relIdFk", relId).eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo)
.isNull(StrUtil.isEmpty(batchNo), "batchNo").eq("supId", supId).last("limit 1"));
}
@Override
public List<InvProductResponse> filterList(FilterInvProductRequest filterInvProductRequest) {
if (null == filterInvProductRequest) {

Loading…
Cancel
Save