1.修改生成盘点入库单逻辑

feature-order-fix
x_z 3 years ago
parent 6ee07ea460
commit ee7754df7c

@ -10,9 +10,12 @@ import com.glxp.api.admin.constant.ConstantStatus;
import com.glxp.api.admin.constant.ConstantType;
import com.glxp.api.admin.dao.basic.BussinessTypeDao;
import com.glxp.api.admin.dao.basic.UnitMaintainDao;
import com.glxp.api.admin.dao.inout.CodesTempDao;
import com.glxp.api.admin.dao.inout.OrderDao;
import com.glxp.api.admin.dao.inventory.*;
import com.glxp.api.admin.entity.auth.AuthAdmin;
import com.glxp.api.admin.entity.basic.BussinessTypeEntity;
import com.glxp.api.admin.entity.basic.UdiEntity;
import com.glxp.api.admin.entity.basic.UnitMaintainEntity;
import com.glxp.api.admin.entity.inout.OrderEntity;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
@ -25,10 +28,7 @@ import com.glxp.api.admin.req.inventory.FilterInvCountOrderRequest;
import com.glxp.api.admin.res.inventory.InvCountOrderResponse;
import com.glxp.api.admin.service.auth.CustomerService;
import com.glxp.api.admin.service.inventory.InvCountOrderService;
import com.glxp.api.admin.util.CustomUtil;
import com.glxp.api.admin.util.GennerOrderUtils;
import com.glxp.api.admin.util.MyStrUtil;
import com.glxp.api.admin.util.OrderNoTypeBean;
import com.glxp.api.admin.util.*;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
@ -64,6 +64,10 @@ public class InvCountOrderServiceImpl implements InvCountOrderService {
private BussinessTypeDao bussinessTypeDao;
@Resource
private UnitMaintainDao unitMaintainDao;
@Resource
private OrderDao orderDao;
@Resource
private CodesTempDao codesTempDao;
@Override
public List<InvCountOrderResponse> filterList(FilterInvCountOrderRequest filterInvCountOrderRequest) {
@ -214,30 +218,7 @@ public class InvCountOrderServiceImpl implements InvCountOrderService {
if (CollUtil.isNotEmpty(inDetailList)) {
log.info("盘点单据:" + invCountOrder.getOrderId() + " 转入库单开始");
//查询盘点入库单据类型
BussinessTypeEntity bussinessTypeEntity = bussinessTypeDao.selectByAction(invCountSettingEntity.getInAction());
log.info("盘点入库单据类型为:" + bussinessTypeEntity.getName() + " ,单据类型编码为:" + invCountSettingEntity.getInAction());
//构造单据数据
OrderEntity orderEntity = new OrderEntity();
orderEntity.setMainAction(ConstantType.TYPE_PUT);
orderEntity.setAction(invCountSettingEntity.getInAction());
orderEntity.setActDate(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN));
orderEntity.setCreateTime(orderEntity.getActDate());
orderEntity.setInvStorageCode(invCountOrder.getInvStorageCode());
orderEntity.setInvWarehouseCode(invCountOrder.getInvWarehouseCode());
//查询单据往来单位数据
UnitMaintainEntity unitMaintainEntity = unitMaintainDao.selectByErpId(bussinessTypeEntity.getDefaultUnit());
orderEntity.setFromCorpId(unitMaintainEntity.getErpId());
orderEntity.setFromCorp(unitMaintainEntity.getName());
orderEntity.setCorpOrderId(CustomUtil.getId() + "x");
orderEntity.setExportStatus(0); //设置导出状态为未导出
orderEntity.setContrastStatus(0);//设置erp校验状态为未校验
orderEntity.setReceiveStatus(0); //设置验收状态为未验收
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
orderEntity.setErpFk(null);//关联业务单据置空
orderEntity.setFromType(ConstantStatus.FROM_COUNT); //单据来源设置为盘点单据转单
orderEntity.setLocStorageCode(invCountOrder.getInvStorageCode());
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
OrderEntity orderEntity = createOrder(invCountSettingEntity, invCountOrder, ConstantType.TYPE_PUT);
//查找盘点码中标记为多的码
FilterInvCountCodesRequest codesRequest = new FilterInvCountCodesRequest();
@ -252,22 +233,80 @@ public class InvCountOrderServiceImpl implements InvCountOrderService {
warehouseEntity.setAction(invCountSettingEntity.getInAction());
warehouseEntity.setMainAction(ConstantType.TYPE_PUT);
warehouseEntity.setActor(invCountOrder.getCreateUser());
warehouseEntity.setOrderId(orderEntity.getId());
warehouseEntity.setInvStorageCode(invCountOrder.getInvStorageCode());
warehouseEntity.setInvWarehouseCode(invCountOrder.getInvWarehouseCode());
warehouseEntity.setLocStorageCode(invCountOrder.getInvStorageCode());
warehouseEntity.setFromCorp(orderEntity.getFromCorp());
warehouseEntity.setFromCorpId(orderEntity.getFromCorpId());
warehouseEntity.setCorpOrderId(orderEntity.getCorpOrderId());
UdiEntity udi = FilterUdiUtils.getUdi(invCountCodes.getCode());
warehouseEntity.setBatchNo(udi.getBatchNo());
warehouseEntity.setProduceDate(udi.getProduceDate());
warehouseEntity.setExpireDate(udi.getExpireDate());
warehouseEntity.setSerialNo(udi.getSerialNo());
warehouseEntity.setNameCode(udi.getUdi());
warehouseEntity.setCount(1);
warehouseEntity.setReCount(1);
warehouseEntities.add(warehouseEntity);
});
orderDao.insertOrder(orderEntity);
codesTempDao.insertCodesTemp(warehouseEntities);
log.info("盘点单据转入库单完成,单号为:" + orderEntity.getId());
}
if (CollUtil.isNotEmpty(outDetailList)) {
log.info("盘点单据:" + invCountOrder.getOrderId() + " 转出库单开始");
//查询盘点入库单据类型
BussinessTypeEntity bussinessTypeEntity = bussinessTypeDao.selectByAction(invCountSettingEntity.getOutAction());
log.info("盘点出库单据类型为:" + bussinessTypeEntity.getName() + " ,单据类型编码为:" + bussinessTypeEntity.getAction());
}
}
/**
*
*
* @param invCountSettingEntity
* @param invCountOrder
* @param type
* @return
*/
public OrderEntity createOrder(InvCountSettingEntity invCountSettingEntity, InvCountOrder invCountOrder, String type) {
BussinessTypeEntity bussinessTypeEntity;
if (ConstantType.TYPE_PUT.equals(type)) {
bussinessTypeEntity = bussinessTypeDao.selectByAction(invCountSettingEntity.getInAction());
} else {
bussinessTypeEntity = bussinessTypeDao.selectByAction(invCountSettingEntity.getOutAction());
}
//构造单据数据
OrderEntity orderEntity = new OrderEntity();
orderEntity.setMainAction(ConstantType.TYPE_PUT);
orderEntity.setAction(invCountSettingEntity.getInAction());
orderEntity.setActDate(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN));
orderEntity.setCreateTime(orderEntity.getActDate());
orderEntity.setInvStorageCode(invCountOrder.getInvStorageCode());
orderEntity.setInvWarehouseCode(invCountOrder.getInvWarehouseCode());
//查询单据往来单位数据
UnitMaintainEntity unitMaintainEntity = unitMaintainDao.selectByErpId(bussinessTypeEntity.getDefaultUnit());
orderEntity.setFromCorpId(unitMaintainEntity.getErpId());
orderEntity.setFromCorp(unitMaintainEntity.getName());
orderEntity.setCorpOrderId(CustomUtil.getId() + "x");
orderEntity.setExportStatus(0); //设置导出状态为未导出
orderEntity.setContrastStatus(0);//设置erp校验状态为未校验
orderEntity.setReceiveStatus(0); //设置验收状态为未验收
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
orderEntity.setErpFk(null);//关联业务单据置空
orderEntity.setFromType(ConstantStatus.FROM_COUNT); //单据来源设置为盘点单据转单
orderEntity.setLocStorageCode(invCountOrder.getInvStorageCode());
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
orderEntity.setId(orderNo);
return orderEntity;
}
}

Loading…
Cancel
Save