feat: 修复
parent
8c94f1db23
commit
67e4600796
@ -0,0 +1,17 @@
|
|||||||
|
package com.glxp.api.dao.thrsys;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.glxp.api.entity.thrsys.YbDrug;
|
||||||
|
import com.glxp.api.req.basic.YbDrugDetailFilterRequest;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface YbDrugMapper extends BaseMapper<YbDrug> {
|
||||||
|
|
||||||
|
void batchSaveOrUpdateByGoodsCode(@Param("list")List<YbDrug> ybHcflEntities);
|
||||||
|
|
||||||
|
List<YbDrug> list(YbDrugDetailFilterRequest param);
|
||||||
|
}
|
@ -0,0 +1,149 @@
|
|||||||
|
package com.glxp.api.entity.thrsys;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 药品
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName(value = "yb_drug")
|
||||||
|
public class YbDrug implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统一社会信用代码
|
||||||
|
*/
|
||||||
|
@TableField(value = "businessLicense")
|
||||||
|
private String businessLicense;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 公司名称
|
||||||
|
*/
|
||||||
|
@TableField(value = "companyNameSc")
|
||||||
|
private String companyNameSc;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 注批准文号
|
||||||
|
*/
|
||||||
|
@TableField(value = "approvalCode")
|
||||||
|
private String approvalCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 药品本位码
|
||||||
|
*/
|
||||||
|
@TableField(value = "goodsStandardCode")
|
||||||
|
private String goodsStandardCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* baseId
|
||||||
|
*/
|
||||||
|
@TableField(value = "baseId")
|
||||||
|
private String baseId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品名
|
||||||
|
*/
|
||||||
|
@TableField(value = "productName")
|
||||||
|
private String productName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品分类码
|
||||||
|
*/
|
||||||
|
@TableField(value = "productMedicinemodel")
|
||||||
|
private String productMedicinemodel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 注册名称
|
||||||
|
*/
|
||||||
|
@TableField(value = "registeredProductName")
|
||||||
|
private String registeredProductName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 药品企业
|
||||||
|
*/
|
||||||
|
@TableField(value = "listingHolder")
|
||||||
|
private String listingHolder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 注册剂型
|
||||||
|
*/
|
||||||
|
@TableField(value = "registeredMedicinemodel")
|
||||||
|
private String registeredMedicinemodel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 最小制剂单位
|
||||||
|
*/
|
||||||
|
@TableField(value = "minUnit")
|
||||||
|
private String minUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 最小包装数量
|
||||||
|
*/
|
||||||
|
@TableField(value = "factor")
|
||||||
|
private Integer factor;
|
||||||
|
|
||||||
|
@TableField(value = "goodsName")
|
||||||
|
private String goodsName;
|
||||||
|
|
||||||
|
@TableField(value = "dataSouce")
|
||||||
|
private String dataSouce;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格
|
||||||
|
*/
|
||||||
|
@TableField(value = "realityOutlook")
|
||||||
|
private String realityOutlook;
|
||||||
|
|
||||||
|
@TableField(value = "productRemark")
|
||||||
|
private String productRemark;
|
||||||
|
|
||||||
|
@TableField(value = "subpackager")
|
||||||
|
private String subpackager;
|
||||||
|
|
||||||
|
@TableField(value = "version")
|
||||||
|
private String version;
|
||||||
|
|
||||||
|
@TableField(value = "productInsuranceType")
|
||||||
|
private String productInsuranceType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 剂型
|
||||||
|
*/
|
||||||
|
@TableField(value = "realityMedicinemodel")
|
||||||
|
private String realityMedicinemodel;
|
||||||
|
|
||||||
|
@TableField(value = "marketState")
|
||||||
|
private String marketState;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 包装材质
|
||||||
|
*/
|
||||||
|
@TableField(value = "materialName")
|
||||||
|
private String materialName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 最小包装单位
|
||||||
|
*/
|
||||||
|
@TableField(value = "unit")
|
||||||
|
private String unit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 注册规格
|
||||||
|
*/
|
||||||
|
@TableField(value = "registeredOutlook")
|
||||||
|
private String registeredOutlook;
|
||||||
|
|
||||||
|
@TableField(value = "productCode")
|
||||||
|
private String productCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 药品代码
|
||||||
|
*/
|
||||||
|
@TableField(value = "goodsCode")
|
||||||
|
private String goodsCode;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package com.glxp.api.req.basic;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import org.hibernate.validator.constraints.Length;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class YbDrugDetailFilterRequest {
|
||||||
|
|
||||||
|
|
||||||
|
private String goodsCode;
|
||||||
|
|
||||||
|
private Integer page;
|
||||||
|
private Integer limit;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,34 @@
|
|||||||
|
package com.glxp.api.service.thrsys;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import com.glxp.api.common.res.BaseResponse;
|
||||||
|
import com.glxp.api.dao.thrsys.YbDrugMapper;
|
||||||
|
import com.glxp.api.entity.thrsys.YbDrug;
|
||||||
|
import com.glxp.api.http.ErpBasicClient;
|
||||||
|
import com.glxp.api.req.basic.YbDrugDetailFilterRequest;
|
||||||
|
import com.glxp.api.res.PageSimpleResponse;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class YbDrugService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
YbDrugMapper ybDrugMapper;
|
||||||
|
@Resource
|
||||||
|
ErpBasicClient erpBasicClient;
|
||||||
|
|
||||||
|
public List<YbDrug> getList(YbDrugDetailFilterRequest ybHcflDetailFilterRequest) {
|
||||||
|
List<YbDrug> list = ybDrugMapper.list(ybHcflDetailFilterRequest);
|
||||||
|
if (CollUtil.isEmpty(list)){
|
||||||
|
BaseResponse<PageSimpleResponse<YbDrug>> ybDrugDetail = erpBasicClient.getYbDrugDetail(ybHcflDetailFilterRequest);
|
||||||
|
PageSimpleResponse<YbDrug> data = ybDrugDetail.getData();
|
||||||
|
List<YbDrug> list1 = data.getList();
|
||||||
|
ybDrugMapper.batchSaveOrUpdateByGoodsCode(list1);
|
||||||
|
return list1;
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,135 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.glxp.api.dao.thrsys.YbDrugMapper">
|
||||||
|
|
||||||
|
<!-- 自定义批量保存数据-->
|
||||||
|
<insert id="batchSaveOrUpdateByGoodsCode" parameterType="int">
|
||||||
|
INSERT INTO
|
||||||
|
yb_drug
|
||||||
|
(
|
||||||
|
businessLicense,
|
||||||
|
companyNameSc,
|
||||||
|
approvalCode,
|
||||||
|
goodsStandardCode,
|
||||||
|
baseId,
|
||||||
|
productName,
|
||||||
|
productMedicinemodel,
|
||||||
|
registeredProductName,
|
||||||
|
listingHolder,
|
||||||
|
registeredMedicinemodel,
|
||||||
|
minUnit,
|
||||||
|
factor,
|
||||||
|
goodsName,
|
||||||
|
dataSouce,
|
||||||
|
realityOutlook,
|
||||||
|
productRemark,
|
||||||
|
subpackager,
|
||||||
|
version,
|
||||||
|
productInsuranceType,
|
||||||
|
realityMedicinemodel,
|
||||||
|
marketState,
|
||||||
|
materialName,
|
||||||
|
unit,
|
||||||
|
registeredOutlook,
|
||||||
|
productCode,
|
||||||
|
goodsCode
|
||||||
|
)
|
||||||
|
VALUES
|
||||||
|
<foreach collection="list" item="item" separator=",">
|
||||||
|
(
|
||||||
|
#{item.businessLicense},
|
||||||
|
#{item.companyNameSc},
|
||||||
|
#{item.approvalCode},
|
||||||
|
#{item.goodsStandardCode},
|
||||||
|
#{item.baseId},
|
||||||
|
#{item.productName},
|
||||||
|
#{item.productMedicinemodel},
|
||||||
|
#{item.registeredProductName},
|
||||||
|
#{item.listingHolder},
|
||||||
|
#{item.registeredMedicinemodel},
|
||||||
|
#{item.minUnit},
|
||||||
|
#{item.factor},
|
||||||
|
#{item.goodsName},
|
||||||
|
#{item.dataSouce},
|
||||||
|
#{item.realityOutlook},
|
||||||
|
#{item.productRemark},
|
||||||
|
#{item.subpackager},
|
||||||
|
#{item.version},
|
||||||
|
#{item.productInsuranceType},
|
||||||
|
#{item.realityMedicinemodel},
|
||||||
|
#{item.marketState},
|
||||||
|
#{item.materialName},
|
||||||
|
#{item.unit},
|
||||||
|
#{item.registeredOutlook},
|
||||||
|
#{item.productCode},
|
||||||
|
#{item.goodsCode}
|
||||||
|
)
|
||||||
|
</foreach>
|
||||||
|
ON DUPLICATE KEY UPDATE
|
||||||
|
businessLicense = VALUES(businessLicense),
|
||||||
|
companyNameSc = VALUES(companyNameSc),
|
||||||
|
approvalCode = VALUES(approvalCode),
|
||||||
|
goodsStandardCode = VALUES(goodsStandardCode),
|
||||||
|
baseId = VALUES(baseId),
|
||||||
|
productName = VALUES(productName),
|
||||||
|
productMedicinemodel = VALUES(productMedicinemodel),
|
||||||
|
registeredProductName = VALUES(registeredProductName),
|
||||||
|
listingHolder= VALUES(listingHolder),
|
||||||
|
registeredMedicinemodel = VALUES(registeredMedicinemodel),
|
||||||
|
minUnit = VALUES(minUnit),
|
||||||
|
factor = VALUES(factor),
|
||||||
|
goodsName = VALUES(goodsName),
|
||||||
|
dataSouce = VALUES(dataSouce),
|
||||||
|
realityOutlook = VALUES(realityOutlook),
|
||||||
|
productRemark = VALUES(productRemark),
|
||||||
|
subpackager = VALUES(subpackager),
|
||||||
|
version = VALUES(version),
|
||||||
|
productInsuranceType = VALUES(productInsuranceType),
|
||||||
|
realityMedicinemodel = VALUES(realityMedicinemodel),
|
||||||
|
marketState = VALUES(marketState),
|
||||||
|
materialName = VALUES(materialName),
|
||||||
|
unit = VALUES(unit),
|
||||||
|
registeredOutlook = VALUES(registeredOutlook),
|
||||||
|
productCode = VALUES(productCode),
|
||||||
|
goodsCode = VALUES(goodsCode)
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="list" resultType="com.glxp.api.entity.thrsys.YbDrug" parameterType="com.glxp.api.entity.thrsys.YbDrug">
|
||||||
|
select
|
||||||
|
businessLicense,
|
||||||
|
companyNameSc,
|
||||||
|
approvalCode,
|
||||||
|
goodsStandardCode,
|
||||||
|
baseId,
|
||||||
|
productName,
|
||||||
|
productMedicinemodel,
|
||||||
|
registeredProductName,
|
||||||
|
listingHolder,
|
||||||
|
registeredMedicinemodel,
|
||||||
|
minUnit,
|
||||||
|
factor,
|
||||||
|
goodsName,
|
||||||
|
dataSouce,
|
||||||
|
realityOutlook,
|
||||||
|
productRemark,
|
||||||
|
subpackager,
|
||||||
|
version,
|
||||||
|
productInsuranceType,
|
||||||
|
realityMedicinemodel,
|
||||||
|
marketState,
|
||||||
|
materialName,
|
||||||
|
unit,
|
||||||
|
registeredOutlook,
|
||||||
|
productCode,
|
||||||
|
goodsCode
|
||||||
|
from yb_drug
|
||||||
|
<where>
|
||||||
|
<if test="goodsCode != '' and goodsCode != null">
|
||||||
|
and goodsCode like concat(#{goodsCode},'%')
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
order by goodsCode DESC
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
Loading…
Reference in New Issue