From 67e4600796bf5fc2223c5cade92ef902c7efe4c7 Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Tue, 24 Sep 2024 16:20:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/UdiRelevanceController.java | 19 +++ .../inout/IoCodeTempController.java | 8 + .../com/glxp/api/dao/thrsys/YbDrugMapper.java | 17 ++ .../com/glxp/api/entity/thrsys/YbDrug.java | 149 ++++++++++++++++++ .../com/glxp/api/http/ErpBasicClient.java | 28 +++- .../req/basic/YbDrugDetailFilterRequest.java | 15 ++ .../api/service/basic/UdiContrastService.java | 71 ++++----- .../collect/IoCollectOriginService.java | 9 ++ .../api/service/thrsys/YbDrugService.java | 34 ++++ .../mybatis/mapper/thrsys/YbDrugMapper.xml | 135 ++++++++++++++++ 10 files changed, 438 insertions(+), 47 deletions(-) create mode 100644 src/main/java/com/glxp/api/dao/thrsys/YbDrugMapper.java create mode 100644 src/main/java/com/glxp/api/entity/thrsys/YbDrug.java create mode 100644 src/main/java/com/glxp/api/req/basic/YbDrugDetailFilterRequest.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/YbDrugService.java create mode 100644 src/main/resources/mybatis/mapper/thrsys/YbDrugMapper.xml diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java index f396ea570..48abd3534 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java @@ -3,10 +3,12 @@ package com.glxp.api.controller.basic; import cn.hutool.core.bean.BeanUtil; import com.glxp.api.dao.basic.UdiRelevanceDao; import com.glxp.api.dto.DictDto; +import com.glxp.api.entity.thrsys.YbDrug; import com.glxp.api.http.ErpBasicClient; import com.glxp.api.res.chs.YbHcflEntityResponse; import com.glxp.api.service.inout.impl.IoCodeService; import com.glxp.api.service.inv.impl.InvProductService; +import com.glxp.api.service.thrsys.YbDrugService; import org.springframework.beans.BeanUtils; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; @@ -81,6 +83,8 @@ public class UdiRelevanceController extends BaseController { UdiRelevanceDao udiRelevanceDao; @Resource ErpBasicClient erpBasicClient; + @Resource + YbDrugService ybDrugService; //手持终端下载UDI产品信息 @@ -847,4 +851,19 @@ public class UdiRelevanceController extends BaseController { } + //国家库医保编码获取医保药品详情 + @PostMapping("/udi/udirel/ybDrugDetail") + public BaseResponse ybDrugDetail(@RequestBody @Valid YbDrugDetailFilterRequest ybHcflDetailFilterRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List list = ybDrugService.getList(ybHcflDetailFilterRequest); + if (list.size() > 0) { + return ResultVOUtils.success(list.get(0)); + } + return ResultVOUtils.success(null); + } + + + } diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index 783b24a40..45b0ef634 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -6,6 +6,7 @@ import com.glxp.api.constant.*; import com.glxp.api.entity.basic.*; import com.glxp.api.entity.collect.IoCollectCode; import com.glxp.api.entity.collect.IoCollectOrder; +import com.glxp.api.entity.collect.IoCollectOrderOrigin; import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.exception.JsonException; import com.glxp.api.req.collect.CollectOrderRequest; @@ -165,6 +166,13 @@ public class IoCodeTempController extends BaseController { collectOrder = collectOrderService.unionSearch(null, null, code); //=============================================// if (collectOrder == null) { + //查询原始单据查到为异常提示 + IoCollectOrderOrigin ioCollectOrigin = collectOriginService.getOrderByCode(code); + if (ioCollectOrigin != null){ + BaseResponse response = ResultVOUtils.error(501, "单据已下载,转化异常"); + response.setData(code); + return response; + } BaseResponse response = ResultVOUtils.error(501, "查无此单据号,先选择要处理的单据"); response.setData(code); return response; diff --git a/src/main/java/com/glxp/api/dao/thrsys/YbDrugMapper.java b/src/main/java/com/glxp/api/dao/thrsys/YbDrugMapper.java new file mode 100644 index 000000000..fc511c0e1 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/thrsys/YbDrugMapper.java @@ -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 { + + void batchSaveOrUpdateByGoodsCode(@Param("list")List ybHcflEntities); + + List list(YbDrugDetailFilterRequest param); +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/thrsys/YbDrug.java b/src/main/java/com/glxp/api/entity/thrsys/YbDrug.java new file mode 100644 index 000000000..a41f5cb7f --- /dev/null +++ b/src/main/java/com/glxp/api/entity/thrsys/YbDrug.java @@ -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; + + +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/http/ErpBasicClient.java b/src/main/java/com/glxp/api/http/ErpBasicClient.java index 4921898d6..e5debdfcb 100644 --- a/src/main/java/com/glxp/api/http/ErpBasicClient.java +++ b/src/main/java/com/glxp/api/http/ErpBasicClient.java @@ -11,17 +11,11 @@ import com.glxp.api.entity.basic.BasicSkProjectDetailEntity; import com.glxp.api.entity.basic.BasicSkProjectEntity; import com.glxp.api.entity.basic.BasicSkSickerEntity; import com.glxp.api.entity.collect.IoCollectOrder; -import com.glxp.api.entity.thrsys.ThrManufacturerEntity; -import com.glxp.api.entity.thrsys.ThrOrderEntity; -import com.glxp.api.entity.thrsys.ThrSystemBusApiEntity; -import com.glxp.api.entity.thrsys.ThrSystemEntity; +import com.glxp.api.entity.thrsys.*; import com.glxp.api.exception.JsonException; import com.glxp.api.http.req.UdiwmsBusTypeRequest; import com.glxp.api.http.req.UdiwmsUnitRequest; -import com.glxp.api.req.basic.DlThirdDestinyRequest; -import com.glxp.api.req.basic.GetSickPrescribeRequest; -import com.glxp.api.req.basic.GetSickRequest; -import com.glxp.api.req.basic.YbHcflDetailFilterRequest; +import com.glxp.api.req.basic.*; import com.glxp.api.req.collect.PostCollectOrderRequest; import com.glxp.api.req.inout.PostOrderRequest; import com.glxp.api.req.thrsys.*; @@ -433,4 +427,22 @@ public class ErpBasicClient { return ResultVOUtils.error(500, "连接第三方系统接口服务出错"); } } + + + /** + * 医保药品详情 + */ + public BaseResponse> getYbDrugDetail(YbDrugDetailFilterRequest ybHcflDetailFilterRequest) { + String url = "https://www.udims.com/UDI_DL_Server_test" + "/udchs/ybDrug/list"; + try { + String response = httpOkClient.uCloudPost(url, ybHcflDetailFilterRequest); + BaseResponse> listBaseResponse = + JSONObject.parseObject(response, new TypeReference>>() { + }); + return listBaseResponse; + } catch (Exception e) { + log.error("医保药品详情", e); + return ResultVOUtils.error(500, "连接第三方系统接口服务出错"); + } + } } diff --git a/src/main/java/com/glxp/api/req/basic/YbDrugDetailFilterRequest.java b/src/main/java/com/glxp/api/req/basic/YbDrugDetailFilterRequest.java new file mode 100644 index 000000000..b76aefaa9 --- /dev/null +++ b/src/main/java/com/glxp/api/req/basic/YbDrugDetailFilterRequest.java @@ -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; + +} diff --git a/src/main/java/com/glxp/api/service/basic/UdiContrastService.java b/src/main/java/com/glxp/api/service/basic/UdiContrastService.java index ec1cf7da0..3652c6efe 100644 --- a/src/main/java/com/glxp/api/service/basic/UdiContrastService.java +++ b/src/main/java/com/glxp/api/service/basic/UdiContrastService.java @@ -1,12 +1,16 @@ package com.glxp.api.service.basic; +import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.entity.thrsys.BasicInsDrugEntity; import com.glxp.api.entity.thrsys.BasicInsMaterialEntity; +import com.glxp.api.entity.thrsys.YbDrug; import com.glxp.api.exception.JsonException; +import com.glxp.api.req.basic.YbDrugDetailFilterRequest; import com.glxp.api.req.thrsys.ThrInsDrugFeeRequest; import com.glxp.api.req.thrsys.ThrInsMaterialFeeRequest; import com.glxp.api.service.thrsys.BasicInsDrugService; import com.glxp.api.service.thrsys.BasicInsMaterialService; +import com.glxp.api.service.thrsys.YbDrugService; import com.glxp.api.util.IntUtil; import org.apache.xmlbeans.impl.xb.xsdschema.Public; import org.aspectj.weaver.ast.Var; @@ -62,6 +66,8 @@ public class UdiContrastService { @Resource BasicInsMaterialService basicInsMaterialService; + @Resource + YbDrugService ybDrugService; public boolean isExit(String originUuid, String mainId, String thirdSys) { @@ -265,52 +271,40 @@ public class UdiContrastService { udiRelevanceEntity.setAutoCode(true); udiRelevanceEntity.setIsDisable(false); - BasicInsDrugEntity basicInsDrugEntity = null; BasicInsMaterialEntity basicInsMaterialEntity = null; if (thrProductsEntity.getYbbm() != null) { //判断药品还是器械 if (thrProductsEntity.getProductType() == 2) { ThrInsDrugFeeRequest thrInsDrugFeeRequest = new ThrInsDrugFeeRequest(); thrInsDrugFeeRequest.setMedCatalogCode(thrProductsEntity.getYbbm()); - List basicInsDrugEntities = basicInsDrugService.filterList(thrInsDrugFeeRequest); - Collections.sort(basicInsDrugEntities, (o1, o2) -> o1.getTradeName().compareTo(o2.getTradeName())); - List filteredEntities = basicInsDrugEntities.stream() - .filter(entity -> entity.getGenericName() != null) // 过滤掉 genericName 为 null 的元素 - .collect(Collectors.toList()); - if (filteredEntities.size() > 0) { - basicInsDrugEntity = filteredEntities.get(0); - } else { - Boolean aBoolean = insertProduct(thrProductsEntity, basicInsMaterialEntity, udiRelevanceEntity); - if (!aBoolean) { - throw new JsonException(500, "系统繁忙"); - } - return; - } - int packLevel = 1; // 初始化计数器 - //循环插入 - for (BasicInsDrugEntity basicInsDrug : basicInsDrugEntities) { - UdiProductEntity udiProductEntity = new UdiProductEntity(); - BeanUtils.copyProperties(thrProductsEntity, udiProductEntity); - udiProductEntity.setId(IdUtil.getSnowflakeNextId()); - udiProductEntity.setNameCode(basicInsDrug.getTradeName()); - udiProductEntity.setPrepnSpec(basicInsDrug.getPackagingSpec() != null ? basicInsDrug.getPackagingSpec() : basicInsDrugEntity.getPackagingSpec()); -// udiProductEntity.setPrepnSpec(basicInsDrug.getPrepnSpec() != null ? basicInsDrug.getPrepnSpec() :basicInsDrugEntity.getPrepnSpec()); - udiProductEntity.setZczbhhzbapzbh(basicInsDrug.getApprovalNum() != null ? basicInsDrug.getApprovalNum() : basicInsDrugEntity.getApprovalNum()); - udiProductEntity.setCpmctymc(thrProductsEntity.getName()); - if (basicInsDrugEntity != null && basicInsDrugEntity.getInsuranceDrugClass() != null) { - udiProductEntity.setMedicareType(setMedicareType(basicInsDrugEntity.getInsuranceDrugClass())); - } + YbDrugDetailFilterRequest ybHcflDetailFilterRequest = new YbDrugDetailFilterRequest(); + ybHcflDetailFilterRequest.setLimit(1); + ybHcflDetailFilterRequest.setPage(1); + List list = ybDrugService.getList(ybHcflDetailFilterRequest); + UdiProductEntity udiProductEntity = new UdiProductEntity(); + BeanUtils.copyProperties(thrProductsEntity, udiProductEntity); + udiProductEntity.setId(IdUtil.getSnowflakeNextId()); + if (list.size() > 0) { + YbDrug ybDrug = list.get(0); + + udiProductEntity.setNameCode(ybDrug.getGoodsStandardCode()); + udiProductEntity.setPrepnSpec(ybDrug.getRealityOutlook()); + udiProductEntity.setZczbhhzbapzbh(ybDrug.getApprovalCode()); + udiProductEntity.setCpmctymc(ybDrug.getProductRemark()); + udiProductEntity.setMedicareType(setMedicareType(ybDrug.getProductInsuranceType())); //最小产品单位 - udiProductEntity.setPackUnit(basicInsDrug.getMinPackagingUnit() != null ? basicInsDrug.getMinPackagingUnit() : basicInsDrugEntity.getMinPackagingUnit()); + udiProductEntity.setPackUnit(ybDrug.getUnit()); //设置最小产品数量 - udiProductEntity.setBhxjsl(basicInsDrug.getMinPackagingQuantity() != null ? basicInsDrug.getMinPackagingQuantity() : basicInsDrugEntity.getMinPackagingQuantity()); + udiProductEntity.setBhxjsl(ybDrug.getFactor()); //设置包装级别 - udiProductEntity.setPackLevel(packLevel + ""); + udiProductEntity.setPackLevel(1 + ""); //生产厂家 - udiProductEntity.setManufactory(basicInsDrug.getManufacturerName() != null ? basicInsDrug.getManufacturerName() : basicInsDrugEntity.getManufacturerName()); + udiProductEntity.setManufactory(ybDrug.getListingHolder()); //商品条码 essentialDrugMarkName sptm - udiProductEntity.setSptm(basicInsDrug.getEssentialDrugMarkName() != null ? basicInsDrug.getEssentialDrugMarkName() : basicInsDrugEntity.getEssentialDrugMarkName()); - udiProductEntity.setPrepnUnit(thrProductsEntity.getPrepnUnit() == null ? null : thrProductsEntity.getPrepnUnit()); + udiProductEntity.setSptm(ybDrug.getBusinessLicense()); + udiProductEntity.setPrepnUnit(ybDrug.getMinUnit()); + } + udiProductEntity.setUuid(udiRelevanceEntity.getUuid()); udiProductEntity.setDiType(1); udiProductEntity.setScbssfbhph("是"); @@ -326,7 +320,6 @@ public class UdiContrastService { } udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity); udiProductService.insertUdiInfo(udiProductEntity); - } // setLevel(udiRelevanceEntity.getUuid()); UdiProductEntity byUuid = udiProductService.findByUuid(udiRelevanceEntity.getUuid()); udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, byUuid); @@ -508,11 +501,11 @@ public class UdiContrastService { } public Integer setMedicareType(String insuranceDrugClass) { - if ("甲类".equals(insuranceDrugClass)) { + if ("甲".equals(insuranceDrugClass)) { return 1; - } else if ("乙类".equals(insuranceDrugClass)) { + } else if ("乙".equals(insuranceDrugClass)) { return 2; - } else if ("丙类".equals(insuranceDrugClass)) { + } else if ("丙".equals(insuranceDrugClass)) { return 3; } else { return null; // 或者 throw new IllegalArgumentException("未知的医保类别"); diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOriginService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOriginService.java index 4504a46cb..47f0f1a2e 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOriginService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOriginService.java @@ -29,6 +29,7 @@ import com.glxp.api.res.basic.BasicSkPrescribeResponse; import com.glxp.api.res.basic.SysWorkplaceDocumentResponse; import com.glxp.api.service.basic.*; import com.glxp.api.util.BeanCopyUtils; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -198,4 +199,12 @@ public class IoCollectOriginService { } return ResultVOUtils.success("提交成功"); } + + public IoCollectOrderOrigin getOrderByCode(String code) { + List list = collectOrderOriginService.list(new LambdaUpdateWrapper().eq(IoCollectOrderOrigin::getBillNo, code)); + if (list.size()>0){ + return list.get(0); + } + return null; + } } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/service/thrsys/YbDrugService.java b/src/main/java/com/glxp/api/service/thrsys/YbDrugService.java new file mode 100644 index 000000000..3b1f9f069 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/YbDrugService.java @@ -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 getList(YbDrugDetailFilterRequest ybHcflDetailFilterRequest) { + List list = ybDrugMapper.list(ybHcflDetailFilterRequest); + if (CollUtil.isEmpty(list)){ + BaseResponse> ybDrugDetail = erpBasicClient.getYbDrugDetail(ybHcflDetailFilterRequest); + PageSimpleResponse data = ybDrugDetail.getData(); + List list1 = data.getList(); + ybDrugMapper.batchSaveOrUpdateByGoodsCode(list1); + return list1; + } + return list; + } +} diff --git a/src/main/resources/mybatis/mapper/thrsys/YbDrugMapper.xml b/src/main/resources/mybatis/mapper/thrsys/YbDrugMapper.xml new file mode 100644 index 000000000..88eedc23a --- /dev/null +++ b/src/main/resources/mybatis/mapper/thrsys/YbDrugMapper.xml @@ -0,0 +1,135 @@ + + + + + + + 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 + + ( + #{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} + ) + + 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) + + + + + + \ No newline at end of file