添加供应商是否关联校验

dev_ksck
anthonywj 1 year ago
parent 2053441176
commit a706fd8952

@ -92,8 +92,7 @@ public class ThrInvOrderController {
if (b > 0) { if (b > 0) {
thrInvOrderDetailService.delThrInvOrderDetailByBillNo(billNo); thrInvOrderDetailService.delThrInvOrderDetailByBillNo(billNo);
return ResultVOUtils.success("删除成功"); return ResultVOUtils.success("删除成功");
} } else return ResultVOUtils.error(500, "无法删除!");
else return ResultVOUtils.error(500, "无法删除!");
} }
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@ -102,7 +101,7 @@ public class ThrInvOrderController {
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
} }
if (thrInvOrderService.generateOrder(generateOrderRequest)){ if (thrInvOrderService.generateOrder(generateOrderRequest)) {
return ResultVOUtils.success("生成成功"); return ResultVOUtils.success("生成成功");
} }
return ResultVOUtils.error(500, "生成失败!"); return ResultVOUtils.error(500, "生成失败!");
@ -114,7 +113,7 @@ public class ThrInvOrderController {
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
} }
if (thrInvOrderService.generateGhOrder(generateOrderRequest)){ if (thrInvOrderService.generateGhOrder(generateOrderRequest)) {
return ResultVOUtils.success("生成成功"); return ResultVOUtils.success("生成成功");
} }
return ResultVOUtils.error(500, "生成失败!"); return ResultVOUtils.error(500, "生成失败!");
@ -126,7 +125,7 @@ public class ThrInvOrderController {
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
} }
if (thrInvOrderService.refreshOrder(refreshOrderRequest)){ if (thrInvOrderService.refreshOrder(refreshOrderRequest)) {
return ResultVOUtils.success("刷新成功"); return ResultVOUtils.success("刷新成功");
} }
return ResultVOUtils.error(500, "刷新失败!"); return ResultVOUtils.error(500, "刷新失败!");
@ -138,7 +137,7 @@ public class ThrInvOrderController {
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
} }
if (thrInvOrderService.refreshGhOrder(refreshOrderRequest)){ if (thrInvOrderService.refreshGhOrder(refreshOrderRequest)) {
return ResultVOUtils.success("刷新成功"); return ResultVOUtils.success("刷新成功");
} }
return ResultVOUtils.error(500, "刷新失败!"); return ResultVOUtils.error(500, "刷新失败!");

@ -100,6 +100,11 @@ public class ThrInvOrderDetail implements Serializable {
*/ */
private String supName; private String supName;
/**
* ID
*/
private String supId;
/** /**
* *
*/ */

@ -1,6 +1,8 @@
package com.glxp.api.service.basic; package com.glxp.api.service.basic;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.entity.basic.UdiRlSupEntity; import com.glxp.api.entity.basic.UdiRlSupEntity;
import com.glxp.api.req.basic.CompanyProductRelevanceRequest; import com.glxp.api.req.basic.CompanyProductRelevanceRequest;
import com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest; import com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest;
@ -8,7 +10,7 @@ import com.glxp.api.res.basic.UdiRlSupResponse;
import java.util.List; import java.util.List;
public interface UdiRlSupService { public interface UdiRlSupService extends IService<UdiRlSupEntity> {
List<UdiRlSupResponse> filterUdiGp(CompanyProductRelevanceRequest basicInstrumentMaintainRequest); List<UdiRlSupResponse> filterUdiGp(CompanyProductRelevanceRequest basicInstrumentMaintainRequest);
@ -24,6 +26,8 @@ public interface UdiRlSupService {
List<UdiRlSupEntity> findByUdiRlId(Long udiRlIdFk); List<UdiRlSupEntity> findByUdiRlId(Long udiRlIdFk);
UdiRlSupEntity selOneByRlId(Long udiRlIdFk);
UdiRlSupEntity findCompanyProductRelevanceByProductUuid(UdiRlSupEntity udiRlSupEntity); UdiRlSupEntity findCompanyProductRelevanceByProductUuid(UdiRlSupEntity udiRlSupEntity);
List<UdiRlSupEntity> getCompanyProductRelevance(FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest); List<UdiRlSupEntity> getCompanyProductRelevance(FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest);

@ -3,12 +3,17 @@ package com.glxp.api.service.basic.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.basic.UdiRelevanceDao;
import com.glxp.api.dao.basic.UdiRlSupDao; import com.glxp.api.dao.basic.UdiRlSupDao;
import com.glxp.api.entity.auth.InvBusUserEntity;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.entity.basic.UdiRlSupEntity; import com.glxp.api.entity.basic.UdiRlSupEntity;
import com.glxp.api.req.basic.CompanyProductRelevanceRequest; import com.glxp.api.req.basic.CompanyProductRelevanceRequest;
import com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest; import com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest;
import com.glxp.api.res.basic.UdiRlSupResponse; import com.glxp.api.res.basic.UdiRlSupResponse;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.basic.UdiRlSupService; import com.glxp.api.service.basic.UdiRlSupService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -19,7 +24,7 @@ import java.util.List;
@Service @Service
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public class UdiRlSupServiceImpl implements UdiRlSupService { public class UdiRlSupServiceImpl extends ServiceImpl<UdiRlSupDao, UdiRlSupEntity> implements UdiRlSupService {
@Resource @Resource
UdiRlSupDao udiRlSupDao; UdiRlSupDao udiRlSupDao;
@ -96,6 +101,11 @@ public class UdiRlSupServiceImpl implements UdiRlSupService {
return companyProductRelevanceEntities; return companyProductRelevanceEntities;
} }
@Override
public UdiRlSupEntity selOneByRlId(Long udiRlIdFk) {
return udiRlSupDao.selectOne(new QueryWrapper<UdiRlSupEntity>().eq("udiRlIdFk", udiRlIdFk).last("limit 1"));
}
@Override @Override
public UdiRlSupEntity findCompanyProductRelevanceByProductUuid(UdiRlSupEntity udiRlSupEntity) { public UdiRlSupEntity findCompanyProductRelevanceByProductUuid(UdiRlSupEntity udiRlSupEntity) {
return udiRlSupDao.findCompanyProductRelevanceByProductUuid(udiRlSupEntity); return udiRlSupDao.findCompanyProductRelevanceByProductUuid(udiRlSupEntity);

@ -16,10 +16,7 @@ import com.glxp.api.dao.basic.UdiRelevanceDao;
import com.glxp.api.dao.inout.IoCodeTempDao; import com.glxp.api.dao.inout.IoCodeTempDao;
import com.glxp.api.dao.thrsys.ThrInvOrderDetailMapper; import com.glxp.api.dao.thrsys.ThrInvOrderDetailMapper;
import com.glxp.api.dao.thrsys.ThrInvOrderMapper; import com.glxp.api.dao.thrsys.ThrInvOrderMapper;
import com.glxp.api.entity.basic.BasicProductsEntity; import com.glxp.api.entity.basic.*;
import com.glxp.api.entity.basic.BasicSkProjectDetailEntity;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.entity.inout.IoCodeTempEntity; import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inout.IoOrderEntity;
@ -39,6 +36,7 @@ import com.glxp.api.res.inv.ThrInvResultResponse;
import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.basic.ProductInfoService; import com.glxp.api.service.basic.ProductInfoService;
import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.basic.UdiRlSupService;
import com.glxp.api.service.basic.impl.BasicDestinyRelService; import com.glxp.api.service.basic.impl.BasicDestinyRelService;
import com.glxp.api.service.inout.IoAddInoutService; import com.glxp.api.service.inout.IoAddInoutService;
import com.glxp.api.service.inout.IoOrderDetailBizService; import com.glxp.api.service.inout.IoOrderDetailBizService;
@ -351,7 +349,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
Long userId = customerService.getUserId(); Long userId = customerService.getUserId();
ioOrderEntity.setCreateUser(userId + ""); ioOrderEntity.setCreateUser(userId + "");
ioOrderEntity.setUpdateUser(userId + ""); ioOrderEntity.setUpdateUser(userId + "");
ioOrderEntity.setOrderType(ConstantStatus.ORDER_TYPE_NORMAL);//正常单据处理 ioOrderEntity.setOrderType(ConstantStatus.ORDER_TYPE_SCAN);//正常单据处理
List<IoOrderDetailBizEntity> newOrderDetailBiz = new ArrayList<>(thrInvOrderDetails.size()); List<IoOrderDetailBizEntity> newOrderDetailBiz = new ArrayList<>(thrInvOrderDetails.size());
if (!copyOrderDetailBiz(thrInvOrderDetails, newOrderDetailBiz, newBillNo)) { if (!copyOrderDetailBiz(thrInvOrderDetails, newOrderDetailBiz, newBillNo)) {
@ -365,7 +363,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
thrInvOrderMapper.updateByPrimaryKey(thrInvOrder); thrInvOrderMapper.updateByPrimaryKey(thrInvOrder);
ioOrderDetailBizService.batchInsertBizs(newOrderDetailBiz); ioOrderDetailBizService.batchInsertBizs(newOrderDetailBiz);
ioAddInoutService.stockGenScan(ioOrderEntity); // ioAddInoutService.stockGenScan(ioOrderEntity);
return true; return true;
} }
@ -416,7 +414,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
return false; return false;
} }
if (!copyIoCodeTemps(thrInvOrderDetails, newIoCodeTemps, newBillNo,generateOrderRequest)) { if (!copyIoCodeTemps(thrInvOrderDetails, newIoCodeTemps, newBillNo, generateOrderRequest)) {
return false; return false;
} }
@ -434,6 +432,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
/** /**
* *
*
* @param thrInvOrderDetails * @param thrInvOrderDetails
* @return * @return
*/ */
@ -443,6 +442,9 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
return true; return true;
} }
@Resource
UdiRlSupService udiRlSupService;
@Override @Override
public boolean refreshOrder(RefreshOrderRequest refreshOrderRequest) { public boolean refreshOrder(RefreshOrderRequest refreshOrderRequest) {
String billNo = refreshOrderRequest.getBillNo(); String billNo = refreshOrderRequest.getBillNo();
@ -514,13 +516,23 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
String thrCode = item.getThrCode(); String thrCode = item.getThrCode();
Long relId = mainIdRelIdMap.get(thrCode); Long relId = mainIdRelIdMap.get(thrCode);
if (ObjectUtil.isNotNull(relId)) { if (ObjectUtil.isNotNull(relId)) {
item.setRelId(relId); item.setRelId(relId);
updateThrInvOrderDetails.add(item); updateThrInvOrderDetails.add(item);
//校验产品是否被供应商关联
UdiRlSupEntity udiRlSupEntity = udiRlSupService.selOneByRlId(relId);
if (udiRlSupEntity != null)
item.setSupId(udiRlSupEntity.getCustomerId());
else
exmsg.append(thrCode + "供应商未关联");
} else { } else {
exmsg.append(thrCode + ","); exmsg.append(thrCode + ",");
} }
} }
}); });
} }
if (exmsg.length() > 0) { if (exmsg.length() > 0) {
@ -643,21 +655,20 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
} }
/** /**
*
* @param thrInvOrderDetails * @param thrInvOrderDetails
* @param newIoCodeTemps * @param newIoCodeTemps
* @param newBillNo * @param newBillNo
* @return * @return
*/ */
private boolean copyIoCodeTemps(List<ThrInvOrderDetail> thrInvOrderDetails, List<IoCodeTempEntity> newIoCodeTemps, String newBillNo,GenerateOrderRequest generateOrderRequest) { private boolean copyIoCodeTemps(List<ThrInvOrderDetail> thrInvOrderDetails, List<IoCodeTempEntity> newIoCodeTemps, String newBillNo, GenerateOrderRequest generateOrderRequest) {
thrInvOrderDetails.forEach( item -> { thrInvOrderDetails.forEach(item -> {
IoCodeTempEntity ioCodeTempEntity = new IoCodeTempEntity(); IoCodeTempEntity ioCodeTempEntity = new IoCodeTempEntity();
ioCodeTempEntity.setId(null); ioCodeTempEntity.setId(null);
ioCodeTempEntity.setCode(item.getUdiCode()); ioCodeTempEntity.setCode(item.getUdiCode());
ioCodeTempEntity.setOrderId(newBillNo); ioCodeTempEntity.setOrderId(newBillNo);
ioCodeTempEntity.setAction(generateOrderRequest.getAction()); ioCodeTempEntity.setAction(generateOrderRequest.getAction());
BeanUtils.copyProperties(item,ioCodeTempEntity); BeanUtils.copyProperties(item, ioCodeTempEntity);
ioCodeTempEntity.setUpdateTime(new Date()); ioCodeTempEntity.setUpdateTime(new Date());
ioCodeTempEntity.setCreateTime(new Date()); ioCodeTempEntity.setCreateTime(new Date());

@ -4,7 +4,7 @@ server:
spring: spring:
datasource: datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver driver-class-name: com.p6spy.engine.spy.P6SpyDriver
jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_ct?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true jdbc-url: jdbc:p6spy:mysql://192.168.0.43:3306/udi_wms_ct?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root username: root
password: 123456 password: 123456
hikari: hikari:

@ -52,7 +52,5 @@ SPMS_KEY: lCOdWCBKS6Kw45wdnnqUTELXyuSKnXEs
back_file_path: D:/share/udisps/back/ back_file_path: D:/share/udisps/back/
API_KEY: 1101 API_KEY: 1101
API_SECRET: zBITspLNvuoEd4FaamlSoqxRHmNsmQ9L API_SECRET: zBITspLNvuoEd4FaamlSoqxRHmNsmQ9L
WEB_TITLE: 平潭协和医院
WEB_SUB_TITLE: 医院UDI管理系统
SPMS_WEBSOCKET_TOKEN: 07rKFDFkQvBkbxgc7aUBlONo4gWNdx8b SPMS_WEBSOCKET_TOKEN: 07rKFDFkQvBkbxgc7aUBlONo4gWNdx8b

@ -36,4 +36,5 @@ server:
max-http-post-size: 100MB max-http-post-size: 100MB
max-http-header-size: 100MB max-http-header-size: 100MB
WEB_TITLE: 平潭协和医院
WEB_SUB_TITLE: 医院UDI管理系统

@ -596,8 +596,8 @@ CALL Pro_Temp_ColumnWork('thr_inv_order_detail', 'udiCode',' varchar(255) NULL
CALL Pro_Temp_ColumnWork('thr_inv_order_detail', 'serialNo',' varchar(255) NULL DEFAULT NULL COMMENT ''序列号'' AFTER `remark`', 1); CALL Pro_Temp_ColumnWork('thr_inv_order_detail', 'serialNo',' varchar(255) NULL DEFAULT NULL COMMENT ''序列号'' AFTER `remark`', 1);
CALL Pro_Temp_ColumnWork('thr_inv_order_detail', 'sickerCode',' varchar(80) NULL DEFAULT NULL COMMENT ''患者编码'' AFTER `remark`', 1); CALL Pro_Temp_ColumnWork('thr_inv_order_detail', 'sickerCode',' varchar(80) NULL DEFAULT NULL COMMENT ''患者编码'' AFTER `remark`', 1);
CALL Pro_Temp_ColumnWork('thr_inv_order_detail', 'sickerName',' varchar(30) NULL DEFAULT NULL COMMENT ''患者名称'' AFTER `remark`', 1); CALL Pro_Temp_ColumnWork('thr_inv_order_detail', 'sickerName',' varchar(30) NULL DEFAULT NULL COMMENT ''患者名称'' AFTER `remark`', 1);
CALL Pro_Temp_ColumnWork('thr_inv_order', 'thirdSysFk', ' varchar(30) NULL DEFAULT NULL COMMENT ''第三方系统标识'' AFTER `remark`', 1);
CALL Pro_Temp_ColumnWork('thr_inv_order_detail', 'supId',' varchar(30) NULL DEFAULT NULL COMMENT ''供应商ID'' AFTER `remark`', 1);
INSERT ignore INTO thr_system_detail(`id`, `name`, `key`, `value`, `enabled`, `guideUrl`, `remark`, `thirdSysFk`, `itrCache`, `fromType`, `time`, `dlLastTime`) INSERT ignore INTO thr_system_detail(`id`, `name`, `key`, `value`, `enabled`, `guideUrl`, `remark`, `thirdSysFk`, `itrCache`, `fromType`, `time`, `dlLastTime`)
VALUES (75, '收费出入库明细下载', 'invSfOrderUrl', '/udiwms/erp/inv/getInvSfResult', 1, '1', '', 'thirdId', 1, 3, 1440, NULL); VALUES (75, '收费出入库明细下载', 'invSfOrderUrl', '/udiwms/erp/inv/getInvSfResult', 1, '1', '', 'thirdId', 1, 3, 1440, NULL);

Loading…
Cancel
Save