单据流程修改

workplace
yewj 11 months ago
parent 840f411779
commit 43ecb66850

@ -160,10 +160,6 @@ public class IoCollectOrderController extends BaseController {
return ResultVOUtils.success(pageSimpleResponse);
}
@Resource
IoCollectOrderCodeAutoService collectOrderCodeAutoService;
@Resource
IoCollectOrderCodeManService collectOrderCodeManService;
@GetMapping("/udiwms/basic/collect/order/allDetail")
public BaseResponse allDetail(CollectOrderBizRequest collectOrderBizRequest) {
@ -174,63 +170,7 @@ public class IoCollectOrderController extends BaseController {
if (collectOrder == null) {
return ResultVOUtils.error(500, "未找到单据");
}
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());
List<CollectOrderBizResponse> collectOrderBizResponses = new ArrayList<>();
for (CollectOrderBizResponse collectOrderBiz : list) {
CollectOrderBizResponse collectOrderBizResponse = new CollectOrderBizResponse();
BeanUtils.copyProperties(collectOrderBiz, collectOrderBizResponse);
//拆零
for (IoCollectOrderCodeAuto collectOrderCodeAuto : splitCodes) {
if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) &&
(StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.trimToEmpty(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) {
collectOrderBizResponse.setSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode());
} else if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId())) {
collectOrderBizResponse.setSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode());
}
}
if (StrUtil.isNotEmpty(collectOrderBizResponse.getSplitUdiCode())) {
collectOrderBizResponse.setSplitUdiCode(collectOrderBizResponse.getSplitUdiCode().substring(1));
}
//整取
for (IoCollectOrderCodeAuto collectOrderCodeAuto : unSplitCodes) {
if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) &&
(StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.trimToEmpty(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) {
collectOrderBizResponse.setUnSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUnSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode());
} else if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId())) {
collectOrderBizResponse.setUnSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUnSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode());
}
}
if (StrUtil.isNotEmpty(collectOrderBizResponse.getUnSplitUdiCode())) {
collectOrderBizResponse.setUnSplitUdiCode(collectOrderBizResponse.getUnSplitUdiCode().substring(1));
}
//手动
for (IoCollectOrderCodeMan collectOrderCodeMan : manList) {
if (IntUtil.value(collectOrderCodeMan.getBizIdFk()) == IntUtil.value(collectOrderBiz.getId())) {
collectOrderBizResponse.setScanUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getScanUdiCode()) + "," + collectOrderCodeMan.getUdiCode());
}
}
if (StrUtil.isNotEmpty(collectOrderBizResponse.getScanUdiCode())) {
collectOrderBizResponse.setScanUdiCode(collectOrderBizResponse.getScanUdiCode().substring(1));
}
if (StrUtil.isNotEmpty(collectOrderBizResponse.getScanUdiCode())) {
collectOrderBizResponse.setFinishUdiCode(collectOrderBizResponse.getScanUdiCode());
} else if (StrUtil.isNotEmpty(collectOrderBizResponse.getSplitUdiCode())) {
collectOrderBizResponse.setFinishUdiCode(collectOrderBizResponse.getSplitUdiCode());
} else if (StrUtil.isNotEmpty(collectOrderBizResponse.getUnSplitUdiCode())) {
collectOrderBizResponse.setFinishUdiCode(collectOrderBizResponse.getUnSplitUdiCode());
}
collectOrderBizResponses.add(collectOrderBizResponse);
}
List<CollectOrderBizResponse> collectOrderBizResponses = collectOrderService.combieOrderDetail(collectOrderBizRequest);
PageInfo<CollectOrderBizResponse> pageInfo = new PageInfo<>(collectOrderBizResponses);
PageSimpleResponse<CollectOrderBizResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
@ -301,12 +241,17 @@ public class IoCollectOrderController extends BaseController {
@PostMapping("/udiwms/basic/collect/order/finish")
public BaseResponse saveFinishOrder(@RequestBody CollectOrderRequest collectOrderRequest) {
//1.校验是否全部自动赋码
//2.校验扫码是否完成
if (!IntUtil.value(collectOrderRequest.getConfirmFinish())) {
//1.校验是否全部自动赋码
CollectOrderBizRequest collectOrderBizRequest = new CollectOrderBizRequest();
collectOrderBizRequest.setOrderIdFk(collectOrderRequest.getBillNo());
List<CollectOrderBizResponse> collectOrderBizResponses = collectOrderService.combieOrderDetail(collectOrderBizRequest);
boolean isAllTag = collectOrderBizResponses.stream()
.allMatch(obj -> StrUtil.isNotEmpty(obj.getFinishUdiCode()));
if (!isAllTag) {
return ResultVOUtils.error(502, "该业务单据未全部赋码,是否强制完成单据?");
}
}
IoCollectOrder collectOrder = new IoCollectOrder();
BeanUtils.copyProperties(collectOrderRequest, collectOrder);
collectOrder.setTagStatus(3);

@ -96,4 +96,7 @@ public class CollectOrderRequest extends ListPageRequest {
private Boolean confirmGet;
private Boolean confirmFinish;
}

@ -1,6 +1,7 @@
package com.glxp.api.service.collect;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -13,15 +14,18 @@ import com.glxp.api.entity.basic.BasicSkPrescribeItemEntity;
import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity;
import com.glxp.api.entity.collect.IoCollectOrder;
import com.glxp.api.entity.collect.IoCollectOrderBiz;
import com.glxp.api.entity.collect.IoCollectOrderCodeAuto;
import com.glxp.api.entity.collect.IoCollectOrderCodeMan;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.collect.CollectOrderBizRequest;
import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.req.inout.DeleteTageCodeRequest;
import com.glxp.api.req.inout.FilterOrderRequest;
import com.glxp.api.res.basic.SysWorkplaceResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.collect.CollectOrderBizResponse;
import com.glxp.api.res.collect.IoCollectOrderResponse;
import com.glxp.api.res.inout.IoOrderResponse;
import com.glxp.api.service.auth.SysWorkplaceService;
@ -32,6 +36,7 @@ import com.glxp.api.service.inout.IoOrderService;
import com.glxp.api.service.inout.impl.IoCodeService;
import com.glxp.api.util.IntUtil;
import com.glxp.api.util.MsDateUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -45,6 +50,28 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
IoCollectOrderMapper collectOrderMapper;
@Resource
IoCollectOrderCodeManService ioCollectOrderCodeManService;
@Resource
IoOrderService orderService;
@Resource
IoOrderDetailBizService orderDetailBizService;
@Resource
IoCollectOrderBizService collectOrderBizService;
@Resource
UdiRelevanceService udiRelevanceService;
@Resource
BasicSkPrescribeService basicSkPrescribeService;
@Resource
BasicSkPrescirbeDetailService basicSkPrescirbeDetailService;
@Resource
IoOrderDetailBizService orderDetailCodeService;
@Resource
IoCodeTempService codeTempService;
@Resource
IoCodeService codeService;
@Resource
SysWorkplaceService sysWorkplaceService;
@Resource
SysWorkplaceDocumentService sysWorkplaceDocumentService;
public IoCollectOrder getByBillNo(String billNo) {
return collectOrderMapper.selectOne(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, billNo).last("limit 1"));
@ -67,21 +94,71 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
return data;
}
@Resource
IoOrderService orderService;
@Resource
IoOrderDetailBizService orderDetailBizService;
@Resource
BasicCollectBustypeService collectBustypeService;
IoCollectOrderCodeAutoService collectOrderCodeAutoService;
@Resource
IoCollectOrderBizService collectOrderBizService;
@Resource
UdiRelevanceService udiRelevanceService;
@Resource
BasicSkPrescribeService basicSkPrescribeService;
@Resource
BasicSkPrescirbeDetailService basicSkPrescirbeDetailService;
IoCollectOrderCodeManService collectOrderCodeManService;
public List<CollectOrderBizResponse> combieOrderDetail(CollectOrderBizRequest collectOrderBizRequest) {
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());
List<CollectOrderBizResponse> collectOrderBizResponses = new ArrayList<>();
for (CollectOrderBizResponse collectOrderBiz : list) {
CollectOrderBizResponse collectOrderBizResponse = new CollectOrderBizResponse();
BeanUtils.copyProperties(collectOrderBiz, collectOrderBizResponse);
//拆零
for (IoCollectOrderCodeAuto collectOrderCodeAuto : splitCodes) {
if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) &&
(StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.trimToEmpty(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) {
collectOrderBizResponse.setSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode());
} else if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId())) {
collectOrderBizResponse.setSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode());
}
}
if (StrUtil.isNotEmpty(collectOrderBizResponse.getSplitUdiCode())) {
collectOrderBizResponse.setSplitUdiCode(collectOrderBizResponse.getSplitUdiCode().substring(1));
}
//整取
for (IoCollectOrderCodeAuto collectOrderCodeAuto : unSplitCodes) {
if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) &&
(StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.trimToEmpty(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) {
collectOrderBizResponse.setUnSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUnSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode());
} else if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId())) {
collectOrderBizResponse.setUnSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUnSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode());
}
}
if (StrUtil.isNotEmpty(collectOrderBizResponse.getUnSplitUdiCode())) {
collectOrderBizResponse.setUnSplitUdiCode(collectOrderBizResponse.getUnSplitUdiCode().substring(1));
}
//手动
for (IoCollectOrderCodeMan collectOrderCodeMan : manList) {
if (IntUtil.value(collectOrderCodeMan.getBizIdFk()) == IntUtil.value(collectOrderBiz.getId())) {
collectOrderBizResponse.setScanUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getScanUdiCode()) + "," + collectOrderCodeMan.getUdiCode());
}
}
if (StrUtil.isNotEmpty(collectOrderBizResponse.getScanUdiCode())) {
collectOrderBizResponse.setScanUdiCode(collectOrderBizResponse.getScanUdiCode().substring(1));
}
if (StrUtil.isNotEmpty(collectOrderBizResponse.getScanUdiCode())) {
collectOrderBizResponse.setFinishUdiCode(collectOrderBizResponse.getScanUdiCode());
} else if (StrUtil.isNotEmpty(collectOrderBizResponse.getSplitUdiCode())) {
collectOrderBizResponse.setFinishUdiCode(collectOrderBizResponse.getSplitUdiCode());
} else if (StrUtil.isNotEmpty(collectOrderBizResponse.getUnSplitUdiCode())) {
collectOrderBizResponse.setFinishUdiCode(collectOrderBizResponse.getUnSplitUdiCode());
}
collectOrderBizResponses.add(collectOrderBizResponse);
}
return collectOrderBizResponses;
}
/**
*
@ -91,21 +168,9 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
importPrescribe();
}
@Resource
IoOrderDetailBizService orderDetailCodeService;
@Resource
IoCodeTempService codeTempService;
@Resource
IoCodeService codeService;
public void clearOrder() {
collectOrderMapper.clearOrder();
List<IoOrderEntity> orderEntities = new ArrayList<>();
List<IoOrderEntity> orderEntities1 = orderService.findAllByAction("SC72197936495755");
List<IoOrderEntity> orderEntities2 = orderService.findAllByAction("SC72249388338364");
orderEntities.addAll(orderEntities1);
@ -126,13 +191,6 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
);
}
@Resource
SysWorkplaceService sysWorkplaceService;
@Resource
SysWorkplaceDocumentService sysWorkplaceDocumentService;
@Resource
BasicCollectBustypeService bustypeService;
public void importUdi() {
//下载UDI内部单据

Loading…
Cancel
Save