患者处方相关修改优化

zyy_db
anthonywj 2 years ago
parent d345794cdb
commit f6ecc65386

@ -45,5 +45,10 @@ public interface ThirdSysConstant {
*/
String PI_SUBMIT_URL = "productSubmitUrl";
/**
*
*/
String SICKER_QUERY_URL = "sickerQueryUrl";
}

@ -12,6 +12,7 @@ import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.req.basic.BasicSkPrescribeDiRequest;
import com.glxp.api.req.basic.GetSickPrescribeRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.BasicSkPrescribeDiResponse;
import com.glxp.api.service.BasicSkPrescribeDiService;
import com.glxp.api.service.basic.BasicSkPrescribeService;
import com.glxp.api.service.basic.BasicSkSickerService;
@ -41,9 +42,9 @@ public class BasicSickPrescribeDiController {
*/
@GetMapping("/udiwms/basic/sk/prescribe/di/filter")
public BaseResponse filterSicker(BasicSkPrescribeDiRequest basicSkPrescribeDiRequest) {
List<BasicSkPrescribeDiEntity> basicSkPrescribeResponses = basicSkPrescribeDiService.filterList(basicSkPrescribeDiRequest);
PageInfo<BasicSkPrescribeDiEntity> pageInfo = new PageInfo<>(basicSkPrescribeResponses);
PageSimpleResponse<BasicSkPrescribeDiEntity> pageSimpleResponse = new PageSimpleResponse<>();
List<BasicSkPrescribeDiResponse> basicSkPrescribeResponses = basicSkPrescribeDiService.filterList(basicSkPrescribeDiRequest);
PageInfo<BasicSkPrescribeDiResponse> pageInfo = new PageInfo<>(basicSkPrescribeResponses);
PageSimpleResponse<BasicSkPrescribeDiResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(basicSkPrescribeResponses);
return ResultVOUtils.success(pageSimpleResponse);
@ -57,7 +58,7 @@ public class BasicSickPrescribeDiController {
*/
@GetMapping("/udiwms/basic/sk/prescribe/check")
public BaseResponse checkPrescribe(BasicSkPrescribeDiRequest basicSkPrescribeDiRequest) {
List<BasicSkPrescribeDiEntity> basicSkPrescribeDiEntities;
List<BasicSkPrescribeDiResponse> basicSkPrescribeDiEntities;
if (StrUtil.isEmpty(basicSkPrescribeDiRequest.getAdNum()))
return ResultVOUtils.error(500, "病人住院信息");
if (StrUtil.isEmpty(basicSkPrescribeDiRequest.getBillNo())) {
@ -86,7 +87,7 @@ public class BasicSickPrescribeDiController {
if (StrUtil.isEmpty(basicSkPrescribeDiRequest.getAdNum()))
return ResultVOUtils.error(500, "病人住院信息");
List<BasicSkPrescribeDiEntity> basicSkPrescribeResponses = basicSkPrescribeDiService.filterList(basicSkPrescribeDiRequest);
List<BasicSkPrescribeDiResponse> basicSkPrescribeResponses = basicSkPrescribeDiService.filterList(basicSkPrescribeDiRequest);
if (CollUtil.isEmpty(basicSkPrescribeResponses)) {
BasicSkSickerEntity basicSkSickerEntity = basicSkSickerService.findByAdNum(basicSkPrescribeDiRequest.getAdNum());
GetSickPrescribeRequest getSickPrescribeRequest = new GetSickPrescribeRequest();
@ -97,8 +98,8 @@ public class BasicSickPrescribeDiController {
}
PageInfo<BasicSkPrescribeDiEntity> pageInfo = new PageInfo<>(basicSkPrescribeResponses);
PageSimpleResponse<BasicSkPrescribeDiEntity> pageSimpleResponse = new PageSimpleResponse<>();
PageInfo<BasicSkPrescribeDiResponse> pageInfo = new PageInfo<>(basicSkPrescribeResponses);
PageSimpleResponse<BasicSkPrescribeDiResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(basicSkPrescribeResponses);
return ResultVOUtils.success(pageSimpleResponse);

@ -9,6 +9,7 @@ import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.RedissonCacheKey;
import com.glxp.api.controller.BaseController;
import com.glxp.api.http.ErpBasicClient;
import com.glxp.api.req.basic.BasicSkSickerRequest;
import com.glxp.api.req.basic.GetSickRequest;
import com.glxp.api.res.PageSimpleResponse;
@ -30,7 +31,8 @@ public class BasicSickerController extends BaseController {
@Resource
BasicSkSickerService basicSkSickerService;
@Resource
ErpBasicClient erpBasicClient;
@GetMapping("/udiwms/basic/sk/sicker/filter")
public BaseResponse filterSicker(BasicSkSickerRequest basicSkSickerRequest) {
@ -51,6 +53,17 @@ public class BasicSickerController extends BaseController {
return ResultVOUtils.success(pageSimpleResponse);
}
/**
* 线
*
* @return
*/
@GetMapping("/udiwms/basic/sk/sicker/filter/onLine")
public BaseResponse filterSickerOnLine(GetSickRequest getSickRequest) {
return erpBasicClient.getSicker(getSickRequest);
}
@CusRedissonAnnotation(cacheName = RedissonCacheKey.DL_SICKER, key = {"#getSickRequest.thirdSys"}, waitTime = 3, timeOutMsg = "后台正在下载,请勿重复提交")
@PostMapping("/udiwms/basic/sk/sicker/download")
public BaseResponse sickerDl(@RequestBody GetSickRequest getSickRequest, BindingResult bindingResult) {
@ -62,7 +75,7 @@ public class BasicSickerController extends BaseController {
basicSkSickerService.replaceBatchs(getSickRequest.getSelectSickers());
} else {
ThreadUtil.execAsync(() -> {
basicSkSickerService.downloadSicker(getSickRequest, null);
basicSkSickerService.downloadSicker(getSickRequest, 1);
});
}
return ResultVOUtils.success("后台已开始下载,请稍后刷新查看!");

@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.core.toolkit.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.glxp.api.util.BeanCopyUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.ibatis.binding.MapperMethod;
import org.apache.ibatis.logging.Log;
import org.apache.ibatis.logging.LogFactory;
@ -314,7 +315,8 @@ public interface BaseMapperPlus<M, T, V> extends BaseMapper<T> {
}
}
} catch (Exception e) {
log.error("replaceBatch fail", e);
e.printStackTrace();
log.error("replaceBatch fail" + ExceptionUtils.getStackTrace(e));
return false;
}
return true;

@ -3,6 +3,7 @@ package com.glxp.api.dao.basic;
import com.glxp.api.entity.basic.BasicSkPrescribeDiEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.req.basic.BasicSkPrescribeDiRequest;
import com.glxp.api.res.basic.BasicSkPrescribeDiResponse;
import java.util.List;
@ -11,7 +12,7 @@ import java.util.List;
*/
public interface BasicSkPrescribeDiMapper extends BaseMapper<BasicSkPrescribeDiEntity> {
List<BasicSkPrescribeDiEntity> filterList(BasicSkPrescribeDiRequest basicSkPrescribeDiRequest);
List<BasicSkPrescribeDiResponse> filterList(BasicSkPrescribeDiRequest basicSkPrescribeDiRequest);
}

@ -8,6 +8,7 @@ import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
*
@ -27,7 +28,7 @@ public class BasicSkPrescribeDiEntity implements Serializable {
*
*/
@TableField(value = "pId")
private Long pId;
private String pId;
/**
*
@ -54,11 +55,11 @@ public class BasicSkPrescribeDiEntity implements Serializable {
@TableField(value = "relId")
private Long relId;
/**
* DI
*/
@TableField(value = "nameCode")
private String nameCode;
// /**
// * DI标识
// */
// @TableField(value = "nameCode")
// private String nameCode;
/**
@ -128,6 +129,9 @@ public class BasicSkPrescribeDiEntity implements Serializable {
private BigDecimal amount;
@TableField(value = "updateTime")
private Date updateTime;
/**
*
*/

@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@ -114,6 +115,13 @@ public class BasicSkPrescribeItemEntity implements Serializable {
@TableField(value = "remark")
private String remark;
/**
*
*/
@TableField(value = "adNum")
private String adNum;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
}

File diff suppressed because one or more lines are too long

@ -48,6 +48,10 @@ public class BasicSkPrescribeDiRequest extends ListPageRequest {
*
*/
private String billNo;
private String nameCode;
private String cpmctymc;
private String ggxh;
private String unionCode;
}

@ -12,111 +12,109 @@ public class BasicSkPrescribeDiResponse {
/**
*
*/
@TableId(value = "id")
private Long id;
/**
*
*/
@TableField(value = "pId")
private Long pId;
/**
*
*/
@TableField(value = "sickerCode")
private String sickerCode;
/**
*
*/
@TableField(value = "prescribeCode")
private String prescribeCode;
/**
*
*/
@TableField(value = "adNum")
private String adNum;
/**
* id
*/
@TableField(value = "relId")
private Long relId;
/**
* DI
*/
@TableField(value = "nameCode")
private String nameCode;
private String diCode;
/**
*
*/
@TableField(value = "thrName")
private String thrName;
/**
*
*/
@TableField(value = "thrCode")
private String thrCode;
/**
*
*/
@TableField(value = "measureCount")
private String measureCount;
/**
*
*/
@TableField(value = "measureUnit")
private String measureUnit;
/**
*
*/
@TableField(value = "category")
private String category;
/**
*
*/
@TableField(value = "frequency")
private String frequency;
/**
*
*/
@TableField(value = "count")
private Integer count;
/**
*
*/
@TableField(value = "price")
private BigDecimal price;
/**
*
*/
@TableField(value = "ggxh")
private String ggxh;
/**
*
*/
@TableField(value = "remark")
private String remark;
/**
*
*/
@TableField(value = "amount")
private BigDecimal amount;
private String zczbhhzbapzbh;
private String manufactory;
private String cpmctymc;
/**
*
*/
private Integer realCount;
/**
*
*/
private BigDecimal realPrice;
}

@ -7,6 +7,7 @@ import com.glxp.api.entity.basic.BasicSkPrescribeDiEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.req.basic.BasicSkPrescribeDiRequest;
import com.glxp.api.req.basic.BasicSkPrescribeRequest;
import com.glxp.api.res.basic.BasicSkPrescribeDiResponse;
import com.glxp.api.res.basic.BasicSkPrescribeResponse;
import javax.annotation.Resource;
@ -18,9 +19,9 @@ import java.util.List;
*/
public interface BasicSkPrescribeDiService extends IService<BasicSkPrescribeDiEntity> {
List<BasicSkPrescribeDiEntity> filterList(BasicSkPrescribeDiRequest basicSkPrescribeDiRequest);
List<BasicSkPrescribeDiResponse> filterList(BasicSkPrescribeDiRequest basicSkPrescribeDiRequest);
List<BasicSkPrescribeDiEntity> findBySkAdNum(String adNum);
List<BasicSkPrescribeDiResponse> findBySkAdNum(String adNum);
}

@ -33,6 +33,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.basic.BasicSkPrescribeMapper;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
@ -66,6 +67,7 @@ public class BasicSkPrescribeService extends ServiceImpl<BasicSkPrescribeMapper,
int limit = 50;
request.setThirdSys("thirdId");
request.setLimit(limit);
int count = 1;
while (true) {
request.setPage(page);
BaseResponse<PageSimpleResponse<BasicSkPrescribeResponse>> baseResponse = erpBasicClient.getSickPrescribe(request);
@ -77,6 +79,7 @@ public class BasicSkPrescribeService extends ServiceImpl<BasicSkPrescribeMapper,
BeanUtil.copyProperties(item, basicSkPrescribeEntity);
basicSkPrescribeEntity.setSickerCode(item.getSickCode());
basicSkPrescribeEntity.setAdNum(request.getAdNum());
basicSkPrescribeEntity.setUpdateTime(LocalDateTime.now());
List<BasicSkPrescribeItemEntity> skPrescribeItemEntities = item.getItemList();
if (CollUtil.isNotEmpty(skPrescribeItemEntities)) {
basicSkPrescirbeDetailService.remove(new QueryWrapper<BasicSkPrescribeItemEntity>().eq("prescribeCode", item.getCode()));
@ -84,17 +87,22 @@ public class BasicSkPrescribeService extends ServiceImpl<BasicSkPrescribeMapper,
for (BasicSkPrescribeItemEntity skPrescribeItemEntity : skPrescribeItemEntities) {
skPrescribeItemEntity.setPrescribeCode(item.getCode());
skPrescribeItemEntity.setSickerCode(item.getSickCode());
skPrescribeItemEntity.setAdNum(basicSkPrescribeEntity.getAdNum());
skPrescribeItemEntity.setId(IdUtil.getSnowflakeNextId());
basicSkPrescirbeDetailService.save(skPrescribeItemEntity);
trSkPrescribeDi(skPrescribeItemEntity);
}
}
//todo 数据转换
basicSkPrescribeEntities.add(basicSkPrescribeEntity);
super.baseMapper.insertOrUpdate(basicSkPrescribeEntity);
});
if (list.size() >= limit && !baseResponse.getData().getTotal().equals(-666)) {
super.baseMapper.replaceBatchs(basicSkPrescribeEntities);
if (CollUtil.isEmpty(basicSkPrescribeEntities)) {
count++;
}
//往后顺延一页
if (count < 2) {
page++;
} else {
break;
@ -127,7 +135,9 @@ public class BasicSkPrescribeService extends ServiceImpl<BasicSkPrescribeMapper,
basicSkPrescribeDiEntity.setPrescribeCode(skPrescribeItemEntity.getPrescribeCode());
basicSkPrescribeDiEntity.setSickerCode(skPrescribeItemEntity.getSickerCode());
basicSkPrescribeDiEntity.setCount(IntUtil.value(skPrescribeItemEntity.getMeasureCount()));
basicSkPrescribeDiEntity.setMeasureCount(basicSkPrescribeDiEntity.getCount() + "");
basicSkPrescribeDiEntity.setMeasureUnit(skPrescribeItemEntity.getMeasureUnit());
basicSkPrescribeDiEntity.setPId(thrProductsEntity.getPrcitmcode());
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByThirdId(thrProductsEntity.getCode(), "thirdId");
basicSkPrescribeDiEntity.setAmount(skPrescribeItemEntity.getAmount());
basicSkPrescribeDiEntity.setRelId(udiRelevanceEntity.getId());
@ -135,6 +145,8 @@ public class BasicSkPrescribeService extends ServiceImpl<BasicSkPrescribeMapper,
basicSkPrescribeDiEntity.setThrName(thrProductsEntity.getName());
basicSkPrescribeDiEntity.setCategory(thrProductsEntity.getCplb());
basicSkPrescribeDiEntity.setGgxh(thrProductsEntity.getStandard());
basicSkPrescribeDiEntity.setAdNum(skPrescribeItemEntity.getAdNum());
basicSkPrescribeDiEntity.setUpdateTime(new Date());
basicSkPrescribeDiService.save(basicSkPrescribeDiEntity);
}
}

@ -14,6 +14,7 @@ import com.glxp.api.req.basic.GetSickRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.BasicSkProjectResponse;
import com.glxp.api.res.basic.BasicSkSickerResponse;
import com.glxp.api.util.IntUtil;
import com.glxp.api.util.RedisUtil;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -73,9 +74,12 @@ public class BasicSkSickerService extends ServiceImpl<BasicSkSickerMapper, Basic
}
public BaseResponse downloadSicker(GetSickRequest request, Integer startPage) {
int page = (int) redisUtil.get("thr_sicker_page");
int page = 1;
Integer thirdPage = redisUtil.getInt("thr_sicker_page");
if (thirdPage > 0)
page = IntUtil.value(thirdPage) - 1;
if (startPage != null)
page = 1;
page = startPage;
int limit = 50;
request.setThirdSys("thirdId");
request.setLimit(limit);
@ -90,14 +94,12 @@ public class BasicSkSickerService extends ServiceImpl<BasicSkSickerMapper, Basic
BasicSkSickerEntity basicSkSickerEntity = new BasicSkSickerEntity();
BeanUtil.copyProperties(item, basicSkSickerEntity);
//todo 数据转换
basicSkSickerEntities.add(basicSkSickerEntity);
});
if (list.size() >= limit && !baseResponse.getData().getTotal().equals(-666)) {
basicSkSickerMapper.replaceBatchs(basicSkSickerEntities);
page++;
redisUtil.set("thr_sicker_page", page);
} else {
break;
}

@ -7,9 +7,11 @@ import com.github.pagehelper.PageHelper;
import com.glxp.api.entity.basic.BasicSkPrescribeDiEntity;
import com.glxp.api.req.basic.BasicSkPrescribeDiRequest;
import com.glxp.api.req.basic.BasicSkPrescribeRequest;
import com.glxp.api.res.basic.BasicSkPrescribeDiResponse;
import com.glxp.api.res.basic.BasicSkPrescribeResponse;
import com.glxp.api.service.BasicSkPrescribeDiService;
import com.glxp.api.dao.basic.BasicSkPrescribeDiMapper;
import org.apache.regexp.RE;
import org.springframework.stereotype.Service;
import java.util.Collections;
@ -22,7 +24,7 @@ import java.util.List;
public class BasicSkPrescribeDiServiceImpl extends ServiceImpl<BasicSkPrescribeDiMapper, BasicSkPrescribeDiEntity>
implements BasicSkPrescribeDiService {
public List<BasicSkPrescribeDiEntity> filterList(BasicSkPrescribeDiRequest basicSkPrescribeDiRequest) {
public List<BasicSkPrescribeDiResponse> filterList(BasicSkPrescribeDiRequest basicSkPrescribeDiRequest) {
if (basicSkPrescribeDiRequest == null) {
return Collections.emptyList();
}
@ -30,15 +32,18 @@ public class BasicSkPrescribeDiServiceImpl extends ServiceImpl<BasicSkPrescribeD
int offset = (basicSkPrescribeDiRequest.getPage() - 1) * basicSkPrescribeDiRequest.getLimit();
PageHelper.offsetPage(offset, basicSkPrescribeDiRequest.getLimit());
}
List<BasicSkPrescribeDiEntity> data = super.baseMapper.filterList(basicSkPrescribeDiRequest);
List<BasicSkPrescribeDiResponse> data = super.baseMapper.filterList(basicSkPrescribeDiRequest);
return data;
}
@Override
public List<BasicSkPrescribeDiEntity> findBySkAdNum(String adNum) {
public List<BasicSkPrescribeDiResponse> findBySkAdNum(String adNum) {
if (StrUtil.isEmpty(adNum))
return Collections.emptyList();
return super.baseMapper.selectList(new QueryWrapper<BasicSkPrescribeDiEntity>().eq("adNum", adNum));
BasicSkPrescribeDiRequest basicSkPrescribeDiRequest = new BasicSkPrescribeDiRequest();
basicSkPrescribeDiRequest.setAdNum(adNum);
return filterList(basicSkPrescribeDiRequest);
}
}

@ -2,6 +2,7 @@ package com.glxp.api.service.inout;
import cn.hutool.core.bean.BeanUtil;
import com.glxp.api.entity.basic.*;
import com.glxp.api.res.basic.BasicSkPrescribeDiResponse;
import com.glxp.api.service.BasicSkPrescribeDiService;
import com.glxp.api.service.basic.*;
import com.glxp.api.service.inout.impl.IoCodeService;
@ -1196,11 +1197,11 @@ public class IoAddInoutService {
/**
* (
*/
public List<BasicSkPrescribeDiEntity> checkPrescirbe(List<IoOrderDetailCodeEntity> orderDetailCodeEntities, IoOrderEntity orderEntity) {
public List<BasicSkPrescribeDiResponse> checkPrescirbe(List<IoOrderDetailCodeEntity> orderDetailCodeEntities, IoOrderEntity orderEntity) {
List<BasicSkPrescribeDiEntity> skPrescribeDiEntities = basicSkPrescribeDiService.findBySkAdNum(orderEntity.getSickerAdNum());
List<BasicSkPrescribeDiResponse> skPrescribeDiEntities = basicSkPrescribeDiService.findBySkAdNum(orderEntity.getSickerAdNum());
if (skPrescribeDiEntities.size() > 0) {
for (BasicSkPrescribeDiEntity skPrescribeDiEntity : skPrescribeDiEntities) {
for (BasicSkPrescribeDiResponse skPrescribeDiEntity : skPrescribeDiEntities) {
for (IoOrderDetailCodeEntity orderDetailCodeEntity : orderDetailCodeEntities) {
if (IntUtil.value(skPrescribeDiEntity.getRelId()) == IntUtil.value(orderDetailCodeEntity.getBindRlFk())) {
skPrescribeDiEntity.setRealCount(IntUtil.value(skPrescribeDiEntity.getRealCount()) + IntUtil.value(orderDetailCodeEntity.getReCount()));

@ -11,12 +11,15 @@ import com.glxp.api.dao.system.SyncDataSetDao;
import com.glxp.api.dao.thrsys.ThrSystemDetailDao;
import com.glxp.api.entity.system.ScheduledEntity;
import com.glxp.api.entity.thrsys.ThrSystemDetailEntity;
import com.glxp.api.req.basic.GetSickRequest;
import com.glxp.api.req.system.ScheduledRequest;
import com.glxp.api.res.thrsys.ThirdSysInterfaceExecuteVo;
import com.glxp.api.service.basic.BasicSkSickerService;
import com.glxp.api.service.inout.IoOrderService;
import com.glxp.api.service.thrsys.*;
import com.glxp.api.util.RedisUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.EnableScheduling;
@ -126,8 +129,13 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
downloadThrOrder(thrSystemDetailEntity);
break;
case ThirdSysConstant.PI_SUBMIT_URL:
//提交产品信息
postRelProduct(thrSystemDetailEntity);
break;
case ThirdSysConstant.SICKER_QUERY_URL:
//下载患者信息
downloadSicker(thrSystemDetailEntity);
break;
default:
//其他接口暂不处理
break;
@ -152,7 +160,7 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
try {
orderService.submitOrderToThrSys(thrSystemDetailEntity);
} catch (Exception e) {
log.error("提交单据到第三方系统异常", e);
log.error("提交单据到第三方系统异常", ExceptionUtils.getStackTrace(e));
} finally {
updateTask(getTaskKey(thrSystemDetailEntity));
}
@ -174,7 +182,7 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
try {
thrBusTypeOriginService.downloadThrBusType(thrSystemDetailEntity);
} catch (Exception e) {
log.error("下载第三方单据类型异常", e);
log.error("下载第三方单据类型异常", ExceptionUtils.getStackTrace(e));
} finally {
updateTask(getTaskKey(thrSystemDetailEntity));
}
@ -196,7 +204,7 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
try {
thrProductsService.downloadThrPi(thrSystemDetailEntity);
} catch (Exception e) {
log.error("下载第三方产品信息异常", e);
log.error("下载第三方产品信息异常", ExceptionUtils.getStackTrace(e));
} finally {
updateTask(getTaskKey(thrSystemDetailEntity));
}
@ -218,7 +226,7 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
try {
thrCorpService.downloadThrCorp(thrSystemDetailEntity);
} catch (Exception e) {
log.error("下载第三方往来单位异常", e);
log.error("下载第三方往来单位异常", ExceptionUtils.getStackTrace(e));
} finally {
updateTask(getTaskKey(thrSystemDetailEntity));
}
@ -240,7 +248,7 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
try {
thrInvWarehouseService.downloadThrInv(thrSystemDetailEntity);
} catch (Exception e) {
log.error("下载第三方仓库信息异常", e);
log.error("下载第三方仓库信息异常", ExceptionUtils.getStackTrace(e));
} finally {
//保证任务标识一定会被修改回去
updateTask(getTaskKey(thrSystemDetailEntity));
@ -263,7 +271,7 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
try {
thrOrderService.downloadThrOrder(thrSystemDetailEntity);
} catch (Exception e) {
log.error("下载第三方业务单据", e);
log.error("下载第三方业务单据", ExceptionUtils.getStackTrace(e));
} finally {
updateTask(getTaskKey(thrSystemDetailEntity));
}
@ -285,7 +293,7 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
try {
thrProductsService.uploadThrProduct(thrSystemDetailEntity);
} catch (Exception e) {
log.error("开始上传关联第三方产品信息", e);
log.error("开始上传关联第三方产品信息", ExceptionUtils.getStackTrace(e));
} finally {
updateTask(getTaskKey(thrSystemDetailEntity));
}
@ -294,6 +302,31 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
}
}
@Resource
BasicSkSickerService skSickerService;
/**
*
*/
private void downloadSicker(ThrSystemDetailEntity thrSystemDetailEntity) {
//校验任务并更新redis数据执行标识
if (verifyTask(thrSystemDetailEntity)) {
getExecutor().submit(() -> {
log.info("开始下载患者信息");
try {
skSickerService.downloadSicker(new GetSickRequest(), null);
} catch (Exception e) {
log.error("开始下载患者信息", ExceptionUtils.getStackTrace(e));
} finally {
updateTask(getTaskKey(thrSystemDetailEntity));
}
log.info("开始下载患者信息完成");
});
}
}
/**
*
*

@ -101,11 +101,21 @@ public class RedisUtil {
return key == null ? null : redisTemplate.opsForValue().get(key);
}
public Integer getInt(String key) {
if (key == null)
return 0;
Object value = redisTemplate.opsForValue().get(key);
if (value != null) {
return IntUtil.value((String) value);
}
return 0;
}
/**
* json
*
* @param key
* @param t
* @return
*/
public String getJSON(String key) {
@ -602,8 +612,6 @@ public class RedisUtil {
}
/**
* key
*

@ -21,29 +21,13 @@
<result property="remark" column="remark" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
id,
pId,
sickerCode,
prescribeCode,
relId,
thrName,
thrCode,
measureCount,
measureUnit,
category,
frequency,
count,
price,
ggxh,
remark
</sql>
<select id="filterList" parameterType="com.glxp.api.req.basic.BasicSkPrescribeDiRequest"
resultType="com.glxp.api.res.basic.BasicSkPrescribeDiResponse">
SELECT *
FROM basic_sk_prescribe_item_detail
SELECT bspid.*, bp.nameCode diCode, bp.zczbhhzbapzbh, bp.manufactory
FROM basic_sk_prescribe_item_detail bspid
left join basic_udirel bu on bspid.relId = bu.id
left join basic_products bp on bu.uuid = bp.uuid
<where>
<if test="sickerCode != '' and sickerCode != null">
AND sickerCode LIKE concat('%', #{sickerCode}, '%')
@ -51,16 +35,27 @@
<if test="prescribeCode != null and prescribeCode != ''">
AND prescribeCode = #{prescribeCode}
</if>
<if test="adNum != null and adNum != ''">
AND adNum = #{adNum}
</if>
<if test="relId != null and relId != ''">
AND relId = #{relId}
</if>
<if test="thrName != null and thrName != ''">
AND thrName = #{thrName}
AND thrName LIKE concat('%', #{thrName}, '%')
</if>
<if test="unionCode != '' and unionCode != null">
and (
bp.nameCode LIKE concat('%', #{unionCode}, '%')
or bp.ybbm LIKE concat('%', #{unionCode}, '%')
or bp.sptm LIKE concat('%', #{unionCode}, '%'))
</if>
<if test="cpmctymc != '' and cpmctymc != null">
AND cpmctymc LIKE concat('%', #{cpmctymc}, '%')
</if>
<if test="thrCode != null and thrCode != ''">
AND thrCode = #{thrCode}
<if test="ggxh != '' and ggxh != null">
AND ggxh LIKE concat('%', #{ggxh}, '%')
</if>
</where>
order by prescribeDate
</select>
</mapper>

@ -171,3 +171,7 @@ CALL Pro_Temp_ColumnWork('basic_sk_prescribe_item_detail', 'adNum', 'varchar(255
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'vailPrescribe', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'inputSick', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('io_order', 'sickerAdNum', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('basic_sk_prescribe_item_detail', 'pId', 'varchar(255)', 2);
CALL Pro_Temp_ColumnWork('basic_sk_prescribe_item_detail', 'updateTime', 'datetime', 1);

Loading…
Cancel
Save