手动补救有些码没拉到关联关系

dev_fifo_z
qiuyt 4 months ago
parent 234177ec75
commit 7937b1fa73

@ -0,0 +1,64 @@
package com.glxp.api.controller.alihealth;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.Log;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.BusinessType;
import com.glxp.api.controller.BaseController;
import com.glxp.api.dao.collect.IoCollectCodeBackMapper;
import com.glxp.api.entity.collect.IoCollectCodeBackup;
import com.glxp.api.http.sync.SpGetHttpClient;
import com.glxp.api.req.alihealth.local.AlihealthGetRelCodeReqeust;
import com.glxp.api.req.collect.IoCollectCodeRequest;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Slf4j
@RestController
public class AlihealthBusController extends BaseController {
@Resource
private IoCollectCodeBackMapper ioCollectCodeBackMapper;
@Resource
private SpGetHttpClient spGetHttpClient;
/**
*
*
* @return
*/
@PostMapping("/spms/alihealth/getAliCode")
@Log(title = "获取阿里药品的采购单码明细", businessType = BusinessType.OTHER)
public BaseResponse getAliCode() {
List<IoCollectCodeBackup> list = ioCollectCodeBackMapper.filterNotRelCode(new IoCollectCodeRequest());
if(list!=null && list.size() >1){
AlihealthGetRelCodeReqeust alihealthGetRelCodeReqeust = new AlihealthGetRelCodeReqeust();
alihealthGetRelCodeReqeust.setIoCollectCodeBackupList(list);
BaseResponse baseResponse = spGetHttpClient.getAliCode(alihealthGetRelCodeReqeust);
return baseResponse;
}else {
return ResultVOUtils.success("没有需要调用关联关系的码列表");
}
}
}

@ -1651,6 +1651,9 @@ public class IoCodeTempController extends BaseController {
codeEnttity.setBatchNo(codeMan.getBatchNo());
codeEnttity.setProduceDate(codeMan.getProductDate());
codeEnttity.setExpireDate(codeMan.getExpireDate());
}else {
//三期补救
}
RelCodeDetailResponse codeRelEntity = relCodeDetailService.findByCode(code);

@ -12,4 +12,7 @@ import java.util.List;
public interface IoCollectCodeBackMapper extends BaseMapper<IoCollectCodeBackup> {
List<IoCollectCodeResponse> filterList(IoCollectCodeRequest ioCollectCodeRequest);
List<IoCollectCodeBackup> filterNotRelCode(IoCollectCodeRequest ioCollectCodeRequest);
}

@ -20,6 +20,7 @@ import com.glxp.api.entity.system.SyncDataSetEntity;
import com.glxp.api.entity.thrsys.ThirdAliDrug;
import com.glxp.api.idc.service.FileService;
import com.glxp.api.req.alihealth.AlihealthRelCodeInsertReqeust;
import com.glxp.api.req.alihealth.local.AlihealthGetRelCodeReqeust;
import com.glxp.api.req.alihealth.local.AlihealthThirdAliDrugInsertReqeust;
import com.glxp.api.req.basic.BasicDataRequest;
import com.glxp.api.req.basic.DeleteBasicDataRequest;
@ -684,4 +685,15 @@ public class SpGetHttpClient {
}
return response;
}
public BaseResponse getAliCode(AlihealthGetRelCodeReqeust alihealthGetRelCodeReqeust) {
String json = JSONUtil.toJsonStr(alihealthGetRelCodeReqeust);
String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/spms/alihealth/getAliCode", json, buildHeader());
BaseResponse response =
JSONObject.parseObject(result, new TypeReference<BaseResponse>() {
});
if(response == null){
return ResultVOUtils.error("访问供应商平台访问不到");
}
return response;
}
}

@ -0,0 +1,12 @@
package com.glxp.api.req.alihealth.local;
import com.glxp.api.entity.collect.IoCollectCodeBackup;
import lombok.Data;
import java.util.List;
@Data
public class AlihealthGetRelCodeReqeust {
private List<IoCollectCodeBackup> ioCollectCodeBackupList;
}

@ -45,4 +45,14 @@
group by iccb.id
order by bp.nameCode,iccb.code
</select>
<select id="filterNotRelCode" resultType="com.glxp.api.entity.collect.IoCollectCodeBackup">
select * from io_collect_code_backup a where EXISTS(
select * from basic_products b where LEFT(a.code, 7) = b.nameCode and packLevel >1
) and not EXISTS (select 1 from rel_code_detail c where c.parentCode = a.code)
<if test="fromCorp != null and fromCorp != ''">
AND iccb.fromCorp LIKE concat('%', #{fromCorp}, '%')
</if>
</select>
</mapper>

Loading…
Cancel
Save