预验收单据相关上传到内部系统

dev_2.5_optimize
yewj 4 months ago
parent 40ca5988d4
commit e11b8e6649

@ -457,7 +457,7 @@ public class IoCollectOrderController extends BaseController {
//1.校验是否全部自动赋码
CollectOrderBizRequest collectOrderBizRequest = new CollectOrderBizRequest();
collectOrderBizRequest.setOrderIdFk(collectOrderRequest.getBillNo());
if (collectOrderRequest.getIsCheckFinish() != null){
if (collectOrderRequest.getIsCheckFinish() != null) {
collectOrderBizRequest.setIsOrderCheck(collectOrderRequest.getIsCheckFinish());
}
List<CollectOrderBizResponse> collectOrderBizResponses = collectOrderService.combieOrderDetail(collectOrderBizRequest);

@ -12,12 +12,17 @@ import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.dao.auth.InvWarehouseDao;
import com.glxp.api.dao.auth.SysWorkplaceDao;
import com.glxp.api.dao.basic.SysWorkplaceBusMapper;
import com.glxp.api.dao.collect.IoCollectOrderBackupMapper;
import com.glxp.api.dao.inout.IoCodeTempDao;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.auth.SysWorkplace;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.CompanyProductRelevanceEntity;
import com.glxp.api.entity.basic.SysWorkplaceBus;
import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity;
import com.glxp.api.entity.collect.*;
import com.glxp.api.entity.inout.IoCodeEntity;
@ -38,6 +43,7 @@ import com.glxp.api.res.collect.CollectOrderBizResponse;
import com.glxp.api.res.collect.IoCollectCodeResponse;
import com.glxp.api.res.collect.IoCollectOrderResponse;
import com.glxp.api.service.auth.InvWarehouseService;
import com.glxp.api.service.auth.SysWorkplaceService;
import com.glxp.api.service.basic.*;
import com.glxp.api.service.inout.IoAddInoutService;
import com.glxp.api.service.inout.IoCheckInoutService;
@ -183,70 +189,8 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByWorkplaceCode(collectOrder.getWorkPlaceCode(), collectOrder.getBusType());
//1.内部系统,且单据为扫码生成业务单则创建系统单据
if (IntUtil.value(sysWorkplaceDocumentEntity.getIsMatching()) == 1 && sysWorkplaceDocumentEntity.getScanType() == 1) {
List<IoCollectOrderCodeMan> collectOrderCodes = collectOrderCodeManService.listByBillNo(collectOrder.getBillNo());
BasicBussinessTypeEntity bussinessTypeEntity;
sysWorkplaceDocumentEntity.getInoutType();
//构造单据数据
IoOrderEntity orderEntity = new IoOrderEntity();
bussinessTypeEntity = bussinessTypeService.findByAction(sysWorkplaceDocumentEntity.getDocumentTypeCode());
orderEntity.setMainAction(bussinessTypeEntity.getMainAction());
orderEntity.setAction(bussinessTypeEntity.getAction());
orderEntity.setCreateTime(new Date());
if (IntUtil.value(sysWorkplaceDocumentEntity.getCorpType()) == 2) {
orderEntity.setInvCode(collectOrder.getShipper() + "");
orderEntity.setFromCorp(collectOrder.getFromCorp());
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(orderEntity.getInvCode() + "");
if (invWarehouseEntity != null)
orderEntity.setDeptCode(invWarehouseEntity.getParentId());
} else {
orderEntity.setInvCode(collectOrder.getFromCorp() + "");
orderEntity.setFromCorp(collectOrder.getShipper());
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(orderEntity.getInvCode() + "");
if (invWarehouseEntity != null)
orderEntity.setDeptCode(invWarehouseEntity.getParentId());
}
orderEntity.setCorpOrderId(CustomUtil.getId() + "x");
orderEntity.setExportStatus(0);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_PROCESS);
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);
orderEntity.setCreateUser(collectOrder.getCreateUser());
orderEntity.setCreateTime(new Date());
orderEntity.setUpdateUser(collectOrder.getCreateUser());
orderEntity.setUpdateTime(new Date());
orderEntity.setCustomerId("110");
orderEntity.setOrderType(2);
orderEntity.setProductType(bussinessTypeEntity.getProductType());
orderEntity.setFromType(2);
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
orderEntity.setBillNo(orderNo);
List<IoCodeTempEntity> lossCodesList = new ArrayList<>();
for (IoCollectOrderCodeMan collectOrderCodeMan : collectOrderCodes) {
lossCodesList.add(buildCodeEntity(collectOrderCodeMan, orderEntity));
}
/**
*
*/
if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_SP) {
Map<Long, List<IoCodeTempEntity>> groupedMap = lossCodesList.stream()
.collect(Collectors.groupingBy(IoCodeTempEntity::getRelId));
groupedMap.forEach((key, value) -> {
companyProductRelevanceService.insertOrReadId(key, collectOrder.getShipper());
});
for (IoCodeTempEntity codeTempEntity : lossCodesList) {
codeTempEntity.setSupId(collectOrder.getShipper());
}
}
orderService.insertOrder(orderEntity);
codesTempDao.insertBatch(lossCodesList);
addInoutService.dealProcess(orderEntity);
if (!ioCheckInoutService.checkManual(orderEntity.getBillNo())) {
ioCheckInoutService.check(orderEntity.getBillNo());
}
//todo
buildInnerOrder(collectOrder, sysWorkplaceDocumentEntity);
} else if (IntUtil.value(sysWorkplaceDocumentEntity.getIsMatching()) == 1 && sysWorkplaceDocumentEntity.getScanType() != 1) {
//更新单据为已完成
// IoOrderEntity orderEntity = orderService.findByBillNo(collectOrder.getBillNo());
@ -297,6 +241,152 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
// }
}
/**
*
*/
public void buildInnerOrder(IoCollectOrderBackup collectOrder, SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity) {
List<IoCollectOrderCodeMan> collectOrderCodes = collectOrderCodeManService.listByBillNo(collectOrder.getBillNo());
BasicBussinessTypeEntity bussinessTypeEntity;
sysWorkplaceDocumentEntity.getInoutType();
//构造单据数据
IoOrderEntity orderEntity = new IoOrderEntity();
bussinessTypeEntity = bussinessTypeService.findByAction(sysWorkplaceDocumentEntity.getDocumentTypeCode());
orderEntity.setMainAction(bussinessTypeEntity.getMainAction());
orderEntity.setAction(bussinessTypeEntity.getAction());
orderEntity.setCreateTime(new Date());
if (IntUtil.value(sysWorkplaceDocumentEntity.getCorpType()) == 2) {
orderEntity.setInvCode(collectOrder.getShipper() + "");
orderEntity.setFromCorp(collectOrder.getFromCorp());
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(orderEntity.getInvCode() + "");
if (invWarehouseEntity != null) orderEntity.setDeptCode(invWarehouseEntity.getParentId());
} else {
orderEntity.setInvCode(collectOrder.getFromCorp() + "");
orderEntity.setFromCorp(collectOrder.getShipper());
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(orderEntity.getInvCode() + "");
if (invWarehouseEntity != null) orderEntity.setDeptCode(invWarehouseEntity.getParentId());
}
orderEntity.setCorpOrderId(CustomUtil.getId() + "x");
orderEntity.setExportStatus(0);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_PROCESS);
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);
orderEntity.setCreateUser(collectOrder.getCreateUser());
orderEntity.setCreateTime(new Date());
orderEntity.setUpdateUser(collectOrder.getCreateUser());
orderEntity.setUpdateTime(new Date());
orderEntity.setCustomerId("110");
orderEntity.setOrderType(2);
orderEntity.setProductType(bussinessTypeEntity.getProductType());
orderEntity.setFromType(2);
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
orderEntity.setBillNo(orderNo);
List<IoCodeTempEntity> lossCodesList = new ArrayList<>();
for (IoCollectOrderCodeMan collectOrderCodeMan : collectOrderCodes) {
lossCodesList.add(buildCodeEntity(collectOrderCodeMan, orderEntity));
}
/**
*
*/
if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_SP) {
Map<Long, List<IoCodeTempEntity>> groupedMap = lossCodesList.stream().collect(Collectors.groupingBy(IoCodeTempEntity::getRelId));
groupedMap.forEach((key, value) -> {
companyProductRelevanceService.insertOrReadId(key, collectOrder.getShipper());
});
for (IoCodeTempEntity codeTempEntity : lossCodesList) {
codeTempEntity.setSupId(collectOrder.getShipper());
}
}
orderService.insertOrder(orderEntity);
codesTempDao.insertBatch(lossCodesList);
addInoutService.dealProcess(orderEntity);
if (!ioCheckInoutService.checkManual(orderEntity.getBillNo())) {
ioCheckInoutService.check(orderEntity.getBillNo());
}
}
@Resource
SysWorkplaceBusMapper sysWorkplaceBusMapper;
@Resource
SysWorkplaceService sysWorkplaceService;
@Resource
InvWarehouseDao invWarehouseDao;
public void uploadInnerOrder(IoCollectOrderBackup collectOrder, SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity) {
List<IoCollectOrderCodeMan> collectOrderCodes = collectOrderCodeManService.listByBillNo(collectOrder.getBillNo());
BasicBussinessTypeEntity bussinessTypeEntity;
sysWorkplaceDocumentEntity.getInoutType();
InvWarehouseEntity invWarehouseEntity = null;
SysWorkplaceBus sysWorkplaceBus = sysWorkplaceBusMapper.selectOne(new LambdaQueryWrapper<SysWorkplaceBus>().eq(SysWorkplaceBus::getBusTypeCode, sysWorkplaceDocumentEntity.getDocumentTypeCode()).last("limit 1"));
if (sysWorkplaceBus != null) {
SysWorkplace sysWorkplace = sysWorkplaceService.getWorkplace(sysWorkplaceBus.getWorkplaceCode());
if (sysWorkplace != null) {
String deptCode = sysWorkplace.getDeptCode();
invWarehouseEntity = invWarehouseDao.selectOne(new LambdaQueryWrapper<InvWarehouseEntity>().eq(InvWarehouseEntity::getParentId, deptCode).last("limit 1"));
}
}
if (invWarehouseEntity == null) {
throw new JsonException(500, "未找到科室");
}
//构造单据数据
IoOrderEntity orderEntity = new IoOrderEntity();
bussinessTypeEntity = bussinessTypeService.findByAction(sysWorkplaceDocumentEntity.getDocumentTypeCode());
orderEntity.setMainAction(bussinessTypeEntity.getMainAction());
orderEntity.setAction(bussinessTypeEntity.getAction());
orderEntity.setPreInBillNo(collectOrder.getPreInBillNo());
orderEntity.setCreateTime(new Date());
if (IntUtil.value(sysWorkplaceDocumentEntity.getCorpType()) == 2) {
orderEntity.setInvCode(invWarehouseEntity.getCode());
orderEntity.setFromCorp(collectOrder.getFromCorp());
if (invWarehouseEntity != null) orderEntity.setDeptCode(invWarehouseEntity.getParentId());
} else {
orderEntity.setInvCode(invWarehouseEntity.getCode());
orderEntity.setFromCorp(collectOrder.getShipper());
if (invWarehouseEntity != null) orderEntity.setDeptCode(invWarehouseEntity.getParentId());
}
orderEntity.setCorpOrderId(CustomUtil.getId() + "x");
orderEntity.setExportStatus(0);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_PROCESS);
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);
orderEntity.setCreateUser(collectOrder.getCreateUser());
orderEntity.setCreateTime(new Date());
orderEntity.setUpdateUser(collectOrder.getCreateUser());
orderEntity.setUpdateTime(new Date());
orderEntity.setCustomerId("110");
orderEntity.setOrderType(2);
orderEntity.setProductType(bussinessTypeEntity.getProductType());
orderEntity.setFromType(2);
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
orderEntity.setBillNo(orderNo);
List<IoCodeTempEntity> lossCodesList = new ArrayList<>();
for (IoCollectOrderCodeMan collectOrderCodeMan : collectOrderCodes) {
lossCodesList.add(buildCodeEntity(collectOrderCodeMan, orderEntity));
}
/**
*
*/
if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_SP) {
Map<Long, List<IoCodeTempEntity>> groupedMap = lossCodesList.stream().collect(Collectors.groupingBy(IoCodeTempEntity::getRelId));
groupedMap.forEach((key, value) -> {
companyProductRelevanceService.insertOrReadId(key, collectOrder.getShipper());
});
for (IoCodeTempEntity codeTempEntity : lossCodesList) {
codeTempEntity.setSupId(collectOrder.getShipper());
}
}
orderService.insertOrder(orderEntity);
codesTempDao.insertBatch(lossCodesList);
addInoutService.dealProcess(orderEntity);
if (!ioCheckInoutService.checkManual(orderEntity.getBillNo())) {
ioCheckInoutService.check(orderEntity.getBillNo());
}
}
public void updateSpmsOrder(String billNo, AuthAdmin authAdmin) {
{
@ -403,8 +493,7 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
tempEntity.setCreateTime(new Date());
tempEntity.setUpdateTime(new Date());
CompanyProductRelevanceEntity udiRlSupEntity = udiRlSupService.selOneByRlId(tempEntity.getRelId());
if (udiRlSupEntity != null)
tempEntity.setSupId(udiRlSupEntity.getCustomerId());
if (udiRlSupEntity != null) tempEntity.setSupId(udiRlSupEntity.getCustomerId());
tempEntity.setDeptCode(orderEntity.getDeptCode());
return tempEntity;
}

@ -156,10 +156,8 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
collectOrderRequest.setWorkPlaceCode(workPlaceCode);
collectOrderRequest.setBusType(busType);
List<IoCollectOrderResponse> collectOrderResponses = filterList(collectOrderRequest);
if (CollUtil.isNotEmpty(collectOrderResponses))
return collectOrderResponses.get(0);
else
return null;
if (CollUtil.isNotEmpty(collectOrderResponses)) return collectOrderResponses.get(0);
else return null;
}
public int updateByBillNo(IoCollectOrder collectOrder) {
@ -249,21 +247,19 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
List<IoOrderEntity> orderEntities2 = orderService.findAllByAction("SC72249388338364");
orderEntities.addAll(orderEntities1);
orderEntities.addAll(orderEntities2);
orderEntities.parallelStream().forEach(item ->
{
List<String> delBillNos = new ArrayList<>();
delBillNos.add(item.getBillNo());
orderService.deleteInvByBillNo(delBillNos);
for (String billNo : delBillNos) {
orderService.deleteByBillNo(billNo);
orderDetailBizService.deleteByOrderId(billNo);
orderDetailCodeService.deleteByOrderId(billNo);
orderDetailResultService.deleteByOrderId(billNo);
codeTempService.deleteByBillNo(billNo);
codeService.deleteCodeByOrderId(billNo);
}
}
);
orderEntities.parallelStream().forEach(item -> {
List<String> delBillNos = new ArrayList<>();
delBillNos.add(item.getBillNo());
orderService.deleteInvByBillNo(delBillNos);
for (String billNo : delBillNos) {
orderService.deleteByBillNo(billNo);
orderDetailBizService.deleteByOrderId(billNo);
orderDetailCodeService.deleteByOrderId(billNo);
orderDetailResultService.deleteByOrderId(billNo);
codeTempService.deleteByBillNo(billNo);
codeService.deleteCodeByOrderId(billNo);
}
});
}
// TODO: 2024/10/14 下载本地单据类型
@ -293,8 +289,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
continue;
}
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(ioOrderEntity.getAction());
if (sysWorkplaceDocumentEntity == null)
continue;
if (sysWorkplaceDocumentEntity == null) continue;
String mainAction = ioOrderEntity.getMainAction();
String fromCorpName = "";
String shipperName = "";
@ -305,22 +300,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
shipperName = ioOrderEntity.getDeptName();
fromCorpName = ioOrderEntity.getFromName();
}
IoCollectOrder collectOrder = IoCollectOrder.builder()
.billNo(ioOrderEntity.getBillNo())
.fromType("药械追溯管理系统")
.busType(ioOrderEntity.getAction())
.fromCorp(ioOrderEntity.getFromName())
.fromCorpName(fromCorpName)
.billTime(ioOrderEntity.getCreateTime())
.shipperName(shipperName)
.createTime(ioOrderEntity.getCreateTime())
.createUser(ioOrderEntity.getCreateUser())
.updateTime(new Date())
.orderCirType(sysWorkplaceDocumentEntity.getOrderCirType())
.splitStatus(0)
.tagStatus(1)
.remark(ioOrderEntity.getRemark())
.build();
IoCollectOrder collectOrder = IoCollectOrder.builder().billNo(ioOrderEntity.getBillNo()).fromType("药械追溯管理系统").busType(ioOrderEntity.getAction()).fromCorp(ioOrderEntity.getFromName()).fromCorpName(fromCorpName).billTime(ioOrderEntity.getCreateTime()).shipperName(shipperName).createTime(ioOrderEntity.getCreateTime()).createUser(ioOrderEntity.getCreateUser()).updateTime(new Date()).orderCirType(sysWorkplaceDocumentEntity.getOrderCirType()).splitStatus(0).tagStatus(1).remark(ioOrderEntity.getRemark()).build();
if (collectOrder.getWorkPlaceCode() != null) {
collectOrder.setTagStatus(1);
}
@ -335,21 +315,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
List<IoCollectOrderBizOrigin> collectOrderOriginBizs = new ArrayList<>();
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(bizEntity.getBindRlFk() + "");
IoCollectOrderBiz collectOrderBiz = IoCollectOrderBiz.builder().orderIdFk(collectOrder.getBillNo())
.relId(bizEntity.getBindRlFk())
.thrCode(udiRelevanceResponse.getMainId())
.ybbm(udiRelevanceResponse.getYbbm())
.payFeeCode(udiRelevanceResponse.getPayFeeCode())
.cpmctymc(bizEntity.getCoName())
.nameCode(bizEntity.getNameCode())
.ggxh(bizEntity.getSpec())
.batchNo(bizEntity.getBatchNo())
.productDate(bizEntity.getProductDate())
.expireDate(bizEntity.getExpireDate())
.count(bizEntity.getCount())
.measureUnit(bizEntity.getMeasname())
.tagStatus(1)
.unTagCount(bizEntity.getCount()).build();
IoCollectOrderBiz collectOrderBiz = IoCollectOrderBiz.builder().orderIdFk(collectOrder.getBillNo()).relId(bizEntity.getBindRlFk()).thrCode(udiRelevanceResponse.getMainId()).ybbm(udiRelevanceResponse.getYbbm()).payFeeCode(udiRelevanceResponse.getPayFeeCode()).cpmctymc(bizEntity.getCoName()).nameCode(bizEntity.getNameCode()).ggxh(bizEntity.getSpec()).batchNo(bizEntity.getBatchNo()).productDate(bizEntity.getProductDate()).expireDate(bizEntity.getExpireDate()).count(bizEntity.getCount()).measureUnit(bizEntity.getMeasname()).tagStatus(1).unTagCount(bizEntity.getCount()).build();
if (IntUtil.value(udiRelevanceResponse.getProductsType()) == 2) {
collectOrderBiz.setGgxh(udiRelevanceResponse.getBzgg());
@ -375,30 +341,12 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
for (IoCodeEntity codeEntity : codeEntities) {
IoCollectOrderBiz mCollectOrderBiz = null;
for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) {
if (collectOrderBiz.getRelId().equals(codeEntity.getRelId())
&& StrUtil.trimToEmpty(collectOrderBiz.getBatchNo()).equals(StrUtil.trimToEmpty(codeEntity.getBatchNo()))) {
if (collectOrderBiz.getRelId().equals(codeEntity.getRelId()) && StrUtil.trimToEmpty(collectOrderBiz.getBatchNo()).equals(StrUtil.trimToEmpty(codeEntity.getBatchNo()))) {
mCollectOrderBiz = collectOrderBiz;
continue;
}
}
collectOrderCodeManList.add(IoCollectOrderCodeMan.builder()
.udiCode(codeEntity.getCode())
.orderIdFk(collectOrder.getBillNo())
.bizIdFk(mCollectOrderBiz == null ? null : mCollectOrderBiz.getId())
.relId(codeEntity.getRelId())
.nameCode(codeEntity.getNameCode())
.batchNo(codeEntity.getBatchNo())
.serialNo(codeEntity.getSerialNo())
.productDate(codeEntity.getProduceDate())
.expireDate(codeEntity.getExpireDate())
.createTime(new Date())
.createUser(1l)
.updateTime(new Date())
.updateUser(1l)
.scanCount(1)
.isSplitCode(false)
.scanActCount(codeEntity.getMyReCount())
.build());
collectOrderCodeManList.add(IoCollectOrderCodeMan.builder().udiCode(codeEntity.getCode()).orderIdFk(collectOrder.getBillNo()).bizIdFk(mCollectOrderBiz == null ? null : mCollectOrderBiz.getId()).relId(codeEntity.getRelId()).nameCode(codeEntity.getNameCode()).batchNo(codeEntity.getBatchNo()).serialNo(codeEntity.getSerialNo()).productDate(codeEntity.getProduceDate()).expireDate(codeEntity.getExpireDate()).createTime(new Date()).createUser(1l).updateTime(new Date()).updateUser(1l).scanCount(1).isSplitCode(false).scanActCount(codeEntity.getMyReCount()).build());
}
collectOrderCodeManService.saveBatch(collectOrderCodeManList);
}
@ -466,8 +414,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
continue;
}
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(ioOrderEntity.getAction());
if (sysWorkplaceDocumentEntity == null)
continue;
if (sysWorkplaceDocumentEntity == null) continue;
String mainAction = ioOrderEntity.getMainAction();
String fromCorpName = "";
String shipperName = "";
@ -478,22 +425,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
shipperName = ioOrderEntity.getDeptName();
fromCorpName = ioOrderEntity.getFromName();
}
IoCollectOrder collectOrder = IoCollectOrder.builder()
.billNo(ioOrderEntity.getBillNo())
.fromType("药械追溯管理系统")
.busType(ioOrderEntity.getAction())
.fromCorp(ioOrderEntity.getFromName())
.fromCorpName(fromCorpName)
.billTime(ioOrderEntity.getCreateTime())
.shipperName(shipperName)
.createTime(ioOrderEntity.getCreateTime())
.createUser(ioOrderEntity.getCreateUser())
.updateTime(new Date())
.orderCirType(sysWorkplaceDocumentEntity.getOrderCirType())
.splitStatus(0)
.tagStatus(0)
.remark(ioOrderEntity.getRemark())
.build();
IoCollectOrder collectOrder = IoCollectOrder.builder().billNo(ioOrderEntity.getBillNo()).fromType("药械追溯管理系统").busType(ioOrderEntity.getAction()).fromCorp(ioOrderEntity.getFromName()).fromCorpName(fromCorpName).billTime(ioOrderEntity.getCreateTime()).shipperName(shipperName).createTime(ioOrderEntity.getCreateTime()).createUser(ioOrderEntity.getCreateUser()).updateTime(new Date()).orderCirType(sysWorkplaceDocumentEntity.getOrderCirType()).splitStatus(0).tagStatus(0).remark(ioOrderEntity.getRemark()).build();
if (collectOrder.getWorkPlaceCode() != null) {
collectOrder.setTagStatus(1);
}
@ -501,22 +433,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
List<IoCollectOrderBiz> collectOrderBizs = new ArrayList<>();
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(bizEntity.getBindRlFk() + "");
IoCollectOrderBiz collectOrderBiz = IoCollectOrderBiz.builder().orderIdFk(collectOrder.getBillNo())
.relId(bizEntity.getBindRlFk())
.thrCode(udiRelevanceResponse.getMainId())
.ybbm(udiRelevanceResponse.getYbbm())
.payFeeCode(udiRelevanceResponse.getPayFeeCode())
.cpmctymc(bizEntity.getCoName())
.nameCode(bizEntity.getNameCode())
.ggxh(bizEntity.getSpec())
.batchNo(bizEntity.getBatchNo())
.productDate(bizEntity.getProductDate())
.expireDate(bizEntity.getExpireDate())
.count(bizEntity.getCount())
.measureUnit(bizEntity.getMeasname())
.tagStatus(1)
.remark(bizEntity.getRemark())
.unTagCount(bizEntity.getCount()).build();
IoCollectOrderBiz collectOrderBiz = IoCollectOrderBiz.builder().orderIdFk(collectOrder.getBillNo()).relId(bizEntity.getBindRlFk()).thrCode(udiRelevanceResponse.getMainId()).ybbm(udiRelevanceResponse.getYbbm()).payFeeCode(udiRelevanceResponse.getPayFeeCode()).cpmctymc(bizEntity.getCoName()).nameCode(bizEntity.getNameCode()).ggxh(bizEntity.getSpec()).batchNo(bizEntity.getBatchNo()).productDate(bizEntity.getProductDate()).expireDate(bizEntity.getExpireDate()).count(bizEntity.getCount()).measureUnit(bizEntity.getMeasname()).tagStatus(1).remark(bizEntity.getRemark()).unTagCount(bizEntity.getCount()).build();
if (IntUtil.value(udiRelevanceResponse.getProductsType()) == 2) {
collectOrderBiz.setGgxh(udiRelevanceResponse.getBzgg());
@ -539,16 +456,14 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
public void importPrescribe(List<BasicSkPrescribeEntity> basicSkPrescribeEntities) {
//下载处方
if (CollUtil.isEmpty(basicSkPrescribeEntities))
basicSkPrescribeEntities = basicSkPrescribeService.list();
if (CollUtil.isEmpty(basicSkPrescribeEntities)) basicSkPrescribeEntities = basicSkPrescribeService.list();
List<SysWorkplaceResponse> allWorksList = new ArrayList<>();
for (BasicSkPrescribeEntity basicSkPrescribeEntity : basicSkPrescribeEntities) {
if (collectOrderMapper.exists(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, basicSkPrescribeEntity.getCode()))) {
continue;
}
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(basicSkPrescribeEntity.getAddr());
if (sysWorkplaceDocumentEntity == null)
continue;
if (sysWorkplaceDocumentEntity == null) continue;
//自动分配工位
final Long[] defaultWorkplace = {null};
List<SysWorkplaceResponse> sysWorkplaces = sysWorkplaceService.getAllByBusType(basicSkPrescribeEntity.getAddr());
@ -559,16 +474,14 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
List<SysWorkplaceResponse> addWorkplace = new ArrayList<>();
for (SysWorkplaceResponse sysWorkplace : sysWorkplaces) {
//获取是否有正在处理的工位
List<IoCollectOrder> collectOrderList1 = collectOrderMapper.selectList(new LambdaQueryWrapper<IoCollectOrder>()
.eq(IoCollectOrder::getWorkPlaceCode, sysWorkplace.getWorkplaceId()).in(IoCollectOrder::getTagStatus, -1, 1, 2));
List<IoCollectOrder> collectOrderList1 = collectOrderMapper.selectList(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getWorkPlaceCode, sysWorkplace.getWorkplaceId()).in(IoCollectOrder::getTagStatus, -1, 1, 2));
sysWorkplace.setOrderCount(collectOrderList1.size());
if (IntUtil.value(sysWorkplace.getOrderCount()) > 0) {
addWorkplace.add(sysWorkplace);
}
}
if (addWorkplace.size() > 0) {
Optional<SysWorkplaceResponse> minCountObject = addWorkplace.stream()
.min((o1, o2) -> Integer.compare(o1.getOrderCount(), o2.getOrderCount()));
Optional<SysWorkplaceResponse> minCountObject = addWorkplace.stream().min((o1, o2) -> Integer.compare(o1.getOrderCount(), o2.getOrderCount()));
minCountObject.ifPresent(sysWorkplace -> defaultWorkplace[0] = sysWorkplace.getWorkplaceId());
} else {
defaultWorkplace[0] = sysWorkplaces.get(0).getWorkplaceId();
@ -577,22 +490,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
}
IoCollectOrder collectOrder = IoCollectOrder.builder()
.billNo(basicSkPrescribeEntity.getCode())
.busType(sysWorkplaceDocumentEntity.getDocumentTypeCode())
.fromType("HIS系统")
.fromCorp(basicSkPrescribeEntity.getSickerCode())
.workPlaceCode(defaultWorkplace[0])
.billTime(MsDateUtil.localToDate(basicSkPrescribeEntity.getPrescribeDate()))
.createTime(new Date())
.createUser(basicSkPrescribeEntity.getCreateUser())
.backupOrderRemark1(basicSkPrescribeEntity.getStooutNo())
.updateTime(new Date())
.orderCirType(sysWorkplaceDocumentEntity.getOrderCirType())
.splitStatus(0)
.tagStatus(0)
.remark(basicSkPrescribeEntity.getRemark())
.build();
IoCollectOrder collectOrder = IoCollectOrder.builder().billNo(basicSkPrescribeEntity.getCode()).busType(sysWorkplaceDocumentEntity.getDocumentTypeCode()).fromType("HIS系统").fromCorp(basicSkPrescribeEntity.getSickerCode()).workPlaceCode(defaultWorkplace[0]).billTime(MsDateUtil.localToDate(basicSkPrescribeEntity.getPrescribeDate())).createTime(new Date()).createUser(basicSkPrescribeEntity.getCreateUser()).backupOrderRemark1(basicSkPrescribeEntity.getStooutNo()).updateTime(new Date()).orderCirType(sysWorkplaceDocumentEntity.getOrderCirType()).splitStatus(0).tagStatus(0).remark(basicSkPrescribeEntity.getRemark()).build();
if (collectOrder.getWorkPlaceCode() != null) {
collectOrder.setTagStatus(1);
}
@ -602,26 +500,14 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
for (BasicSkPrescribeItemEntity bizEntity : basicSkPrescribeItemEntities) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(bizEntity.getRelId() + "");
double doubleValue = Double.parseDouble(bizEntity.getMeasureCount());
IoCollectOrderBiz collectOrderBiz = IoCollectOrderBiz.builder().orderIdFk(collectOrder.getBillNo())
.relId(bizEntity.getRelId())
.thrCode(bizEntity.getItemCode())
.ybbm(udiRelevanceResponse.getYbbm())
.payFeeCode(udiRelevanceResponse.getPayFeeCode())
.cpmctymc(bizEntity.getItemName())
.nameCode(udiRelevanceResponse.getNameCode())
.batchNo(bizEntity.getBatchNo())
.count((int) doubleValue)
.measureUnit(bizEntity.getMeasureUnit())
.tagStatus(1)
.unTagCount(bizEntity.getCount()).build();
IoCollectOrderBiz collectOrderBiz = IoCollectOrderBiz.builder().orderIdFk(collectOrder.getBillNo()).relId(bizEntity.getRelId()).thrCode(bizEntity.getItemCode()).ybbm(udiRelevanceResponse.getYbbm()).payFeeCode(udiRelevanceResponse.getPayFeeCode()).cpmctymc(bizEntity.getItemName()).nameCode(udiRelevanceResponse.getNameCode()).batchNo(bizEntity.getBatchNo()).count((int) doubleValue).measureUnit(bizEntity.getMeasureUnit()).tagStatus(1).unTagCount(bizEntity.getCount()).build();
if (IntUtil.value(udiRelevanceResponse.getProductsType()) == 2) {
collectOrderBiz.setMeasureUnit(udiRelevanceResponse.getPrepnUnit());
}
collectOrderBizs.add(collectOrderBiz);
}
if (CollUtil.isNotEmpty(collectOrderBizs))
collectOrderBizService.saveBatch(collectOrderBizs);
if (CollUtil.isNotEmpty(collectOrderBizs)) collectOrderBizService.saveBatch(collectOrderBizs);
allWorksList.addAll(sysWorkplaces);
if (IntUtil.value(sysWorkplaceDocumentEntity.getAutoTag()) == 1 && IntUtil.value(collectOrder.getTagStatus()) == 1) {
@ -699,20 +585,19 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
saveBatch(allotCollects);
collectOrderBizService.saveBatch(allotCollectBizs);
if (IntUtil.value(collectSet.getAutoFinishOrder()))
for (IoCollectOrder collectOrder : allotCollects) {
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(addr);
if (IntUtil.value(sysWorkplaceDocumentEntity.getAutoTag()) == 1 && IntUtil.value(collectOrder.getTagStatus()) == 1) {
boolean b = splitFifoCodeService.lockInventoryByOrder(collectOrder.getBillNo(), 1);
if (b && sysWorkplaceDocumentEntity.getAutoHandle()) {
//单据是否自动完成 是 调用 完成
AuthAdmin user = customerService.getUserBean();
collectOrderRequest.setUpdateUser(user.getId());
collectOrderRequest.setBusType(addr);
finishOrder(collectOrderRequest, user, true);
}
if (IntUtil.value(collectSet.getAutoFinishOrder())) for (IoCollectOrder collectOrder : allotCollects) {
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(addr);
if (IntUtil.value(sysWorkplaceDocumentEntity.getAutoTag()) == 1 && IntUtil.value(collectOrder.getTagStatus()) == 1) {
boolean b = splitFifoCodeService.lockInventoryByOrder(collectOrder.getBillNo(), 1);
if (b && sysWorkplaceDocumentEntity.getAutoHandle()) {
//单据是否自动完成 是 调用 完成
AuthAdmin user = customerService.getUserBean();
collectOrderRequest.setUpdateUser(user.getId());
collectOrderRequest.setBusType(addr);
finishOrder(collectOrderRequest, user, true);
}
}
}
}
}
}
@ -751,8 +636,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
}
if (delCount > 0) {
IoCollectOrderBiz bizServiceOne = collectOrderBizService.getOne(new LambdaQueryWrapper<IoCollectOrderBiz>()
.eq(IoCollectOrderBiz::getId, bizIdFk));
IoCollectOrderBiz bizServiceOne = collectOrderBizService.getOne(new LambdaQueryWrapper<IoCollectOrderBiz>().eq(IoCollectOrderBiz::getId, bizIdFk));
if (bizServiceOne == null) throw new JsonException("扫码详情未查找到");
//反查单据类型 查看是否来源业务单
@ -789,11 +673,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
Assert.notNull(collectOrderRequest.getId(), "id不能为空");
IoCollectOrder old = this.getById(collectOrderRequest.getId());
Assert.notNull(old, "不存在该库存预警设置");
this.lambdaUpdate()
.set(IoCollectOrder::getUpdateTime, new Date())
.set(collectOrderRequest.getUpdateUser() != null, IoCollectOrder::getUpdateUser, collectOrderRequest.getUpdateUser())
.set(IoCollectOrder::getOrderTime, new Date())
.eq(IoCollectOrder::getId, collectOrderRequest.getId()).update();
this.lambdaUpdate().set(IoCollectOrder::getUpdateTime, new Date()).set(collectOrderRequest.getUpdateUser() != null, IoCollectOrder::getUpdateUser, collectOrderRequest.getUpdateUser()).set(IoCollectOrder::getOrderTime, new Date()).eq(IoCollectOrder::getId, collectOrderRequest.getId()).update();
}
SysWorkplacePutRelService sysWorkplacePutRelService;
@ -804,19 +684,9 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
BeanUtils.copyProperties(collectOrderRequest, collectOrder);
collectOrder.setTagStatus(3);
collectOrder.setUpdateTime(new Date());
// updateByBillNo(collectOrder);
// Long putWorkPlace = null;
// SysWorkplacePutRel sysWorkplacePutRel = sysWorkplacePutRelService.findPutWorkPlace(collectOrder.getWorkPlaceCode(), collectOrder.getBusType());
// if (sysWorkplacePutRel != null) {
// putWorkPlace = sysWorkplacePutRel.getWorkPlaceCode();
// }
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService
.getOne(new LambdaQueryWrapper<SysWorkplaceDocumentEntity>().eq(SysWorkplaceDocumentEntity::getDocumentTypeCode,
collectOrderRequest.getBusType()));
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.getOne(new LambdaQueryWrapper<SysWorkplaceDocumentEntity>().eq(SysWorkplaceDocumentEntity::getDocumentTypeCode, collectOrderRequest.getBusType()));
if (sysWorkplaceDocumentEntity.getScanType() == 1) {
IoCollectOrder collectOrder1 =
getOne(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, collectOrderRequest.getBillNo()));
IoCollectOrder collectOrder1 = getOne(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, collectOrderRequest.getBillNo()));
collectOrder1.setTagStatus(3);
collectOrder1.setUpdateTime(new Date());
updateById(collectOrder1);
@ -847,23 +717,14 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
//todo 备份码表
IoCollectOrder finalCollectOrder = collectOrder;
//插入到码表
collectCodeService.insertCodesByBill(collectOrderRequest.getBillNo(),collectOrderRequest.getIsCheckFinish());
collectCodeService.insertCodesByBill(collectOrderRequest.getBillNo(), collectOrderRequest.getIsCheckFinish());
//删除原来单据
removeOrderByBillNo(finalCollectOrder);
//更新数据至第三方系统
//单据更新
// //如果有有关联预验收入库单号 进行单据得内部生成更新
// String preInBillNo = collectOrderRequest.getPreInBillNo();
// if (StrUtil.isNotEmpty(preInBillNo)){
// ioCollectOrderBackupService.generateOrder(finalCollectOrder.getBillNo(), authAdmin);
// }
//不立马上传,等待定时器自动上传
// IoCollectSet ioCollectSet = collectSetService.getSet();
// Boolean autoUploadOrder = ioCollectSet.getAutoUploadOrder();
// if (autoUploadOrder) {
// ioCollectOrderBackupService.orderUpload(collectOrderRequest.getBillNo(), authAdmin);
// }
if (IntUtil.value(sysWorkplaceDocumentEntity.getUploadIsMatching()) == 0 && StrUtil.isNotEmpty(sysWorkplaceDocumentEntity.getUploadDocumentTypeCode())) {
ioCollectOrderBackupService.uploadInnerOrder(ioCollectOrderBackup, sysWorkplaceDocumentEntity);
}
if (IntUtil.value(sysWorkplaceDocumentEntity.getIsMatching()) == 1 && sysWorkplaceDocumentEntity.getScanType() != 1) {
ioCollectOrderBackupService.updateSpmsOrder(collectOrderRequest.getBillNo(), authAdmin);
}
@ -897,7 +758,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
ThreadUtil.execAsync(() -> {
//插入到码表
collectCodeService.insertCodesByBill(collectOrderRequest.getBillNo(),null);
collectCodeService.insertCodesByBill(collectOrderRequest.getBillNo(), null);
//更新数据至第三方系统
//单据更新
ioCollectOrderBackupService.generateOrder(collectOrder.getBillNo(), authAdmin);
@ -1027,8 +888,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
tempEntity.setCreateTime(new Date());
tempEntity.setUpdateTime(new Date());
CompanyProductRelevanceEntity udiRlSupEntity = udiRlSupService.selOneByRlId(tempEntity.getRelId());
if (udiRlSupEntity != null)
tempEntity.setSupId(udiRlSupEntity.getCustomerId());
if (udiRlSupEntity != null) tempEntity.setSupId(udiRlSupEntity.getCustomerId());
tempEntity.setDeptCode(orderEntity.getDeptCode());
return tempEntity;
}
@ -1059,9 +919,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
if (workplace == null) {
throw new JsonException(500, "当前用户未绑定该工位");
}
List<IoCollectOrder> ioCollectOrders = collectOrderMapper.selectList(new LambdaQueryWrapper<IoCollectOrder>()
.eq(IoCollectOrder::getWorkPlaceCode, request.getWorkPlaceCode())
.eq(IoCollectOrder::getTagStatus, request.getTagStatus()));
List<IoCollectOrder> ioCollectOrders = collectOrderMapper.selectList(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getWorkPlaceCode, request.getWorkPlaceCode()).eq(IoCollectOrder::getTagStatus, request.getTagStatus()));
if (ioCollectOrders.size() > 0) {
return false;
@ -1100,8 +958,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
throw new JsonException("文件数据为空");
}
Map<String, List<VA010Mx>> detailsMap = a010details.stream()
.collect(Collectors.groupingBy(VA010Mx::getCodefk));
Map<String, List<VA010Mx>> detailsMap = a010details.stream().collect(Collectors.groupingBy(VA010Mx::getCodefk));
List<IoCollectOrder> ioCollectOrders = new ArrayList<>();

Loading…
Cancel
Save