新增下载收费项目字典

dev_fifo1.0
anthonywj 1 year ago
parent 40d97991e8
commit 8fa91cee91

@ -57,5 +57,5 @@ public interface ThirdSysConstant {
String INV_PH_ORDER_QUERY_URL = "invPhOrderUrl"; String INV_PH_ORDER_QUERY_URL = "invPhOrderUrl";
String INV_GH_ORDER_QUERY_URL = "invGhOrderUrl"; String INV_GH_ORDER_QUERY_URL = "invGhOrderUrl";
String SF_PROJECT_DICT_URL = "sfProjectDictUrl";
} }

@ -69,10 +69,10 @@ public class BasicDestinyRelController {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
} }
List<BasicSkProjectResponse> basicSkProjectResponses = basicSkProjectService.filterList(basicSkProjectRequest); List<BasicSkProjectResponse> basicSkProjectResponses = basicSkProjectService.filterList(basicSkProjectRequest);
if (CollectionUtil.isNotEmpty(basicSkProjectResponses)){ if (CollectionUtil.isNotEmpty(basicSkProjectResponses)) {
List<Long> pId = basicSkProjectResponses.stream().map(BasicSkProjectResponse::getId).collect(Collectors.toList()); List<Long> pId = basicSkProjectResponses.stream().map(BasicSkProjectResponse::getId).collect(Collectors.toList());
Map<Long,BigDecimal> priceMap = basicDestinyRelService.sumPriceByRedIds(pId); Map<Long, BigDecimal> priceMap = basicDestinyRelService.sumPriceByRedIds(pId);
basicSkProjectResponses.forEach( x -> { basicSkProjectResponses.forEach(x -> {
BigDecimal price = priceMap.get(x.getId()); BigDecimal price = priceMap.get(x.getId());
x.setPrice(String.valueOf(price)); x.setPrice(String.valueOf(price));
}); });
@ -305,7 +305,7 @@ public class BasicDestinyRelController {
public BaseResponse submitSkSkProject(@RequestBody BasicSkProjectEntity basicSkProjectEntity) { public BaseResponse submitSkSkProject(@RequestBody BasicSkProjectEntity basicSkProjectEntity) {
Long id = basicSkProjectEntity.getId(); Long id = basicSkProjectEntity.getId();
if (id == null){ if (id == null) {
return ResultVOUtils.error(999, "提交失败id不可以为空"); return ResultVOUtils.error(999, "提交失败id不可以为空");
} }
Boolean falgf = basicSkProjectService.generateProduct(id); Boolean falgf = basicSkProjectService.generateProduct(id);

@ -1,9 +1,15 @@
package com.glxp.api.req.basic; package com.glxp.api.req.basic;
import com.glxp.api.util.page.ListPageRequest; import com.glxp.api.util.page.ListPageRequest;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
@Builder
@Data @Data
@AllArgsConstructor
@NoArgsConstructor
public class DlThirdDestinyRequest extends ListPageRequest { public class DlThirdDestinyRequest extends ListPageRequest {

@ -1,36 +1,28 @@
package com.glxp.api.service.basic; package com.glxp.api.service.basic;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
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.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.dao.basic.BasicSkProjectMapper; import com.glxp.api.dao.basic.BasicSkPrescribeMapper;
import com.glxp.api.entity.basic.*; import com.glxp.api.entity.basic.BasicSkPrescribeDiEntity;
import com.glxp.api.entity.basic.BasicSkPrescribeEntity;
import com.glxp.api.entity.basic.BasicSkPrescribeItemEntity;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.entity.thrsys.ThrProductsEntity; import com.glxp.api.entity.thrsys.ThrProductsEntity;
import com.glxp.api.http.ErpBasicClient; import com.glxp.api.http.ErpBasicClient;
import com.glxp.api.req.basic.BasicSkPrescribeRequest; import com.glxp.api.req.basic.BasicSkPrescribeRequest;
import com.glxp.api.req.basic.BasicSkProjectRequest;
import com.glxp.api.req.basic.GetSickPrescribeRequest; import com.glxp.api.req.basic.GetSickPrescribeRequest;
import com.glxp.api.req.basic.GetSickRequest;
import com.glxp.api.req.thrsys.FilterThrProductsRequest;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.BasicSkPrescribeResponse; import com.glxp.api.res.basic.BasicSkPrescribeResponse;
import com.glxp.api.res.basic.BasicSkProjectResponse;
import com.glxp.api.res.basic.BasicSkSickerResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.thrsys.ThrProductsResponse;
import com.glxp.api.service.BasicSkPrescribeDiService; import com.glxp.api.service.BasicSkPrescribeDiService;
import com.glxp.api.service.thrsys.ThrProductsService; import com.glxp.api.service.thrsys.ThrProductsService;
import com.glxp.api.util.IntUtil; import com.glxp.api.util.IntUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.basic.BasicSkPrescribeMapper;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;

@ -4,7 +4,9 @@ package com.glxp.api.service.basic.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
@ -14,17 +16,14 @@ import com.glxp.api.dao.basic.BasicSkProjectMapper;
import com.glxp.api.dao.basic.UdiRelevanceDao; import com.glxp.api.dao.basic.UdiRelevanceDao;
import com.glxp.api.entity.basic.BasicSkProjectDetailEntity; import com.glxp.api.entity.basic.BasicSkProjectDetailEntity;
import com.glxp.api.entity.basic.BasicSkProjectEntity; import com.glxp.api.entity.basic.BasicSkProjectEntity;
import com.glxp.api.entity.basic.BasicSkSickerEntity;
import com.glxp.api.entity.basic.UdiRlSupEntity; import com.glxp.api.entity.basic.UdiRlSupEntity;
import com.glxp.api.http.ErpBasicClient; import com.glxp.api.http.ErpBasicClient;
import com.glxp.api.req.basic.BasicDestinyRelRequest; import com.glxp.api.req.basic.BasicDestinyRelRequest;
import com.glxp.api.req.basic.DlThirdDestinyRequest; import com.glxp.api.req.basic.DlThirdDestinyRequest;
import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.basic.GetSickRequest;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.BasicSkProjectDetailResponse; import com.glxp.api.res.basic.BasicSkProjectDetailResponse;
import com.glxp.api.res.basic.BasicSkProjectResponse; import com.glxp.api.res.basic.BasicSkProjectResponse;
import com.glxp.api.res.basic.BasicSkSickerResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.basic.UdiRelevanceResponse;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -42,6 +41,8 @@ public class BasicDestinyRelService extends ServiceImpl<BasicDestinyRelMapper, B
ErpBasicClient erpBasicClient; ErpBasicClient erpBasicClient;
@Resource @Resource
UdiRelevanceDao udiRelevanceDao; UdiRelevanceDao udiRelevanceDao;
@Resource
BasicSkProjectMapper basicSkProjectMapper;
public Boolean addModeldestinyProduct(BasicDestinyRelRequest basicDestinyRelRequest) { public Boolean addModeldestinyProduct(BasicDestinyRelRequest basicDestinyRelRequest) {
@ -122,26 +123,21 @@ public class BasicDestinyRelService extends ServiceImpl<BasicDestinyRelMapper, B
BaseResponse<PageSimpleResponse<BasicSkProjectResponse>> baseResponse = erpBasicClient.getBasicProject(request); BaseResponse<PageSimpleResponse<BasicSkProjectResponse>> baseResponse = erpBasicClient.getBasicProject(request);
if (baseResponse.getCode() == 20000) { if (baseResponse.getCode() == 20000) {
List<BasicSkProjectResponse> list = baseResponse.getData().getList(); List<BasicSkProjectResponse> list = baseResponse.getData().getList();
List<BasicSkProjectEntity> basicSkProjectEntities = new ArrayList<>();
if (CollUtil.isNotEmpty(list)) { if (CollUtil.isNotEmpty(list)) {
list.forEach(item -> { //todo 数据转换 list.forEach(item -> {
BasicSkProjectEntity basicSkProjectEntity = new BasicSkProjectEntity(); BasicSkProjectEntity basicSkProjectEntity = new BasicSkProjectEntity();
BeanUtil.copyProperties(item, basicSkProjectEntity); BeanUtil.copyProperties(item, basicSkProjectEntity);
List<BasicSkProjectDetailResponse> basicSkProjectDetailResponses = item.getBasicSkProjectDetailResponses(); basicSkProjectEntity.setType(2);
if (CollUtil.isNotEmpty(basicSkProjectDetailResponses)) { Boolean b = basicSkProjectMapper.exists(new LambdaQueryWrapper<BasicSkProjectEntity>().eq(BasicSkProjectEntity::getCode, basicSkProjectEntity.getCode()));
list.forEach(detailItem -> if (b) {
{ basicSkProjectMapper.update(basicSkProjectEntity, new LambdaUpdateWrapper<BasicSkProjectEntity>().eq(BasicSkProjectEntity::getCode, basicSkProjectEntity.getCode()));
//todo 数据转换 } else {
BasicSkProjectDetailEntity basicSkProjectDetailEntity = new BasicSkProjectDetailEntity(); basicSkProjectEntity.setId(IdUtil.getSnowflakeNextId());
BeanUtil.copyProperties(detailItem, basicSkProjectDetailEntity); basicSkProjectMapper.insert(basicSkProjectEntity);
}
);
} }
}); });
} }
if (list.size() >= limit && !baseResponse.getData().getTotal().equals(-666)) { if (list.size() >= limit && !baseResponse.getData().getTotal().equals(-666)) {
// basicDestinyRelMapper.replaceBatchs(basicSkProjectEntities);
page++; page++;
} else { } else {
break; break;

@ -12,10 +12,12 @@ import com.glxp.api.dao.thrsys.ThrSystemDetailDao;
import com.glxp.api.entity.inv.InvPlaceOrderEntity; import com.glxp.api.entity.inv.InvPlaceOrderEntity;
import com.glxp.api.entity.system.ScheduledEntity; import com.glxp.api.entity.system.ScheduledEntity;
import com.glxp.api.entity.thrsys.ThrSystemDetailEntity; import com.glxp.api.entity.thrsys.ThrSystemDetailEntity;
import com.glxp.api.req.basic.DlThirdDestinyRequest;
import com.glxp.api.req.basic.GetSickRequest; import com.glxp.api.req.basic.GetSickRequest;
import com.glxp.api.req.system.ScheduledRequest; import com.glxp.api.req.system.ScheduledRequest;
import com.glxp.api.res.thrsys.ThirdSysInterfaceExecuteVo; import com.glxp.api.res.thrsys.ThirdSysInterfaceExecuteVo;
import com.glxp.api.service.basic.BasicSkSickerService; import com.glxp.api.service.basic.BasicSkSickerService;
import com.glxp.api.service.basic.impl.BasicDestinyRelService;
import com.glxp.api.service.inout.IoOrderService; import com.glxp.api.service.inout.IoOrderService;
import com.glxp.api.service.thrsys.*; import com.glxp.api.service.thrsys.*;
import com.glxp.api.util.RedisUtil; import com.glxp.api.util.RedisUtil;
@ -153,6 +155,11 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
//下载出入库明细高耗 //下载出入库明细高耗
downloadInvGhOrder(thrSystemDetailEntity); downloadInvGhOrder(thrSystemDetailEntity);
break; break;
case ThirdSysConstant.SF_PROJECT_DICT_URL:
//下载收费项目字典
break;
default: default:
//其他接口暂不处理 //其他接口暂不处理
break; break;
@ -410,6 +417,29 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
} }
} }
@Resource
BasicDestinyRelService basicDestinyRelService;
/**
*
*/
private void downloadSfProject(ThrSystemDetailEntity thrSystemDetailEntity) {
//校验任务并更新redis数据执行标识
if (verifyTask(thrSystemDetailEntity)) {
getExecutor().submit(() -> {
log.info("开始下载收费项目字典");
try {
basicDestinyRelService.dlThirdDestiny(new DlThirdDestinyRequest());
} catch (Exception e) {
log.error("开始下载患者信息", ExceptionUtils.getStackTrace(e));
} finally {
updateTask(getTaskKey(thrSystemDetailEntity));
}
log.info("下载收费项目字典结束");
});
}
}
/** /**
* *

@ -2045,3 +2045,15 @@ CALL Pro_Temp_ColumnWork('pur_plan_detail', 'destinyId',
CALL Pro_Temp_ColumnWork('pur_receive_detail', 'destinyId', CALL Pro_Temp_ColumnWork('pur_receive_detail', 'destinyId',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''术式模板id''', ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''术式模板id''',
1); 1);
INSERT IGNORE INTO`thr_system_detail`(`id`, `name`, `key`, `value`, `enabled`, `guideUrl`, `remark`, `thirdSysFk`, `itrCache`, `fromType`, `time`, `dlLastTime`) VALUES (100, '项目字典下载', 'sfProjectDictUrl', NULL, 1, '1', NULL, 'thirdId', 1, 3, 1440, NULL);
INSERT IGNORE INTO`thr_system_detail`(`id`, `name`, `key`, `value`, `enabled`, `guideUrl`, `remark`, `thirdSysFk`, `itrCache`, `fromType`, `time`, `dlLastTime`) VALUES (101, '项目字典下载', 'sfProjectDictUrl', NULL, 1, '1', NULL, 'thirdId1', 1, 3, 1440, NULL);
INSERT IGNORE INTO`thr_system_detail`(`id`, `name`, `key`, `value`, `enabled`, `guideUrl`, `remark`, `thirdSysFk`, `itrCache`, `fromType`, `time`, `dlLastTime`) VALUES (102, '项目字典下载', 'sfProjectDictUrl', NULL, 1, '1', NULL, 'thirdId2', 1, 3, 1440, NULL);
INSERT IGNORE INTO`thr_system_detail`(`id`, `name`, `key`, `value`, `enabled`, `guideUrl`, `remark`, `thirdSysFk`, `itrCache`, `fromType`, `time`, `dlLastTime`) VALUES (103, '项目字典下载', 'sfProjectDictUrl', NULL, 1, '1', NULL, 'thirdId3', 1, 3, 1440, NULL);
INSERT IGNORE INTO`thr_system_detail`(`id`, `name`, `key`, `value`, `enabled`, `guideUrl`, `remark`, `thirdSysFk`, `itrCache`, `fromType`, `time`, `dlLastTime`) VALUES (104, '项目字典下载', 'sfProjectDictUrl', NULL, 1, '1', NULL, 'thirdId4', 1, 3, 1440, NULL);

Loading…
Cancel
Save