fix: 再次分配

dev_price
chenhc 1 year ago
parent 7c180b00ab
commit c904e33654

@ -688,6 +688,46 @@ public class IoOrderController extends BaseController {
return ResultVOUtils.success();
}
/**
* 1 billNo 退io_order io_order_detail_biz io_order_detail_code io_code
* 2io_order billNo
* 3io_order_detail_biz io_order_detail_code billNo
* 4io_code billNoio_code_temp
*
*/
@AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/order/copyOrder")
@Log(title = "单据管理", businessType = BusinessType.INSERT)
public BaseResponse copyOrder(@RequestBody IoOrderEntity ioOrderEntity) {
if ( null == ioOrderEntity || StrUtil.isEmpty(ioOrderEntity.getBillNo()) ) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
String oldBillNo = ioOrderEntity.getBillNo();
IoOrderEntity oldIoOrderEntity = orderService.findByBillNo(oldBillNo);
if (Objects.isNull(oldIoOrderEntity)){
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
//新单号
String newBillNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd"));
//当前操作人
AuthAdmin authAdmin = getUser();
//处理io_order
IoOrderEntity newIoOrderEntity = new IoOrderEntity();
orderService.copyOrder(authAdmin,newBillNo,newIoOrderEntity,oldIoOrderEntity);
orderService.insertOrder(newIoOrderEntity);
//处理io_order_detail_biz
orderDetailBizService.copyOrderDetailBiz(newBillNo,oldBillNo);
//处理io_order_detail_code
orderDetailCodeService.copyOrderDetailCode(newBillNo,oldBillNo);
//处理io_code
codeTempService.copyCodeTemp(newBillNo,oldBillNo);
return ResultVOUtils.success(newBillNo);
}
@Resource
SpsSyncWebSocket webSocketServer;
// --------------------------------------------------------UDI_MS平台--------------------------------------------------------------------------------------

@ -42,4 +42,12 @@ public interface IoCodeTempService {
Boolean checkTempCode(IoCodeTempEntity ioCodeTempEntity);
boolean isExit(String orderId);
/**
*
* @param newBillNo
* @param oldBillNo
* @return
*/
boolean copyCodeTemp(String newBillNo, String oldBillNo);
}

@ -55,4 +55,10 @@ public interface IoOrderDetailBizService {
Boolean updateOrderDetailBiz(IoOrderDetailBizEntity ioOrderDetailBizEntity);
/**
*
* @param newBillNo
* @param oldBillNo
*/
boolean copyOrderDetailBiz(String newBillNo, String oldBillNo);
}

@ -56,4 +56,11 @@ public interface IoOrderDetailCodeService {
Boolean updateOrderDetailBiz(IoOrderDetailCodeEntity orderDetailCodeEntity);
/**
*
* @param newBillNo
* @param oldBillNo
* @return
*/
boolean copyOrderDetailCode(String newBillNo, String oldBillNo);
}

@ -1,6 +1,7 @@
package com.glxp.api.service.inout;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.req.inout.FilterOrderRequest;
import com.glxp.api.req.inout.FilterUploadOrderRequest;
@ -127,4 +128,14 @@ public interface IoOrderService {
boolean isExitByAction(String action);
List<IoOrderEntity> selectList(Long userId);
/**
*
*
* @param authAdmin
* @param newBillNo
* @param newIoOrderEntity
* @param oldIoOrderEntity
*/
boolean copyOrder(AuthAdmin authAdmin,String newBillNo, IoOrderEntity newIoOrderEntity, IoOrderEntity oldIoOrderEntity);
}

@ -1,20 +1,26 @@
package com.glxp.api.service.inout.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.inout.IoCodeDao;
import com.glxp.api.dao.inout.IoCodeTempDao;
import com.glxp.api.entity.inout.IoCodeEntity;
import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.req.inout.FilterCodeRequest;
import com.glxp.api.res.inout.IoCodeTempResponse;
import com.glxp.api.service.inout.IoCodeTempService;
import com.glxp.api.util.BeanCopyUtils;
import com.glxp.api.util.page.PageQuery;
import com.glxp.api.util.page.TableDataInfo;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Service
@ -24,6 +30,9 @@ public class IoCodeTempServiceImpl implements IoCodeTempService {
@Resource
IoCodeTempDao ioCodeTempDao;
@Resource
IoCodeDao ioCodeDao;
@Override
public IoCodeTempEntity selectById(Integer id) {
return ioCodeTempDao.selectById(id);
@ -108,4 +117,25 @@ public class IoCodeTempServiceImpl implements IoCodeTempService {
return ioCodeTempDao.exists(new QueryWrapper<IoCodeTempEntity>().eq("orderId", orderId));
}
@Override
public boolean copyCodeTemp(String newBillNo, String oldBillNo) {
//获取旧列表数据
FilterCodeRequest filterCodeRequest = new FilterCodeRequest();
filterCodeRequest.setOrderId(oldBillNo);
List<IoCodeEntity> oldIoCodeEntityList = ioCodeDao.filterCodeList(filterCodeRequest);
if (CollUtil.isNotEmpty(oldIoCodeEntityList)){
List<IoCodeTempEntity> newIoCodeTempEntityList = new ArrayList<>(oldIoCodeEntityList.size());
//遍历修改新单号为新订单号
oldIoCodeEntityList.forEach( x -> {
IoCodeTempEntity ioCodeTempEntity = new IoCodeTempEntity();
BeanUtils.copyProperties(x,ioCodeTempEntity);
ioCodeTempEntity.setOrderId(newBillNo);
newIoCodeTempEntityList.add(ioCodeTempEntity);
});
//批量插入
ioCodeTempDao.insertBatch(newIoCodeTempEntityList);
}
return false;
}
}

@ -25,6 +25,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@ -212,4 +213,21 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
return ioOrderDetailBizDao.updateById(ioOrderDetailBizEntity) > 0;
}
@Override
public boolean copyOrderDetailBiz(String newBillNo, String oldBillNo) {
//获取旧列表数据
List<IoOrderDetailBizEntity> oldOrderDetailBiz = findByOrderIdAndNameCode(oldBillNo, false);
if (CollUtil.isNotEmpty(oldOrderDetailBiz)){
List<IoOrderDetailBizEntity> newOrderDetailBiz = new ArrayList<>(oldOrderDetailBiz.size());
//遍历修改新单号为新订单号
oldOrderDetailBiz.forEach( x -> {
x.setOrderIdFk(newBillNo);
newOrderDetailBiz.add(x);
});
//批量插入
ioOrderDetailBizDao.insertBatch(newOrderDetailBiz);
}
return false;
}
}

@ -138,4 +138,21 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService {
return ioOrderDetailCodeDao.updateById(orderDetailCodeEntity) > 0;
}
@Override
public boolean copyOrderDetailCode(String newBillNo, String oldBillNo) {
//获取旧列表数据
List<IoOrderDetailCodeEntity> oldOrderDetailCode = findByOrderId(oldBillNo);
if (CollUtil.isNotEmpty(oldOrderDetailCode)){
List<IoOrderDetailCodeEntity> newOrderDetailCode = new ArrayList<>(oldOrderDetailCode.size());
//遍历修改新单号为新订单号
oldOrderDetailCode.forEach( x -> {
x.setOrderIdFk(newBillNo);
newOrderDetailCode.add(x);
});
//批量插入
ioOrderDetailCodeDao.insertBatch(newOrderDetailCode);
}
return false;
}
}

@ -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.AuthAdmin;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.BasicCorpEntity;
import com.glxp.api.entity.inout.*;
@ -42,7 +43,9 @@ import com.glxp.api.service.inv.*;
import com.glxp.api.service.inv.impl.InvProductDetailService;
import com.glxp.api.service.system.SyncUploadDataBustypeService;
import com.glxp.api.util.DateUtil;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.IntUtil;
import com.glxp.api.util.OrderNoTypeBean;
import com.glxp.api.util.udi.UdiCalCountUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.exception.ExceptionUtils;
@ -887,6 +890,25 @@ public class IoOrderServiceImpl implements IoOrderService {
return ioOrderEntities;
}
@Override
public boolean copyOrder(AuthAdmin authAdmin,String newBillNo, IoOrderEntity newIoOrderEntity, IoOrderEntity oldIoOrderEntity) {
newIoOrderEntity.setBillNo(newBillNo);
newIoOrderEntity.setMainAction(ConstantType.TYPE_OUT);
newIoOrderEntity.setFromCorp(oldIoOrderEntity.getFromCorp());
newIoOrderEntity.setInvCode(oldIoOrderEntity.getInvCode());
newIoOrderEntity.setDeptCode(oldIoOrderEntity.getDeptCode());
newIoOrderEntity.setReplicateNo(oldIoOrderEntity.getReplicateNo());
newIoOrderEntity.setFromType(ConstantStatus.FROM_WEBNEW);//网页新增
newIoOrderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);//草稿
newIoOrderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);//草稿
newIoOrderEntity.setCreateUser(authAdmin.getId() + "");
newIoOrderEntity.setCreateTime(new Date());
newIoOrderEntity.setUpdateUser(authAdmin.getId() + "");
newIoOrderEntity.setUpdateTime(new Date());
newIoOrderEntity.setOrderType(ConstantStatus.ORDER_TYPE_NORMAL);//正常单据处理
return false;
}
/**
*
*

Loading…
Cancel
Save