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