扫码作业问题
parent
52b08c7afc
commit
201d03bf4e
@ -1,12 +1,133 @@
|
||||
package com.glxp.api.service.collect;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.glxp.api.entity.collect.IoCollectOrder;
|
||||
import com.glxp.api.entity.collect.IoCollectOrderCodeAuto;
|
||||
import com.glxp.api.entity.collect.IoCollectOrderCodeMan;
|
||||
import com.glxp.api.req.collect.CollectOrderBizRequest;
|
||||
import com.glxp.api.res.collect.CollectOrderBizResponse;
|
||||
import com.glxp.api.util.IntUtil;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.glxp.api.dao.collect.IoCollectCodeMapper;
|
||||
import com.glxp.api.entity.collect.IoCollectCode;
|
||||
|
||||
@Service
|
||||
public class IoCollectCodeService extends ServiceImpl<IoCollectCodeMapper, IoCollectCode> {
|
||||
|
||||
|
||||
@Resource
|
||||
IoCollectCodeMapper collectCodeMapper;
|
||||
@Resource
|
||||
IoCollectOrderCodeAutoService collectOrderCodeAutoService;
|
||||
@Resource
|
||||
IoCollectOrderCodeManService collectOrderCodeManService;
|
||||
@Resource
|
||||
IoCollectOrderBizService collectOrderBizService;
|
||||
@Resource
|
||||
IoCollectOrderService collectOrderService;
|
||||
|
||||
/**
|
||||
* 根据单号插入扫码明细
|
||||
*/
|
||||
public void insertCodesByBill(String billNo) {
|
||||
|
||||
IoCollectOrder collectOrder = collectOrderService.getByBillNo(billNo);
|
||||
|
||||
CollectOrderBizRequest collectOrderBizRequest = new CollectOrderBizRequest();
|
||||
collectOrderBizRequest.setOrderIdFk(billNo);
|
||||
|
||||
List<CollectOrderBizResponse> list = collectOrderBizService.filterList(collectOrderBizRequest);
|
||||
List<IoCollectOrderCodeAuto> splitCodes = collectOrderCodeAutoService.listByBillNo(collectOrderBizRequest.getOrderIdFk(), 1);
|
||||
List<IoCollectOrderCodeAuto> unSplitCodes = collectOrderCodeAutoService.listByBillNo(collectOrderBizRequest.getOrderIdFk(), 2);
|
||||
List<IoCollectOrderCodeMan> manList = collectOrderCodeManService.listByBillNo(collectOrderBizRequest.getOrderIdFk());
|
||||
for (CollectOrderBizResponse collectOrderBiz : list) {
|
||||
List<IoCollectOrderCodeMan> temp1 = manList.stream()
|
||||
.filter(obj -> obj.getBizIdFk().equals(collectOrderBiz.getId()))
|
||||
.collect(Collectors.toList());
|
||||
List<IoCollectOrderCodeAuto> temp2 = splitCodes.stream()
|
||||
.filter(obj -> obj.getBizIdFk().equals(collectOrderBiz.getId()))
|
||||
.collect(Collectors.toList());
|
||||
List<IoCollectOrderCodeAuto> temp3 = unSplitCodes.stream()
|
||||
.filter(obj -> obj.getBizIdFk().equals(collectOrderBiz.getId()))
|
||||
.collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(temp1)) {
|
||||
saveManuCode(temp1, collectOrder);
|
||||
} else {
|
||||
if (CollUtil.isNotEmpty(temp2)) {
|
||||
saveSplitCode(temp2, collectOrder);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(temp3)) {
|
||||
saveUnSplitCode(temp3, collectOrder);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void saveManuCode(List<IoCollectOrderCodeMan> manList, IoCollectOrder collectOrder) {
|
||||
if (CollUtil.isEmpty(manList))
|
||||
return;
|
||||
List<IoCollectCode> ioCollectCodes = new ArrayList<>();
|
||||
for (IoCollectOrderCodeMan ioCollectOrderCodeMan : manList) {
|
||||
ioCollectCodes.add(IoCollectCode.builder().code(ioCollectOrderCodeMan.getUdiCode())
|
||||
.fromType(collectOrder.getFromType())
|
||||
.busType(collectOrder.getBusType())
|
||||
.billNo(collectOrder.getBillNo())
|
||||
.fromCorp(collectOrder.getFromCorp())
|
||||
.operTime(collectOrder.getUpdateTime())
|
||||
.operUser(collectOrder.getCreateUser())
|
||||
.fifoSplit(3)
|
||||
.workPlaceCode(collectOrder.getWorkPlaceCode())
|
||||
.remark(collectOrder.getRemark()).build());
|
||||
}
|
||||
saveBatch(ioCollectCodes);
|
||||
}
|
||||
|
||||
public void saveSplitCode(List<IoCollectOrderCodeAuto> codeAutoList, IoCollectOrder collectOrder) {
|
||||
if (CollUtil.isEmpty(codeAutoList))
|
||||
return;
|
||||
List<IoCollectCode> ioCollectCodes = new ArrayList<>();
|
||||
for (IoCollectOrderCodeAuto ioCollectOrderCodeMan : codeAutoList) {
|
||||
ioCollectCodes.add(IoCollectCode.builder().code(ioCollectOrderCodeMan.getUdiCode())
|
||||
.fromType(collectOrder.getFromType())
|
||||
.busType(collectOrder.getBusType())
|
||||
.billNo(collectOrder.getBillNo())
|
||||
.fromCorp(collectOrder.getFromCorp())
|
||||
.operTime(collectOrder.getUpdateTime())
|
||||
.operUser(collectOrder.getCreateUser())
|
||||
.fifoSplit(1)
|
||||
.workPlaceCode(collectOrder.getWorkPlaceCode())
|
||||
.remark(collectOrder.getRemark()).build());
|
||||
}
|
||||
saveBatch(ioCollectCodes);
|
||||
}
|
||||
|
||||
public void saveUnSplitCode(List<IoCollectOrderCodeAuto> codeAutoList, IoCollectOrder collectOrder) {
|
||||
if (CollUtil.isEmpty(codeAutoList))
|
||||
return;
|
||||
List<IoCollectCode> ioCollectCodes = new ArrayList<>();
|
||||
for (IoCollectOrderCodeAuto ioCollectOrderCodeMan : codeAutoList) {
|
||||
ioCollectCodes.add(IoCollectCode.builder().code(ioCollectOrderCodeMan.getUdiCode())
|
||||
.fromType(collectOrder.getFromType())
|
||||
.busType(collectOrder.getBusType())
|
||||
.billNo(collectOrder.getBillNo())
|
||||
.fromCorp(collectOrder.getFromCorp())
|
||||
.operTime(collectOrder.getUpdateTime())
|
||||
.operUser(collectOrder.getCreateUser())
|
||||
.fifoSplit(2)
|
||||
.workPlaceCode(collectOrder.getWorkPlaceCode())
|
||||
.remark(collectOrder.getRemark()).build());
|
||||
}
|
||||
saveBatch(ioCollectCodes);
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue