|
|
|
@ -1,6 +1,8 @@
|
|
|
|
|
package com.glxp.api.admin.service.inventory.impl;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
import cn.hutool.core.date.DatePattern;
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
|
|
import com.glxp.api.admin.constant.Constant;
|
|
|
|
|
import com.glxp.api.admin.dao.inventory.InvCountCodesDao;
|
|
|
|
@ -17,6 +19,9 @@ import com.glxp.api.admin.service.auth.CustomerService;
|
|
|
|
|
import com.glxp.api.admin.service.inventory.InvCountOrderService;
|
|
|
|
|
import com.glxp.api.admin.util.GennerOrderUtils;
|
|
|
|
|
import com.glxp.api.admin.util.OrderNoTypeBean;
|
|
|
|
|
import com.glxp.api.common.enums.ResultEnum;
|
|
|
|
|
import com.glxp.api.common.res.BaseResponse;
|
|
|
|
|
import com.glxp.api.common.util.ResultVOUtils;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
@ -70,14 +75,14 @@ public class InvCountOrderServiceImpl implements InvCountOrderService {
|
|
|
|
|
invCountOrder.setOrderId(orderNo); //盘点单号
|
|
|
|
|
AuthAdmin user = customerService.getUserBean();
|
|
|
|
|
invCountOrder.setCreateUser(user.getUserName());
|
|
|
|
|
int id = invCountOrderDao.insert(invCountOrder);
|
|
|
|
|
invCountOrderDao.insert(invCountOrder);
|
|
|
|
|
|
|
|
|
|
List<InvProductEntity> invProductList = invCountOrderRequest.getInvProductList();
|
|
|
|
|
//根据库存产品信息生成盘点单据详情
|
|
|
|
|
for (InvProductEntity invProductEntity : invProductList) {
|
|
|
|
|
InvCountOrderDetail countOrderDetail = new InvCountOrderDetail();
|
|
|
|
|
BeanUtil.copyProperties(invProductEntity, countOrderDetail);
|
|
|
|
|
countOrderDetail.setOrderIdFk(String.valueOf(id));
|
|
|
|
|
countOrderDetail.setOrderIdFk(String.valueOf(invCountOrder.getId()));
|
|
|
|
|
countOrderDetail.setBookNum(invProductEntity.getInCount() - invProductEntity.getOutCount());
|
|
|
|
|
countOrderDetail.setProduceDate(invProductEntity.getProductionDate());
|
|
|
|
|
countOrderDetail.setProductId(invProductEntity.getRelIdFk());
|
|
|
|
@ -86,5 +91,31 @@ public class InvCountOrderServiceImpl implements InvCountOrderService {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public BaseResponse submitAudit(String id) {
|
|
|
|
|
InvCountOrder invCountOrder = invCountOrderDao.selectByPrimaryKey(Integer.valueOf(id));
|
|
|
|
|
if (null == invCountOrder) {
|
|
|
|
|
return ResultVOUtils.error(ResultEnum.DATA_ERROR, "单据不存在");
|
|
|
|
|
}
|
|
|
|
|
if (invCountOrder.getStatus() != 0) {
|
|
|
|
|
return ResultVOUtils.error(ResultEnum.DATA_ERROR, "单据已提交,请勿重复提交");
|
|
|
|
|
}
|
|
|
|
|
//查询单据详情和码表是否存在,如果无单据详情和条码,不允许提交
|
|
|
|
|
Long detailCount = invCountOrderDetailDao.countByOrderIdFk(invCountOrder.getId());
|
|
|
|
|
if (detailCount == 0) {
|
|
|
|
|
return ResultVOUtils.error(ResultEnum.DATA_ERROR, "请先选择盘点产品");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Long codesCount = invCountCodesDao.countByOrderIdFk(invCountOrder.getId());
|
|
|
|
|
if (codesCount == 0) {
|
|
|
|
|
return ResultVOUtils.error(ResultEnum.DATA_ERROR, "请扫描需要盘点的产品");
|
|
|
|
|
}
|
|
|
|
|
//更新状态
|
|
|
|
|
invCountOrder.setStatus(1);
|
|
|
|
|
invCountOrder.setUpdateTime(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN));
|
|
|
|
|
invCountOrderDao.updateByPrimaryKey(invCountOrder);
|
|
|
|
|
return ResultVOUtils.success();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|