10/14 药品基础数据优化

dev_unify
wangwei 9 months ago
parent 4316419c00
commit 9b9b478364

@ -22,6 +22,7 @@ import com.glxp.api.entity.thrsys.ThrSystemEntity;
import com.glxp.api.http.NmpaUdiClient;
import com.glxp.api.req.basic.*;
import com.glxp.api.req.thrsys.FilterBasicThirdSysRequest;
import com.glxp.api.res.DiLevelResponse;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.service.auth.CustomerService;
@ -81,7 +82,6 @@ public class UdiContrastController {
@PostMapping("/udi/udirel/revleance")
@Log(title = "耗材字典", businessType = BusinessType.INSERT)
public BaseResponse revleanceUdi(@RequestBody UdiCombineRequest udiCombineRequest) {
udiCombineRequest.setCustomerId(Long.valueOf(customerService.getCustomerId()));
List<String> keys = udiCombineRequest.getKeys();
if (keys != null && keys.size() > 0) {
for (String key : keys) {
@ -92,21 +92,6 @@ public class UdiContrastController {
return ResultVOUtils.error(500, "已存在相同的对照关系,对照失败!");
} else {
udiContrastService.createUnionContrast(udiCombineRequest, key);
if (udiCombineRequest.isIdSpliUdi()) {
List<UdiRelevanceResponse> temps = udiContrastService.findByUnion(key, udiCombineRequest.getThirdId());
if (CollUtil.isNotEmpty(temps)) {
UdiRelevanceResponse temp = temps.get(0);
CompanyEntity companyEntity = companyService.findCompany(udiCombineRequest.getCustomerId() + "");
CompanyProductRelevanceEntity companyProductRelevanceEntity = new CompanyProductRelevanceEntity();
companyProductRelevanceEntity.setCreateTime(new Date());
companyProductRelevanceEntity.setUpdateTime(new Date());
companyProductRelevanceEntity.setAuditStatus("3");
companyProductRelevanceEntity.setUnitFk(companyEntity.getUnitIdFk());
companyProductRelevanceEntity.setUdiRlIdFk(temp.getId());
companyProductRelevanceEntity.setCustomerId(companyEntity.getCustomerId());
boolean b = companyProductRelevanceService.insertCompanyProductRelevance(companyProductRelevanceEntity);
}
}
}
} else {
//只添加DI
@ -380,11 +365,46 @@ public class UdiContrastController {
}
@AuthRuleAnnotation("")
@PostMapping("/udi/udirel/updateLevelDrug")
public BaseResponse updateLevelDrug(@RequestBody UpdateLevelDrugRequest updateLevelDrugRequest) {
udiProductService.saveOrUpadateLevelDrug(updateLevelDrugRequest);
return ResultVOUtils.success("更新成功");
}
@AuthRuleAnnotation("")
@PostMapping("/udi/udirel/calculateDistCount")
public BaseResponse calculateDistCount(@RequestBody UdiProductEntity udiProductEntity) {
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
udiProductService.calculateDistCount(udiProductEntity, udiRelevanceEntity);
return ResultVOUtils.success(udiRelevanceEntity);
}
@AuthRuleAnnotation("")
@PostMapping("/udi/udirel/calculateUseCount")
public BaseResponse calculateUseCount(@RequestBody UdiProductEntity udiProductEntity) {
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
udiProductService.calculateUseCount(udiProductEntity, udiRelevanceEntity);
return ResultVOUtils.success(udiRelevanceEntity);
}
@AuthRuleAnnotation("")
@PostMapping("/udi/udirel/drug/delLevel")
public BaseResponse delLevel(@RequestBody AddProductRequest addProductRequest) {
boolean b = udiProductService.deleteByNameCode(addProductRequest.getNameCode());
return ResultVOUtils.success("删除成功!");
}
/**
* DI
*/
@AuthRuleAnnotation("")
@GetMapping("/udiwms/udi/local/levelByUuid")
public BaseResponse filterLocalByUuid(FilterUdiRelRequest filterUdiRelRequest) {
List<DiLevelResponse> diLevelResponses = udiProductService.findLevelByRelId(filterUdiRelRequest.getId());
return ResultVOUtils.success(diLevelResponses);
}
public void updateDi(UdiRelevanceEntity udiRelevanceEntity, String key) {

@ -233,15 +233,15 @@ public class UdiRelevanceController extends BaseController {
@GetMapping("udiwms/udiinfo/local/filterByUuid")
public BaseResponse filterLocalByUuid(FilterUdiRelRequest filterUdiRelRequest) {
if (filterUdiRelRequest.getId() == null) {
return ResultVOUtils.error(500, "产品ID主键不能为空");
}
if (filterUdiRelRequest.getId() == null) {
return ResultVOUtils.error(500, "产品ID主键不能为空");
}
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(filterUdiRelRequest.getId());
FilterUdiRelRequest tempRequest = new FilterUdiRelRequest();
tempRequest.setUuid(udiRelevanceEntity.getUuid());
if (filterUdiRelRequest.getProductsType() == 2) {
tempRequest.setNameCode(filterUdiRelRequest.getNameCode());
}
List<UdiProductEntity> udiInfoEntities = udiProductService.filterAllUdiInfo(tempRequest);
List<UdiRelevanceResponse> udiRelevanceResponses = new ArrayList<>();
if (CollUtil.isNotEmpty(udiInfoEntities)) {
@ -250,6 +250,7 @@ public class UdiRelevanceController extends BaseController {
BeanUtils.copyProperties(udiProductEntity, udiRelevanceResponse);
BeanUtil.copyProperties(udiRelevanceEntity, udiRelevanceResponse);
udiRelevanceResponse.setFlbm(udiProductEntity.getFlbm());
udiRelevanceResponse.setProductId(udiProductEntity.getId());
udiRelevanceResponses.add(udiRelevanceResponse);
}
}
@ -257,7 +258,6 @@ public class UdiRelevanceController extends BaseController {
}
//多选删除
@AuthRuleAnnotation("")
@PostMapping("/udi/udirel/deleteAll")
@ -332,12 +332,26 @@ public class UdiRelevanceController extends BaseController {
//更新关联表
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
BeanUtil.copyProperties(udiRelevanceSaveRequest, udiRelevanceEntity);
BeanUtils.copyProperties(udiRelevanceSaveRequest, udiRelevanceEntity);
udiRelevanceEntity.setId(udiRelevanceSaveRequest.getId());
udiRelevanceEntity.setUpdateTime(new Date());
udiRelevanceEntity.setModifyTime(new Date());
udiRelevanceEntity.setUpdateUser(customerService.getUserId() + "");
udiRelevanceEntity.setUseMuti(udiRelevanceEntity.getUseMuti());
// udiRelevanceEntity.setUseLeverCount(udiRelevanceSaveRequest.getUseLeverCount());
udiRelevanceEntity.setSplitEnable(udiRelevanceSaveRequest.getSplitEnable());
udiRelevanceEntity.setAutoCode(udiRelevanceSaveRequest.getAutoCode());
// udiRelevanceEntity.setUseLevelDi(udiRelevanceSaveRequest.getUseLevelDi());
// udiRelevanceEntity.setUseLevelUnit(udiRelevanceSaveRequest.getUseLevelUnit());
udiRelevanceEntity.setUseLevel(udiRelevanceSaveRequest.getUseLevel());
// udiRelevanceEntity.setDistributeLevelDi(udiRelevanceSaveRequest.getDistributeLevelDi());
// udiRelevanceEntity.setDistributeLevelUnit(udiRelevanceSaveRequest.getDistributeLevelUnit());
// udiRelevanceEntity.setDistributeLevelCount(udiRelevanceSaveRequest.getDistributeLevelCount());
udiRelevanceEntity.setDistributeLevel(udiRelevanceSaveRequest.getDistributeLevel());
udiRelevanceEntity.setPayFeeCode(udiRelevanceSaveRequest.getPayFeeCode());
udiRelevanceEntity.setSplitEnable(udiRelevanceSaveRequest.getSplitEnable());
udiRelevanceEntity.setAutoCode(udiRelevanceSaveRequest.getAutoCode());
udiRelevanceEntity.setPayFeeCode(udiRelevanceSaveRequest.getPayFeeCode());
udiRelevanceService.updateUdiRelevance(udiRelevanceEntity);
//关联更新
@ -348,12 +362,12 @@ public class UdiRelevanceController extends BaseController {
udiProductEntity.setCpms(udiRelevanceSaveRequest.getCpms());
udiProductEntity.setPrice(udiRelevanceSaveRequest.getPrice());
udiProductEntity.setSpmc(udiRelevanceSaveRequest.getSpmc());
udiProductEntity.setBzgg(udiRelevanceSaveRequest.getBzgg());
udiProductEntity.setAllowNoBatch(udiRelevanceSaveRequest.getAllowNoBatch());
udiProductEntity.setAllowNoExpire(udiRelevanceSaveRequest.getAllowNoExpire());
udiProductEntity.setAllowNoProduct(udiRelevanceSaveRequest.getAllowNoProduct());
udiProductEntity.setAllowNoSerial(udiRelevanceSaveRequest.getAllowNoSerial());
udiProductEntity.setZxxsbzbhsydysl(udiRelevanceEntity.getUseNum());
udiProductEntity.setGroupBuy(udiRelevanceSaveRequest.getGroupBuy());
udiProductEntity.setBasicPrductRemak1(udiRelevanceSaveRequest.getBasicPrductRemak1());
udiProductEntity.setBasicPrductRemak2(udiRelevanceSaveRequest.getBasicPrductRemak2());
udiProductEntity.setBasicPrductRemak3(udiRelevanceSaveRequest.getBasicPrductRemak3());
@ -363,14 +377,13 @@ public class UdiRelevanceController extends BaseController {
udiProductEntity.setBasicPrductRemak7(udiRelevanceSaveRequest.getBasicPrductRemak7());
udiProductEntity.setBasicPrductRemak8(udiRelevanceSaveRequest.getBasicPrductRemak8());
udiProductEntity.setCatalogcode(udiRelevanceSaveRequest.getCatalogcode());
udiProductEntity.setCatalogname1(udiRelevanceSaveRequest.getCatalogname1());
udiProductEntity.setCatalogname2(udiRelevanceSaveRequest.getCatalogname2());
udiProductEntity.setCatalogname3(udiRelevanceSaveRequest.getCatalogname3());
udiProductEntity.setMatrial(udiRelevanceSaveRequest.getMatrial());
udiProductEntity.setRequireScanCode(udiRelevanceSaveRequest.getRequireScanCode());
udiProductEntity.setFlbm(udiRelevanceSaveRequest.getFlbm());
udiProductEntity.setBzgg(udiRelevanceSaveRequest.getBzgg());
udiProductEntity.setWorkPlaceCount(udiRelevanceSaveRequest.getWorkPlaceCount());
// udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity);
if (StrUtil.isNotEmpty(udiRelevanceSaveRequest.getOriginUuid())) {
udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_UDI);
@ -378,6 +391,8 @@ public class UdiRelevanceController extends BaseController {
udiProductEntity.setUuid(udiRelevanceSaveRequest.getUuid());
udiProductService.updateUdiInfoByUuid(udiProductEntity);
udiProductService.updateLevelCount(udiRelevanceEntity);
return ResultVOUtils.success("更新成功");
}
@ -733,10 +748,10 @@ public class UdiRelevanceController extends BaseController {
}
boolean falg = udiProductService.updateUdiInfoById(udiProductEntity);
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
udiRelevanceEntity.setId(udiProductEntity.getUid());
udiRelevanceEntity.setGroupBuy(IntUtil.value(udiProductEntity.getGroupBuy()));
// udiRelevanceEntity.setId(udiProductEntity.getUid());
// udiRelevanceEntity.setGroupBuy(IntUtil.value(udiProductEntity.getGroupBuy()));
udiRelevanceEntity.setPurType(udiProductEntity.getPurType());
udiRelevanceEntity.setAttributeType(udiProductEntity.getAttributeType());
// udiRelevanceEntity.setAttributeType(udiProductEntity.getAttributeType());
udiRelevanceEntity.setHcType(udiProductEntity.getHcType());
udiRelevanceEntity.setIsStack(udiProductEntity.getIsStack());
udiRelevanceEntity.setUpdateTime(new Date());
@ -767,13 +782,13 @@ public class UdiRelevanceController extends BaseController {
}
boolean falg = udiProductService.updateUdiInfoById(udiProductEntity);
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
udiRelevanceEntity.setId(udiProductEntity.getUid());
udiRelevanceEntity.setUseLeverCount(udiProductEntity.getUseLeverCount());
udiRelevanceEntity.setUseLevelDi(udiProductEntity.getUseLevelDi());
udiRelevanceEntity.setUseLevelUnit(udiProductEntity.getUseLevelUnit());
udiRelevanceEntity.setDistributeLevelDi(udiProductEntity.getDistributeLevelDi());
udiRelevanceEntity.setDistributeLevelUnit(udiProductEntity.getDistributeLevelUnit());
udiRelevanceEntity.setDistributeLevelCount(udiProductEntity.getDistributeLevelCount());
// udiRelevanceEntity.setId(udiProductEntity.getUid());
// udiRelevanceEntity.setUseLeverCount(udiProductEntity.getUseLeverCount());
// udiRelevanceEntity.setUseLevelDi(udiProductEntity.getUseLevelDi());
// udiRelevanceEntity.setUseLevelUnit(udiProductEntity.getUseLevelUnit());
// udiRelevanceEntity.setDistributeLevelDi(udiProductEntity.getDistributeLevelDi());
// udiRelevanceEntity.setDistributeLevelUnit(udiProductEntity.getDistributeLevelUnit());
// udiRelevanceEntity.setDistributeLevelCount(udiProductEntity.getDistributeLevelCount());
udiRelevanceEntity.setUpdateTime(new Date());
boolean b = udiRelevanceService.updateUdiRelevance(udiRelevanceEntity);
if (udiProductEntity.getRelSupId() != null) {

@ -772,14 +772,13 @@ public class IoCodeTempController extends BaseController {
return ResultVOUtils.error(500, "该产品不可配送,请联系院方!");
}
if (bussinessTypeEntity.getVailGroupBuy() == 1 && !IntUtil.value(udiRelevanceResponse.getGroupBuy())) { //只采集集采产品
return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "只允许录入集采产品!");
if (bussinessTypeEntity.getVailGroupBuy() == 1 && !udiRelevanceResponse.isGroupBuy()) { //只采集集采产品
return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "只允许录入集采产品!");
}
if (bussinessTypeEntity.getVailGroupBuy() == 2 && IntUtil.value(udiRelevanceResponse.getGroupBuy())) { //只采集非集采产品
return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "只允许录入非集采产品!");
if (bussinessTypeEntity.getVailGroupBuy() == 2 && udiRelevanceResponse.isGroupBuy()) { //只采集非集采产品
return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "只允许录入非集采产品!");
}
//计算实际数量
codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getActCount(udiRelevanceResponse));
} else if (udiRelevanceResponses.size() == 0) {
@ -1095,12 +1094,12 @@ public class IoCodeTempController extends BaseController {
return ResultVOUtils.error(500, "该产品不可配送,请联系院方!");
}
if (bussinessTypeEntity.getVailGroupBuy() == 1 && !IntUtil.value(udiRelevanceResponse.getGroupBuy())) { //只采集集采产品
return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "只允许录入集采产品!");
if (bussinessTypeEntity.getVailGroupBuy() == 1 && !udiRelevanceResponse.isGroupBuy()) { //只采集集采产品
return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "只允许录入集采产品!");
}
if (bussinessTypeEntity.getVailGroupBuy() == 2 && IntUtil.value(udiRelevanceResponse.getGroupBuy())) { //只采集非集采产品
return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "只允许录入非集采产品!");
if (bussinessTypeEntity.getVailGroupBuy() == 2 && udiRelevanceResponse.isGroupBuy()) { //只采集非集采产品
return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "只允许录入非集采产品!");
}
//计算实际数量

@ -62,7 +62,7 @@ public class SpsSyncBasicController {
//入院申请无DI的数据需更新产品编码
if (IntUtil.value(udiRelevanceEntity.getNewNeedUpload())) {
UdiProductEntity udiProductEntity = udiProductService.findByUuid(udiRelevanceEntity.getUuid());
udiProductEntity.setRemark(udiProductEntity.getNameCode());
// udiProductEntity.setRemark(udiProductEntity.getNameCode());
udiProductEntity.setNameCode(udiRelevanceEntity.getMainId());
udiProductService.updateUdiInfoByUuid(udiProductEntity);
ThrProductsAddDiEntity thrProductsAddDiEntity = thrProductsAddDiDao.selectOne(new QueryWrapper<ThrProductsAddDiEntity>().eq("code", udiProductEntity.getRemark()).last("limit 1"));

@ -227,7 +227,7 @@ public class ThrProductsAddDiController {
udiProductEntity.setBasicPrductRemak6(thrProductsAddDiEntity.getBasicPrductRemak6());
udiProductEntity.setBasicPrductRemak7(thrProductsAddDiEntity.getBasicPrductRemak7());
udiProductEntity.setBasicPrductRemak8(thrProductsAddDiEntity.getBasicPrductRemak8());
udiProductEntity.setGroupBuy(thrProductsAddDiEntity.getGroupBuy());
// udiProductEntity.setGroupBuy(thrProductsAddDiEntity.getGroupBuy());
udiProductEntity.setCatalogname1(thrProductsAddDiEntity.getCatalogname1());
udiProductEntity.setCatalogname2(thrProductsAddDiEntity.getCatalogname2());
udiProductEntity.setCatalogname3(thrProductsAddDiEntity.getCatalogname3());
@ -320,7 +320,7 @@ public class ThrProductsAddDiController {
udiProductEntity.setBasicPrductRemak6(thrProductsAddDiResponse.getBasicPrductRemak6());
udiProductEntity.setBasicPrductRemak7(thrProductsAddDiResponse.getBasicPrductRemak7());
udiProductEntity.setBasicPrductRemak8(thrProductsAddDiResponse.getBasicPrductRemak8());
udiProductEntity.setGroupBuy(thrProductsAddDiResponse.getGroupBuy());
// udiProductEntity.setGroupBuy(thrProductsAddDiResponse.getGroupBuy());
udiProductEntity.setCatalogname1(thrProductsAddDiResponse.getCatalogname1());
udiProductEntity.setCatalogname2(thrProductsAddDiResponse.getCatalogname2());
udiProductEntity.setCatalogname3(thrProductsAddDiResponse.getCatalogname3());

@ -212,8 +212,8 @@ public class ThrProductsController {
udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getYlqxzcrbarmc());
if (StrUtil.isNotEmpty(thrProductsEntity.getCpms()))
udiProductEntity.setCpms(thrProductsEntity.getCpms());
if (StrUtil.isNotEmpty(thrProductsEntity.getBzgg()))
udiProductEntity.setBzgg(thrProductsEntity.getBzgg());
// if (StrUtil.isNotEmpty(thrProductsEntity.getBzgg()))
// udiProductEntity.setBzgg(thrProductsEntity.getBzgg());
// if (StrUtil.isNotEmpty(thrProductsEntity.getStandard()))
// udiProductEntity.setGgxh(thrProductsEntity.getStandard());
udiProductService.updateUdiInfo(udiProductEntity);

@ -0,0 +1,13 @@
package com.glxp.api.dao.thrsys;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.thrsys.BasicInsMaterialEntity;
import com.glxp.api.req.thrsys.ThrInsMaterialFeeRequest;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface BasicInsMaterialMapper extends BaseMapper<BasicInsMaterialEntity> {
List<BasicInsMaterialEntity> filterList(ThrInsMaterialFeeRequest thrInsMaterialFeeRequest);
}

@ -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);
}

@ -1,11 +1,14 @@
package com.glxp.api.entity.basic;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -14,129 +17,7 @@ import java.util.Date;
@Data
@TableName("basic_products")
public class UdiProductEntity {
//
// private Long id;
// private String uuid;
// private String originUuid;
// private String nameCode;
// private String deviceRecordKey;
// private String packRatio;
// private String packLevel;
// private String packUnit;
// private Integer bhxjsl;
// private Integer bhzxxsbzsl;
// private Integer zxxsbzbhsydysl;
// private String bhxjcpbm;
// private String bzcj;
// private String cpmctymc;
// private String cplb;
// private String flbm;
// private String ggxh;
// private String qxlb;
// private String tyshxydm;
// private String ylqxzcrbarmc;
// private String zczbhhzbapzbh;
// private String ylqxzcrbarywmc;
// private String sydycpbs;
// private String sjcpbm;
// private Integer versionNumber;
// private Integer diType;
// private String ybbm;
// private String sptm;
// private String manufactory;
// private String manufactoryCode;
// private String measname;
// private Integer productType;
// private String scbssfbhph;
// private String scbssfbhxlh;
// private String scbssfbhscrq;
// private String scbssfbhsxrq;
// private String cpms;
// private Boolean allowNoBatch;
// private Boolean allowNoExpire;
// private Boolean allowNoProduct;
// private Boolean allowNoSerial;
// private String spmc;
// private String cplx;
// private String hchzsb;
// private String cpdls;
// private String basicPrductRemak1;
// private String basicPrductRemak2;
// private String basicPrductRemak3;
// private String basicPrductRemak4;
// private String basicPrductRemak5;
// private String basicPrductRemak6;
// private String basicPrductRemak7;
// private String basicPrductRemak8;
// private String price;
//
//
// private String sfwblztlcp;
// private String cgzmraqxgxx;
// private String sfbjwycxsy;
// private String zdcfsycs;
// private String sfwwjbz;
// private String syqsfxyjxmj;
// private String mjfs;
// private String categoryName;
//
//
// //本地生成信息
// private String batchNo;
// private String produceDate;
// private String expireDate;
// private String serialNo;
// private String udi;
// private String code;
// private Integer count;
// private String warehouseCode;
// private String deptCode;
// private String udplatCode;
// private String relId;//关联ID主键
// private Integer status;
// private String supId;
private Long relSupId;
private Boolean groupBuy;
private Long uid;
private Integer attributeType;
//
private String remark;
private String catalogcode;
//
/**
* (
*/
@TableField(value = "catalogCode1")
@ApiModelProperty(value = "一级分类名称(学科,品名)")
private Integer catalogCode1;
//
/**
* (
*/
@TableField(value = "catalogCode2")
@ApiModelProperty(value = "二级分类名称(用途、品目)")
private Integer catalogCode2;
//
// /**
// * 三级分类名称(部位、功能、品种)
// */
@TableField(value = "catalogCode3")
@ApiModelProperty(value = "三级分类名称(部位、功能、品种)")
private Integer catalogCode3;
@TableField(exist = false)
private Boolean isStack;
@TableId(value = "id", type = IdType.INPUT)
private Long id;
@TableField(value = "uuid")
private String uuid;
@ -246,7 +127,6 @@ public class UdiProductEntity {
@TableField(exist = false)
//本地生成信息
private String batchNo;
@TableField(exist = false)
private String produceDate;
@TableField(exist = false)
private String expireDate;
@ -272,11 +152,12 @@ public class UdiProductEntity {
private String supId;
@TableField(exist = false)
private Boolean useMuti; //是否多次使用
@TableField(exist = false)
private Long relSupId;
@TableField(value = "pinyinInitial")
private String pinyinInitial;
@TableField(value = "zdcfsycs")
private String zdcfsycs;
private Integer zdcfsycs;
@TableField(value = "sfwblztlcp")
private String sfwblztlcp;
@ -311,6 +192,12 @@ public class UdiProductEntity {
@TableField(value = "bzgg")
private String bzgg;
/**
*
*/
@TableField(value = "remark")
private String remark;
/**
* (
*/
@ -344,6 +231,7 @@ public class UdiProductEntity {
private Integer hcType;
@TableField(value = "requireScanCode")
private Integer requireScanCode;
private Boolean isStack;
/**
@ -365,6 +253,11 @@ public class UdiProductEntity {
@TableField(value = "prepnUnit")
private String prepnUnit;
/**
*
*/
@TableField(value = "packMatrial")
private String packMatrial;
/**
* 使
@ -395,7 +288,7 @@ public class UdiProductEntity {
* 使
*/
@TableField(value = "indate")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
private Date indate;
@ -411,12 +304,6 @@ public class UdiProductEntity {
@TableField(value = "prepnSpec")
private String prepnSpec;
/**
*
*/
@TableField(value = "packMatrial")
private String packMatrial;
/**
*
*/
@ -433,17 +320,33 @@ public class UdiProductEntity {
@TableField(value = "majorStatus")
private Integer majorStatus;
@TableField(exist = false)
private String distributeLevelDi;
@TableField(exist = false)
private String distributeLevelUnit;
@TableField(exist = false)
private Integer distributeLevelCount;
@TableField(exist = false)
private String useLevelDi;
@TableField(exist = false)
private String useLevelUnit;
@TableField(exist = false)
private Integer useLeverCount;
/**
* 使
*/
@TableField(value = "bhltcjsl")
private Integer bhltcjsl;
/**
* 使
*/
@TableField(value = "bhsycjsl")
private Integer bhsycjsl;
//工位预警数量
@TableField(value = "workPlaceCount")
private Integer workPlaceCount;
/**
*
*/
@TableField(value = "xjdw")
private String xjdw;
public Integer getMyBhxjsl() {
if (bhxjsl == null || bhxjsl == 0)
return 1;
return bhxjsl;
}
}

@ -4,7 +4,10 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@ -13,6 +16,9 @@ import java.util.Date;
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("basic_udirel")
public class UdiRelevanceEntity {
@ -96,24 +102,23 @@ public class UdiRelevanceEntity {
*/
@TableField(value = "isAdavence")
private Boolean isAdavence;
/**
* 1:23
*/
@TableField(value = "purType")
private Integer purType;
/**
* 0:1)23.
*/
@TableField(value = "attributeType")
private Integer attributeType;
/**
* 12.
*/
@TableField(value = "hcType")
private Integer hcType;
/**
* 使
*/
@ -178,11 +183,9 @@ public class UdiRelevanceEntity {
private Integer useExpireTime;
@TableField(value = "dispatch")
private Boolean dispatch;
//是否集采产品
@TableField(value = "groupBuy")
@TableField(value = "groupBuy") //是否可配送
private Boolean groupBuy;
//是否可配送
//是否集采产品
@TableField(value = "isDateBy")
private Integer isDateBy;
@TableField(value = "needCert")
@ -190,53 +193,89 @@ public class UdiRelevanceEntity {
@TableField(value = "certIdFk")
private String certIdFk;
/**
*
*/
@TableField(value = "newNeedUpload")
private Boolean newNeedUpload;
/**
*
* 0:1:
*/
@TableField(value = "isStack")
private Boolean isStack;
@TableField(value = "uploadFlag")
private Integer uploadFlag;
/**
*
*
*/
@TableField(value = "distributeLevelDi")
private String distributeLevelDi;
@TableField(value = "uploadMsg")
private String uploadMsg;
/**
*
*
*/
@TableField(value = "distributeLevelUnit")
private String distributeLevelUnit;
@TableField(value = "newNeedUpload")
private Boolean newNeedUpload;
// /**
// * 流通计量层层级标识
// */
// @TableField(value = "distributeLevelDi")
// private String distributeLevelDi;
//
// /**
// * 流通计量层级单位
// */
// @TableField(value = "distributeLevelUnit")
// private String distributeLevelUnit;
//
/**
*
*
*/
@TableField(value = "distributeLevelCount")
private Integer distributeLevelCount;
/**
* 使
*
*/
@TableField(value = "distributeLevel")
private Integer distributeLevel;
// /**
// * 使用计量层级标识
// */
// @TableField(value = "useLevelDi")
// private String useLevelDi;
//
// /**
// * 使用计量层级单位
// */
// @TableField(value = "useLevelUnit")
// private String useLevelUnit;
//
// /**
// * 使用是当前层级包含计量单元数量
// */
// @TableField(value = "useLeverCount")
// private Integer useLeverCount;
/**
* 使
*/
@TableField(value = "useLevelDi")
private String useLevelDi;
@TableField(value = "useLevel")
private Integer useLevel;
/**
* 使
*
*/
@TableField(value = "useLevelUnit")
private String useLevelUnit;
@TableField(value = "autoCode")
private Boolean autoCode;
/**
* 使
*
*/
@TableField(value = "useLeverCount")
private Integer useLeverCount;
@TableField(value = "splitEnable")
private Boolean splitEnable;
/**
@ -247,4 +286,29 @@ public class UdiRelevanceEntity {
@TableField(value = "productsType")
private Integer productsType;
/**
*
*/
@TableField(value = "isStack")
private Boolean isStack;
/**
*
*/
@TableField(value = "distributeMaxLevel")
private Integer distributeMaxLevel;
/**
* 使
*/
@TableField(value = "useMaxLevel")
private Integer useMaxLevel;
/**
* ()
*/
@TableField(value = "unpackUseTime")
private Integer unpackUseTime;
}

@ -0,0 +1,529 @@
package com.glxp.api.entity.thrsys;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*
*/
@ApiModel(value="com-glxp-api-entity-thrsys-BasicInsMaterial")
@Data
@TableName(value = "basic_ins_material")
public class BasicInsMaterialEntity implements Serializable {
@TableId(value = "id", type = IdType.INPUT)
@ApiModelProperty(value="")
private Integer id;
/**
*
*/
@TableField(value = "medCatalogCode")
@ApiModelProperty(value="医疗目录编码")
private String medCatalogCode;
/**
*
*/
@TableField(value = "consumableName")
@ApiModelProperty(value="耗材名称")
private String consumableName;
/**
*
*/
@TableField(value = "deviceUniqueCode")
@ApiModelProperty(value="医疗器械唯一标识码")
private String deviceUniqueCode;
/**
*
*/
@TableField(value = "insuranceGenericCode")
@ApiModelProperty(value="医保通用名代码")
private String insuranceGenericCode;
/**
*
*/
@TableField(value = "insuranceGenericName")
@ApiModelProperty(value="医保通用名")
private String insuranceGenericName;
/**
*
*/
@TableField(value = "productModel")
@ApiModelProperty(value="产品型号")
private String productModel;
/**
*
*/
@TableField(value = "specCode")
@ApiModelProperty(value="规格代码")
private String specCode;
/**
*
*/
@TableField(value = "specification")
@ApiModelProperty(value="规格")
private String specification;
/**
*
*/
@TableField(value = "consumableCategory")
@ApiModelProperty(value="耗材分类")
private String consumableCategory;
/**
*
*/
@TableField(value = "specModel")
@ApiModelProperty(value="规格型号")
private String specModel;
/**
*
*/
@TableField(value = "materialCode")
@ApiModelProperty(value="材质代码")
private String materialCode;
/**
*
*/
@TableField(value = "consumableMaterial")
@ApiModelProperty(value="耗材材质")
private String consumableMaterial;
/**
*
*/
@TableField(value = "packagingSpec")
@ApiModelProperty(value="包装规格")
private String packagingSpec;
/**
*
*/
@TableField(value = "packagingQuantity")
@ApiModelProperty(value="包装数量")
private Integer packagingQuantity;
/**
*
*/
@TableField(value = "packagingMaterial")
@ApiModelProperty(value="产品包装材质")
private String packagingMaterial;
/**
*
*/
@TableField(value = "packagingUnit")
@ApiModelProperty(value="包装单位")
private String packagingUnit;
/**
*
*/
@TableField(value = "productConversionRate")
@ApiModelProperty(value="产品转换比")
private Double productConversionRate;
/**
* 使
*/
@TableField(value = "minUsageUnit")
@ApiModelProperty(value="最小使用单位")
private String minUsageUnit;
/**
*
*/
@TableField(value = "productionAreaType")
@ApiModelProperty(value="生产地类别")
private String productionAreaType;
/**
*
*/
@TableField(value = "productionAreaName")
@ApiModelProperty(value="生产地类别名称")
private String productionAreaName;
/**
*
*/
@TableField(value = "productStandard")
@ApiModelProperty(value="产品标准")
private String productStandard;
/**
*
*/
@TableField(value = "productExpiry")
@ApiModelProperty(value="产品有效期")
private String productExpiry;
/**
*
*/
@TableField(value = "structureComposition")
@ApiModelProperty(value="性能结构与组成")
private String structureComposition;
/**
*
*/
@TableField(value = "applicableScope")
@ApiModelProperty(value="适用范围")
private String applicableScope;
/**
* 使
*/
@TableField(value = "usageMethod")
@ApiModelProperty(value="产品使用方法")
private String usageMethod;
/**
*
*/
@TableField(value = "productImageCode")
@ApiModelProperty(value="产品图片编号")
private String productImageCode;
/**
*
*/
@TableField(value = "qualityStandard")
@ApiModelProperty(value="产品质量标准")
private String qualityStandard;
/**
*
*/
@TableField(value = "instructions")
@ApiModelProperty(value="说明书")
private String instructions;
/**
*
*/
@TableField(value = "otherCertMaterials")
@ApiModelProperty(value="其他证明材料")
private String otherCertMaterials;
/**
*
*/
@TableField(value = "dedicatedMachineFlag")
@ApiModelProperty(value="专机专用标志")
private Byte dedicatedMachineFlag;
/**
*
*/
@TableField(value = "dedicatedMachineName")
@ApiModelProperty(value="专机名称")
private String dedicatedMachineName;
/**
*
*/
@TableField(value = "setNames")
@ApiModelProperty(value="组套名称")
private String setNames;
/**
*
*/
@TableField(value = "setFlag")
@ApiModelProperty(value="机套标志")
private Byte setFlag;
/**
* 使
*/
@TableField(value = "usageRestrictionFlag")
@ApiModelProperty(value="限制使用标志")
private Byte usageRestrictionFlag;
/**
*
*/
@TableField(value = "insuranceUsageScope")
@ApiModelProperty(value="医保限用范围")
private String insuranceUsageScope;
/**
*
*/
@TableField(value = "minSalesUnit")
@ApiModelProperty(value="最小销售单位")
private String minSalesUnit;
/**
*
*/
@TableField(value = "highValueConsumableFlag")
@ApiModelProperty(value="高值耗材标志")
private Byte highValueConsumableFlag;
/**
*
*/
@TableField(value = "medicalMaterialCategoryCode")
@ApiModelProperty(value="医用材料分类代码")
private String medicalMaterialCategoryCode;
/**
*
*/
@TableField(value = "implantMaterialFlag")
@ApiModelProperty(value="植入材料和人体器官标志")
private Byte implantMaterialFlag;
/**
*
*/
@TableField(value = "sterilizationFlag")
@ApiModelProperty(value="灭菌标志")
private Byte sterilizationFlag;
/**
*
*/
@TableField(value = "sterilizationFlagName")
@ApiModelProperty(value="灭菌标志名称")
private String sterilizationFlagName;
/**
*
*/
@TableField(value = "implantOrInterventionalFlag")
@ApiModelProperty(value="植入或介入类标志")
private Byte implantOrInterventionalFlag;
/**
*
*/
@TableField(value = "implantOrInterventionalName")
@ApiModelProperty(value="植入或介入类名称")
private String implantOrInterventionalName;
/**
* 使
*/
@TableField(value = "singleUseFlag")
@ApiModelProperty(value="一次性使用标志")
private Byte singleUseFlag;
/**
* 使
*/
@TableField(value = "singleUseFlagName")
@ApiModelProperty(value="一次性使用标志名称")
private String singleUseFlagName;
/**
*
*/
@TableField(value = "regFilingPersonName")
@ApiModelProperty(value="注册备案人名称")
private String regFilingPersonName;
/**
*
*/
@TableField(value = "startDate")
@ApiModelProperty(value="开始日期")
private Date startDate;
/**
*
*/
@TableField(value = "endDate")
@ApiModelProperty(value="结束日期")
private Date endDate;
/**
*
*/
@TableField(value = "deviceManagementCategory")
@ApiModelProperty(value="医疗器械管理类别")
private String deviceManagementCategory;
/**
*
*/
@TableField(value = "deviceManagementCategoryName")
@ApiModelProperty(value="医疗器械管理类别名称")
private String deviceManagementCategoryName;
/**
*
*/
@TableField(value = "regFilingNum")
@ApiModelProperty(value="注册备案号")
private String regFilingNum;
/**
*
*/
@TableField(value = "regFilingProductName")
@ApiModelProperty(value="注册备案产品名称")
private String regFilingProductName;
/**
*
*/
@TableField(value = "structureCompositionDetail")
@ApiModelProperty(value="结构及组成")
private String structureCompositionDetail;
/**
*
*/
@TableField(value = "otherDetails")
@ApiModelProperty(value="其他内容")
private String otherDetails;
/**
*
*/
@TableField(value = "approvalDate")
@ApiModelProperty(value="批准日期")
private Date approvalDate;
/**
*
*/
@TableField(value = "regFilingPersonAddress")
@ApiModelProperty(value="注册备案人住所")
private String regFilingPersonAddress;
/**
*
*/
@TableField(value = "regCertStartDate")
@ApiModelProperty(value="注册证有效期开始时间")
private Date regCertStartDate;
/**
*
*/
@TableField(value = "regCertEndDate")
@ApiModelProperty(value="注册证有效期结束时间")
private Date regCertEndDate;
/**
*
*/
@TableField(value = "manufacturerNum")
@ApiModelProperty(value="生产企业编号")
private String manufacturerNum;
/**
*
*/
@TableField(value = "manufacturerName")
@ApiModelProperty(value="生产企业名称")
private String manufacturerName;
/**
*
*/
@TableField(value = "manufacturingAddress")
@ApiModelProperty(value="生产地址")
private String manufacturingAddress;
/**
*
*/
@TableField(value = "agentCompany")
@ApiModelProperty(value="代理人企业")
private String agentCompany;
/**
*
*/
@TableField(value = "agentCompanyAddress")
@ApiModelProperty(value="代理人企业地址")
private String agentCompanyAddress;
/**
*
*/
@TableField(value = "productionCountry")
@ApiModelProperty(value="生产国或地区")
private String productionCountry;
/**
*
*/
@TableField(value = "afterSalesService")
@ApiModelProperty(value="售后服务机构")
private String afterSalesService;
/**
*
*/
@TableField(value = "regOrFilingCertFile")
@ApiModelProperty(value="注册或备案证电子档案")
private String regOrFilingCertFile;
/**
*
*/
@TableField(value = "productImage")
@ApiModelProperty(value="产品影像")
private String productImage;
/**
*
*/
@TableField(value = "activeMark")
@ApiModelProperty(value="有效标志")
private Byte activeMark;
/**
*
*/
@TableField(value = "uniqueRecordNum")
@ApiModelProperty(value="唯一记录号")
private String uniqueRecordNum;
/**
*
*/
@TableField(value = "versionNum")
@ApiModelProperty(value="版本号")
private String versionNum;
/**
*
*/
@TableField(value = "versionName")
@ApiModelProperty(value="版本名称")
private String versionName;
/**
*
*/
@TableField(value = "remark")
@ApiModelProperty(value="备注")
private String remark;
private static final long serialVersionUID = 1L;
}

@ -4,10 +4,12 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* <p>
*
@ -161,12 +163,6 @@ public class ThrProductsEntity {
*/
private String price;
/**
*
*/
private String bzgg;
/**
*
*/
@ -185,5 +181,83 @@ public class ThrProductsEntity {
@TableField("updateUser")
private String updateUser;
/**
*
*/
@TableField("manufactoryCode")
private String manufactoryCode;
/**
*
*/
@TableField("supCode")
private String supCode;
@TableField("type")
private Integer type;
@TableField(exist = false)
private String createByName;
/**
*
*/
@TableField("prcitmcode")
private String prcitmcode;
/**
* /
*/
@TableField("invCode")
private String invCode;
/**
* (
*/
@TableField(value = "catalogname1")
@ApiModelProperty(value="一级分类名称(学科,品名)")
private String catalogname1;
/**
* (
*/
@TableField(value = "catalogname2")
@ApiModelProperty(value="二级分类名称(用途、品目)")
private String catalogname2;
/**
* (
*/
@TableField(value = "catalogname3")
@ApiModelProperty(value="三级分类名称(部位、功能、品种)")
private String catalogname3;
/**
*
*/
@TableField(value = "matrial")
@ApiModelProperty(value="耗材材质")
private String matrial;
/**
* 1: 2:
*/
@TableField(value = "productType")
private Integer productType;
/**
*
*/
@TableField(value = "prepnSpec")
@ApiModelProperty(value="制剂规格")
private String prepnSpec;
/**
*
*/
@TableField(value = "prepnUnit")
@ApiModelProperty(value="制剂单位")
private String prepnUnit;
}

@ -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;
}

@ -9,8 +9,10 @@ import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.thrsys.ThrManufacturerEntity;
import com.glxp.api.entity.thrsys.ThrSystemBusApiEntity;
import com.glxp.api.entity.thrsys.ThrSystemEntity;
import com.glxp.api.entity.thrsys.YbDrug;
import com.glxp.api.http.req.UdiwmsBusTypeRequest;
import com.glxp.api.http.req.UdiwmsUnitRequest;
import com.glxp.api.req.basic.YbDrugDetailFilterRequest;
import com.glxp.api.req.basic.YbHcflDetailFilterRequest;
import com.glxp.api.req.thrsys.*;
import com.glxp.api.res.PageSimpleResponse;
@ -216,4 +218,17 @@ public class ErpBasicClient {
}
}
public BaseResponse<PageSimpleResponse<YbDrug>> getYbDrugDetail(YbDrugDetailFilterRequest ybHcflDetailFilterRequest) {
String url = "https://www.udims.com/UDI_DL_Server_test" + "/udchs/ybDrug/list";
try {
String response = httpOkClient.uCloudPost(url, ybHcflDetailFilterRequest);
BaseResponse<PageSimpleResponse<YbDrug>> listBaseResponse =
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<YbDrug>>>() {
});
return listBaseResponse;
} catch (Exception e) {
log.error("医保药品详情", e);
return ResultVOUtils.error(500, "连接第三方系统接口服务出错");
}
}
}

@ -239,6 +239,13 @@ public class AddProductRequest {
*/
@TableField(value = "medicareType")
private Integer medicareType;
/**
* ()
*/
@TableField(value = "unpackUseTime")
private Integer unpackUseTime;
private Integer majorStatus;
/**
@ -263,16 +270,31 @@ public class AddProductRequest {
private Long id;
private String distributeLevelDi;
private String distributeLevelUnit;
private Integer distributeLevelCount;
private String useLevelDi;
private String useLevelUnit;
private Integer useLeverCount;
// private String distributeLevelDi;
// private String distributeLevelUnit;
// private Integer distributeLevelCount;
// private String useLevelDi;
// private String useLevelUnit;
// private Integer useLeverCount;
private Boolean splitEnable;
private Boolean autoCode;
/**
*
*/
private String payFeeCode;
private String packUnit;
private Integer useLevel;
private Integer distributeLevel;
/**
*
*/
private Integer distributeMaxLevel;
/**
* 使
*/
private Integer useMaxLevel;
}

@ -3,6 +3,7 @@ package com.glxp.api.req.basic;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
@ -17,18 +18,19 @@ public class FilterUdiRelRequest extends ListPageRequest {
private String ggxh;
private String thirdId;
private Long id;
private String packLevel;
private String thirdId1;
private String thirdId2;
private String thirdId3;
private String thirdId4;
private Boolean isDisable;
private String thirdCode;
private String thirdSys;
private String lastUpdateTime;
private String zczbhhzbapzbh;
private String packLevel;
private Integer diType;
@ -40,12 +42,14 @@ public class FilterUdiRelRequest extends ListPageRequest {
private Boolean isCheck;
private Integer filterType; //0:全部1.对照完成2.未对照DI3.未对照产品编码4.未对照其他产品编码
private String customerId;
private String pinyinInitial;
private String code;
private Integer lockStatus;
private String customerId;
private String udplatCode;
private String mainId;
private String mainIdLike;
private Boolean isAdavence;
/**
* 1:23
@ -56,7 +60,7 @@ public class FilterUdiRelRequest extends ListPageRequest {
*/
private Integer attributeType;
/**
* 12.
* 12.
*/
private Integer hcType;
private String corpId;
@ -65,8 +69,8 @@ public class FilterUdiRelRequest extends ListPageRequest {
private String ybbm;
private String sptm;
private String unionFilterStr;//产品名称,规格,批文,生产厂家联合查询
private String main;
private Boolean isDisable;
List<String> relIds;
private String uniqueNameCode;
private String supName;
@ -82,17 +86,43 @@ public class FilterUdiRelRequest extends ListPageRequest {
private String tyshxydm;
private Boolean dispatch;
private Boolean groupBuy;
private String category;
private List<String> uuids;
private List<Long> ids;
private String flbm;
private String parentCode;
private List<Long> existid;
private String basicPrductRemak1;
private String basicPrductRemak2;
private String basicPrductRemak3;
private String basicPrductRemak4;
private String basicPrductRemak5;
private String basicPrductRemak6;
private String basicPrductRemak7;
private String basicPrductRemak8;
//定数包参数
private String destinyId;
private String destinyNo;
private String billNo;
private Date billDate;
private String invCode;
private String remark;
private String key;
private String sfwblztlcp;
private String cgzmraqxgxx;
private String sfbjwycxsy;
private String zdcfsycs;
private String sfwwjbz;
private String syqsfxyjxmj;
private String mjfs;
private String categoryName;
private String deviceRecordKey;
private String packMatrial;
private Integer productsType = 1;
//药品参数
private String cpms;
private Integer productsType = 1;//默认是耗材
private Integer productType;
/**
*
*/
private String payFeeCode;
}

@ -33,9 +33,10 @@ public class UdiRelevanceSaveRequest {
*/
private Integer attributeType;
/**
* 12.
* 12.
*/
private Integer hcType;
private Boolean useMuti;
private Integer useNum;
private String supName;
@ -114,6 +115,16 @@ public class UdiRelevanceSaveRequest {
private Boolean groupBuy; //是否集采产品
private Boolean needCert; //是否需要资质材料
private String certIdFk;
private Integer zdcfsycs;
private Boolean splitEnable;
private Boolean autoCode;
/**
*
*/
private String bzgg;
/**
* (
*/
@ -142,12 +153,32 @@ public class UdiRelevanceSaveRequest {
@ApiModelProperty(value="耗材材质")
private String matrial;
private String catalogcode;
/**
*
*/
private String payFeeCode;
private Integer requireScanCode;
private String distributeLevelDi;
private String distributeLevelUnit;
private Integer distributeLevelCount;
private String useLevelDi;
private String useLevelUnit;
private Integer useLeverCount;
private Integer useLevel;
private Integer distributeLevel;
//工位预警数
private Integer workPlaceCount;
/**
*
*
*/
private String bzgg;
private Integer distributeMaxLevel;
/**
* 使
*/
private Integer useMaxLevel;
}

@ -31,5 +31,14 @@ public class UpdateLevelDrugRequest {
*/
private Integer bhxjsl;
private Long relId;
private Long productId;
private String uuid;
private String xjdw;
private Integer diType;
public Integer getMyBhxjsl() {
if (bhxjsl == null || bhxjsl == 0)
return 1;
return bhxjsl;
}
}

@ -0,0 +1,14 @@
package com.glxp.api.req.basic;
import lombok.Data;
@Data
public class YbDrugDetailFilterRequest {
private String goodsCode;
private Integer page;
private Integer limit;
}

@ -0,0 +1,31 @@
package com.glxp.api.req.thrsys;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
@Data
public class ThrInsDrugFeeRequest extends ListPageRequest {
/**
*
*/
private String medCatalogCode;
/**
*
*/
private String tradeName;
/**
*
*/
private String genericNum;
/**
*
*/
private String genericName;
}

@ -0,0 +1,20 @@
package com.glxp.api.req.thrsys;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
@Data
public class ThrInsMaterialFeeRequest extends ListPageRequest {
/**
*
*/
private String medCatalogCode;
/**
*
*/
private String consumableName;
}

@ -0,0 +1,21 @@
package com.glxp.api.res;
import lombok.Data;
@Data
public class DiLevelResponse {
private String levelUnit;
private Integer packLevel;
private String packUnit;
private Integer diType;
private String xjdw;
private Integer bhxjsl;
public Integer getMyBhxjsl() {
if (bhxjsl == null || bhxjsl == 0)
return 1;
return bhxjsl;
}
}

@ -2,7 +2,6 @@ package com.glxp.api.res.basic;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import java.math.BigDecimal;
@ -33,14 +32,10 @@ public class UdiRelevanceResponse {
* 0:1)23.
*/
private Integer attributeType;
/**
* 12.
*/
private Integer hcType;
private Boolean useMuti;
private Integer useNum;
private String supName;
@ -51,6 +46,7 @@ public class UdiRelevanceResponse {
private String updateUser;
private String remark;
//UdiInfoEntity
private String originUuid;
private String nameCode;
@ -80,6 +76,7 @@ public class UdiRelevanceResponse {
private String sptm;
private String manufactory;
private String measname;
private Integer productsType;
private Integer productType;
private String scbssfbhph;
private String scbssfbhxlh;
@ -103,6 +100,7 @@ public class UdiRelevanceResponse {
private String basicPrductRemak7;
private String basicPrductRemak8;
private BigDecimal price;
private String PRId;
private Boolean isSelect;
@ -115,38 +113,60 @@ public class UdiRelevanceResponse {
private Integer recentDateTime;
private Integer isDateBy;
private String relCode;
private int index;
private int reCount;
//关联查询字典
private String unitFk; //供应商ID
private String companyName; //供应商名称
//手持终端下载需要主键
private Long relId;
private boolean dispatch; //是否可配送
private Boolean groupBuy; //是否集采产品
private boolean groupBuy; //是否集采产品
private boolean needCert; //是否需要资质材料
private Boolean splitEnable;
private Boolean autoCode;
private String classifyName; //物资分类名称
private Integer zdcfsycs;
private String certIdFk;
private String customerId;
private String sfwblztlcp;
private String cgzmraqxgxx;
private String sfbjwycxsy;
private String zdcfsycs;
private String sfwwjbz;
private String syqsfxyjxmj;
private String mjfs;
private String categoryName;
private String cphhhbh;
private Integer count;
private Long deId;
/**
*
*/
private Boolean newNeedUpload;
private Boolean isStack;
/**
* 0:1:
*/
private Integer uploadFlag;
/**
*
*/
private String uploadMsg;
private Integer bpcrid;
private String hslbName;
private String supId;
private Long relIdFk;
/**
* (
@ -159,25 +179,31 @@ public class UdiRelevanceResponse {
* (
*/
@TableField(value = "catalogname2")
@ApiModelProperty(value="二级分类名称(用途、品目)")
@ApiModelProperty(value = "二级分类名称(用途、品目)")
private String catalogname2;
/**
* (
*/
@TableField(value = "catalogname3")
@ApiModelProperty(value="三级分类名称(部位、功能、品种)")
@ApiModelProperty(value = "三级分类名称(部位、功能、品种)")
private String catalogname3;
/**
*
*/
@TableField(value = "matrial")
@ApiModelProperty(value="耗材材质")
@ApiModelProperty(value = "耗材材质")
private String matrial;
private Integer requireScanCode;
/**
* 1使2
*/
@TableField(value = "destinyType")
@ApiModelProperty(value = "类型1定数包内部使用2项目、组套外部关联")
private Integer destinyType;
private Integer requireScanCode;
/**
*
@ -217,14 +243,43 @@ public class UdiRelevanceResponse {
private String useLevelDi;
private String useLevelUnit;
private Integer useLeverCount;
private String payFeeCode;
/**
* 使
*/
private Integer bhltcjsl;
/**
* 使
*/
private Integer bhsycjsl;
/**
*
*/
private String xjdw;
/**
*
*/
private Integer distributeMaxLevel;
/**
*
* 使
*/
private Integer useMaxLevel;
private Long productId;
/**
*
*/
private Integer workPlaceCount;
private Integer type;
public int getBhzxxsbzsl() {
if (bhzxxsbzsl == null || bhzxxsbzsl == 0) {
@ -253,8 +308,9 @@ public class UdiRelevanceResponse {
}
public Boolean getAllowNoSerial() {
if (allowNoSerial == null)
return false;
return true;
return allowNoSerial;
}
@ -263,4 +319,15 @@ public class UdiRelevanceResponse {
return false;
return isUseDy;
}
private Integer distributeLevel;
private Integer useLevel;
/**
* ()
*/
@TableField(value = "unpackUseTime")
private Integer unpackUseTime;
}

@ -7,6 +7,7 @@ import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.entity.system.SystemParamConfigEntity;
import com.glxp.api.entity.thrsys.ThrProductsEntity;
import com.glxp.api.entity.thrsys.ThrSystemEntity;
import com.glxp.api.exception.JsonException;
import com.glxp.api.http.ErpBasicClient;
import com.glxp.api.req.thrsys.FilterThrProductsRequest;
import com.glxp.api.res.PageSimpleResponse;
@ -174,6 +175,9 @@ public class BasicBackUpdateProductService {
}
@Resource
UdiContrastService udiContrastService;
//定时或一键下载更新本地所有产品信息
@Async
public void loadLocal(FilterThrProductsRequest filterThrProductsRequest, String thirdSysId, String onHandUrl, Boolean isEnable) {
@ -187,65 +191,71 @@ public class BasicBackUpdateProductService {
filterThrInvProductsRequest.setPage(null);
List<ThrProductsEntity> thrProductsEntities = thrProductsService.filterThrProducts(filterThrInvProductsRequest);
SystemParamConfigEntity isUpdate = systemParamConfigService.selectByParamKey("erp_updateErpData_type");
if (isEnable == null || isEnable == false) {
isUpdate.setParamValue("1");
}
// SystemParamConfigEntity isUpdate = systemParamConfigService.selectByParamKey("erp_updateErpData_type");
// if (isEnable == null || isEnable == false) {
// isUpdate.setParamValue("1");
// }
if (thrProductsEntities != null && thrProductsEntities.size() > 0) {
for (ThrProductsEntity thrProductsEntity : thrProductsEntities) {
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByThirdId(thrProductsEntity.getCode(), thirdSysId);
if (udiRelevanceEntity == null) {
if (isUpdate.getParamValue().equals("1")) {
UdiProductEntity udiProductEntity = new UdiProductEntity();
udiProductEntity.setNameCode(thrProductsEntity.getCode());
udiProductEntity.setCpmctymc(thrProductsEntity.getName());
udiProductEntity.setGgxh(thrProductsEntity.getSpec());
udiProductEntity.setUuid(CustomUtil.getUUId());
udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD);
udiProductEntity.setDiType(1);
udiProductEntity.setManufactory(thrProductsEntity.getManufactory());
udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getManufactory());
udiProductEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo());
udiProductService.insertUdiInfo(udiProductEntity);
UdiRelevanceEntity udiRelevanceEntity1 = new UdiRelevanceEntity();
udiRelevanceEntity1.setUuid(udiProductEntity.getUuid());
udiRelevanceEntity1.setIsDisable(false);
udiRelevanceEntity1.setSupName(thrProductsEntity.getSupName());
if ("thirdId".equals(thirdSysId)) {
udiRelevanceEntity1.setThirdId(thrProductsEntity.getCode());
} else if ("thirdId1".equals(thirdSysId)) {
udiRelevanceEntity1.setThirdId1(thrProductsEntity.getCode());
} else if ("thirdId2".equals(thirdSysId)) {
udiRelevanceEntity1.setThirdId4(thrProductsEntity.getCode());
} else if ("thirdId3".equals(thirdSysId)) {
udiRelevanceEntity1.setThirdId3(thrProductsEntity.getCode());
} else if ("thirdId4".equals(thirdSysId)) {
udiRelevanceEntity1.setThirdId4(thrProductsEntity.getCode());
}
ThrSystemEntity thrSystemEntity = thrSystemService.selectMainThrSys();
String mainSys = thrSystemEntity.getThirdId();
if (mainSys.equals("thirdId")) {
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId());
} else if (mainSys.equals("thirdId1")) {
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId1());
} else if (mainSys.equals("thirdId2")) {
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId2());
} else if (mainSys.equals("thirdId3")) {
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId3());
} else if (mainSys.equals("thirdId4")) {
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId4());
}
// if (isUpdate.getParamValue().equals("1")) {
//
// UdiProductEntity udiProductEntity = new UdiProductEntity();
// udiProductEntity.setNameCode(thrProductsEntity.getCode());
// udiProductEntity.setCpmctymc(thrProductsEntity.getName());
// udiProductEntity.setGgxh(thrProductsEntity.getSpec());
// udiProductEntity.setUuid(CustomUtil.getUUId());
// udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD);
// udiProductEntity.setDiType(1);
// udiProductEntity.setManufactory(thrProductsEntity.getManufactory());
// udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getManufactory());
// udiProductEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo());
// udiProductEntity.setRequireScanCode(0);
// udiProductService.insertUdiInfo(udiProductEntity);
// UdiRelevanceEntity udiRelevanceEntity1 = new UdiRelevanceEntity();
// udiRelevanceEntity1.setUuid(udiProductEntity.getUuid());
// udiRelevanceEntity1.setIsDisable(false);
// udiRelevanceEntity1.setSupName(thrProductsEntity.getSupName());
//
// if ("thirdId".equals(thirdSysId)) {
// udiRelevanceEntity1.setThirdId(thrProductsEntity.getCode());
// } else if ("thirdId1".equals(thirdSysId)) {
// udiRelevanceEntity1.setThirdId1(thrProductsEntity.getCode());
// } else if ("thirdId2".equals(thirdSysId)) {
// udiRelevanceEntity1.setThirdId4(thrProductsEntity.getCode());
// } else if ("thirdId3".equals(thirdSysId)) {
// udiRelevanceEntity1.setThirdId3(thrProductsEntity.getCode());
// } else if ("thirdId4".equals(thirdSysId)) {
// udiRelevanceEntity1.setThirdId4(thrProductsEntity.getCode());
// }
//
//
// ThrSystemEntity thrSystemEntity = thrSystemService.selectMainThrSys();
// String mainSys = thrSystemEntity.getThirdId();
// if (mainSys.equals("thirdId")) {
// udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId());
// } else if (mainSys.equals("thirdId1")) {
// udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId1());
// } else if (mainSys.equals("thirdId2")) {
// udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId2());
// } else if (mainSys.equals("thirdId3")) {
// udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId3());
// } else if (mainSys.equals("thirdId4")) {
// udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId4());
// }
//
// udiRelevanceEntity1.setThirdId(thrProductsEntity.getCode());
// udiRelevanceEntity1.setUpdateTime(new Date());
// udiRelevanceEntity1.setModifyTime(new Date());
// udiRelevanceEntity1.setId(gennerOrderUtils.getRelId());
// udiRelevanceService.insertUdiRelevanceignore(udiRelevanceEntity1);
// }
try {
udiContrastService.createOnlyMainId(thrProductsEntity.getCode());
} catch (JsonException e) {
udiRelevanceEntity1.setThirdId(thrProductsEntity.getCode());
udiRelevanceEntity1.setUpdateTime(new Date());
udiRelevanceEntity1.setModifyTime(new Date());
udiRelevanceEntity1.setId(gennerOrderUtils.getRelId());
udiRelevanceService.insertUdiRelevanceignore(udiRelevanceEntity1);
}
}

@ -7,17 +7,26 @@ import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.dao.basic.UdiRelevanceDao;
import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.entity.thrsys.BasicInsMaterialEntity;
import com.glxp.api.entity.thrsys.ThrProductsAddDiEntity;
import com.glxp.api.entity.thrsys.ThrProductsEntity;
import com.glxp.api.entity.thrsys.YbDrug;
import com.glxp.api.exception.JsonException;
import com.glxp.api.http.NmpaUdiClient;
import com.glxp.api.req.basic.UdiCombineRequest;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.basic.YbDrugDetailFilterRequest;
import com.glxp.api.req.thrsys.FilterThrProductsRequest;
import com.glxp.api.req.thrsys.ThrInsDrugFeeRequest;
import com.glxp.api.req.thrsys.ThrInsMaterialFeeRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.service.thrsys.BasicInsMaterialService;
import com.glxp.api.service.thrsys.ThrProductsService;
import com.glxp.api.service.thrsys.YbDrugService;
import com.glxp.api.util.CustomUtil;
import com.glxp.api.util.DateUtil;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.IntUtil;
import com.glxp.api.util.udi.UdiInfoUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -45,6 +54,11 @@ public class UdiContrastService {
@Resource
NmpaUdiClient udiDlHttpClient;
@Resource
BasicInsMaterialService basicInsMaterialService;
@Resource
YbDrugService ybDrugService;
public boolean isExit(String originUuid, String mainId, String thirdSys) {
@ -178,14 +192,19 @@ public class UdiContrastService {
udiRelevanceEntity.setId(gennerOrderUtils.getRelId());
udiRelevanceEntity.setIsDisable(false);
if (udiInfoEntities.get(0).getDiType() == ConstantStatus.DI_TYPE_SYDY) {
udiRelevanceEntity.setIsUseDy(true);
}
UdiProductEntity udiProductEntity = getDiProduct(udiInfoEntities);
udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, udiProductEntity);
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
insertUdiInfos(udiInfoEntities);
}
public UdiProductEntity getDiProduct(List<UdiProductEntity> udiInfoEntities) {
return udiInfoEntities.stream()
.filter(udiProductEntity -> IntUtil.value(udiProductEntity.getDiType()) == 1)
.findFirst()
.orElse(null);
}
public void createOnlyMainId(String mainId) {
FilterThrProductsRequest filterThrProductsRequest = new FilterThrProductsRequest();
@ -199,25 +218,152 @@ public class UdiContrastService {
udiRelevanceEntity.setUuid(CustomUtil.getUUId());
udiRelevanceEntity.setSupName(thrProductsEntity.getSupName());
udiRelevanceEntity.setId(gennerOrderUtils.getRelId());
udiRelevanceEntity.setSplitEnable(true);
udiRelevanceEntity.setAutoCode(true);
udiRelevanceEntity.setIsDisable(false);
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
UdiProductEntity udiProductEntity = new UdiProductEntity();
BeanUtils.copyProperties(thrProductsEntity, udiProductEntity);
udiProductEntity.setNameCode(thrProductsEntity.getCode());
udiProductEntity.setCpmctymc(thrProductsEntity.getName());
udiProductEntity.setManufactory(thrProductsEntity.getManufactory());
udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getManufactory());
udiProductEntity.setGgxh(thrProductsEntity.getSpec());
udiProductEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo());
udiProductEntity.setUuid(udiRelevanceEntity.getUuid());
udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD);
udiProductEntity.setDiType(1);
udiProductEntity.setScbssfbhph("否");
udiProductEntity.setScbssfbhscrq("否");
udiProductEntity.setScbssfbhsxrq("否");
udiProductEntity.setScbssfbhxlh("否");
udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity);
udiProductService.insertUdiInfo(udiProductEntity);
BasicInsMaterialEntity basicInsMaterialEntity = null;
if (thrProductsEntity.getYbbm() != null) {
//判断药品还是器械
if (thrProductsEntity.getProductType() == 2) {
ThrInsDrugFeeRequest thrInsDrugFeeRequest = new ThrInsDrugFeeRequest();
thrInsDrugFeeRequest.setMedCatalogCode(thrProductsEntity.getYbbm());
YbDrugDetailFilterRequest ybHcflDetailFilterRequest = new YbDrugDetailFilterRequest();
ybHcflDetailFilterRequest.setLimit(1);
ybHcflDetailFilterRequest.setPage(1);
ybHcflDetailFilterRequest.setGoodsCode(thrProductsEntity.getYbbm());
List<YbDrug> 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(thrProductsEntity.getCode());
udiProductEntity.setPrepnSpec(ybDrug.getRealityOutlook());
udiProductEntity.setZczbhhzbapzbh(ybDrug.getApprovalCode());
udiProductEntity.setCpmctymc(ybDrug.getRegisteredProductName());
udiProductEntity.setSpmc(ybDrug.getGoodsName());
udiProductEntity.setBzgg(String.valueOf(ybDrug.getFactor())+ ybDrug.getMinUnit() + "/" + ybDrug.getUnit());
udiProductEntity.setMatrial(ybDrug.getMaterialName());
udiProductEntity.setPackMatrial(ybDrug.getMaterialName());
udiProductEntity.setMedicareType(setMedicareType(ybDrug.getProductInsuranceType()));
//最小产品单位
udiProductEntity.setPackUnit(ybDrug.getUnit());
//设置最小产品数量
udiProductEntity.setBhxjsl(ybDrug.getFactor());
//设置包装级别
udiProductEntity.setPackLevel(1 + "");
//生产厂家
udiProductEntity.setManufactory(ybDrug.getCompanyNameSc());
//商品条码 essentialDrugMarkName sptm
// udiProductEntity.setSptm(ybDrug.getBusinessLicense());
udiProductEntity.setPrepnUnit(ybDrug.getRealityMedicinemodel());
}
udiProductEntity.setUuid(udiRelevanceEntity.getUuid());
udiProductEntity.setDiType(1);
udiProductEntity.setScbssfbhph("是");
udiProductEntity.setScbssfbhscrq("是");
udiProductEntity.setScbssfbhsxrq("是");
udiProductEntity.setScbssfbhxlh("否");
udiProductEntity.setProductsType(thrProductsEntity.getProductType());
udiProductEntity.setRequireScanCode(1);
udiProductEntity.setMajorStatus(1);
udiProductEntity.setPhysicType(3);
if (StrUtil.isEmpty(udiProductEntity.getPrice())) {
udiProductEntity.setPrice("0.00");
}
udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity);
udiProductService.insertUdiInfo(udiProductEntity);
// setLevel(udiRelevanceEntity.getUuid());
UdiProductEntity byUuid = udiProductService.findByUuid(udiRelevanceEntity.getUuid());
udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, byUuid);
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
} else {
//器械
ThrInsMaterialFeeRequest request = new ThrInsMaterialFeeRequest();
request.setMedCatalogCode(thrProductsEntity.getYbbm());
List<BasicInsMaterialEntity> basicInsMaterialEntities = basicInsMaterialService.filterList(request);
if (basicInsMaterialEntities.size() > 0) {
basicInsMaterialEntity = basicInsMaterialEntities.get(0);
}
UdiProductEntity udiProductEntity = new UdiProductEntity();
BeanUtils.copyProperties(thrProductsEntity, udiProductEntity);
udiProductEntity.setNameCode(thrProductsEntity.getCode());
udiProductEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo());
udiProductEntity.setPackUnit(thrProductsEntity.getMeasname());
udiProductEntity.setGgxh(basicInsMaterialEntity != null ? basicInsMaterialEntity.getSpecification() : thrProductsEntity.getSpec());
udiProductEntity.setManufactory(basicInsMaterialEntity != null ? basicInsMaterialEntity.getManufacturerName() : thrProductsEntity.getManufactory());
udiProductEntity.setBzgg(thrProductsEntity.getSpec());
udiProductEntity.setCpmctymc(thrProductsEntity.getName());
udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getManufactory());
//包装单位
udiProductEntity.setPrepnUnit(thrProductsEntity.getPrepnUnit() == null ? null : thrProductsEntity.getPrepnUnit());
udiProductEntity.setUuid(udiRelevanceEntity.getUuid());
udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD);
udiProductEntity.setDiType(1);
udiProductEntity.setScbssfbhph("是");
udiProductEntity.setScbssfbhscrq("是");
udiProductEntity.setScbssfbhsxrq("是");
udiProductEntity.setScbssfbhxlh("否");
udiProductEntity.setProductsType(thrProductsEntity.getProductType());
udiProductEntity.setRequireScanCode(0);
if (StrUtil.isEmpty(udiProductEntity.getPrice())) {
udiProductEntity.setPrice(null);
}
udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity);
udiProductService.insertUdiInfo(udiProductEntity);
udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, udiProductEntity);
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
}
} else {
//没有医保编码
Boolean aBoolean = insertProduct(thrProductsEntity, basicInsMaterialEntity, udiRelevanceEntity);
if (!aBoolean) {
throw new JsonException(500, "系统繁忙,");
}
return;
// UdiProductEntity udiProductEntity = new UdiProductEntity();
// BeanUtils.copyProperties(thrProductsEntity, udiProductEntity);
// if (thrProductsEntity.getProductType() != 2){
// //不是药品就设置namecode
// udiProductEntity.setNameCode(thrProductsEntity.getCode());
// udiProductEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo());
// udiProductEntity.setPackUnit(thrProductsEntity.getMeasname());
// udiProductEntity.setGgxh(basicInsMaterialEntity != null ? basicInsMaterialEntity.getSpecification() : thrProductsEntity.getSpec());
// udiProductEntity.setManufactory(basicInsMaterialEntity != null ? basicInsMaterialEntity.getManufacturerName() : thrProductsEntity.getManufactory());
// }
// udiProductEntity.setBzgg(thrProductsEntity.getSpec());
// udiProductEntity.setCpmctymc(thrProductsEntity.getName());
// udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getManufactory());
//
// //包装单位
// udiProductEntity.setPrepnUnit(thrProductsEntity.getMeasname());
// udiProductEntity.setUuid(udiRelevanceEntity.getUuid());
// udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD);
// udiProductEntity.setDiType(1);
// udiProductEntity.setScbssfbhph("是");
// udiProductEntity.setScbssfbhscrq("是");
// udiProductEntity.setScbssfbhsxrq("是");
// udiProductEntity.setScbssfbhxlh("否");
//
// udiProductEntity.setProductsType(thrProductsEntity.getProductType());
// if (thrProductsEntity.getProductType() == 2){
// udiProductEntity.setRequireScanCode(1);
// udiProductEntity.setMajorStatus(1);
// }else {
// udiProductEntity.setRequireScanCode(0);
// }
// if (StrUtil.isEmpty(udiProductEntity.getPrice())) {
// udiProductEntity.setPrice(null);
// }
// udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity);
// udiProductService.insertUdiInfo(udiProductEntity);
// udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, udiProductEntity);
// udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
}
}
@ -255,30 +401,34 @@ public class UdiContrastService {
public Long createOnlyUuid(UdiCombineRequest udiCombineRequest, String key) {
List<UdiProductEntity> udiInfoEntities = udiDlHttpClient.getOrUpdateByUuid(key);
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
udiRelevanceEntity.setUpdateTime(new Date());
udiRelevanceEntity.setModifyTime(new Date());
udiRelevanceEntity.setUuid(udiInfoEntities.get(0).getUuid());
if (StrUtil.isNotBlank(udiCombineRequest.getSupName())) {
udiRelevanceEntity.setSupName(udiCombineRequest.getSupName());
}
Long relId = gennerOrderUtils.getRelId();
udiRelevanceEntity.setId(relId);
udiRelevanceEntity.setIsDisable(false);
UdiProductEntity udiProductEntity = udiRelevanceService.getDiProduct(udiInfoEntities);
udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, udiProductEntity);
insertUdiInfos(udiInfoEntities);
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
return relId;
}
if (udiInfoEntities == null || udiInfoEntities.size() == 0) {
//为了处理审核时的线上问题
int a = 9999;
return Long.valueOf(a);
public Integer setMedicareType(String insuranceDrugClass) {
if ("甲".equals(insuranceDrugClass)) {
return 1;
} else if ("乙".equals(insuranceDrugClass)) {
return 2;
} else if ("丙".equals(insuranceDrugClass)) {
return 3;
} else {
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
udiRelevanceEntity.setUpdateTime(new Date());
udiRelevanceEntity.setModifyTime(new Date());
udiRelevanceEntity.setUuid(udiInfoEntities.get(0).getUuid());
if (StrUtil.isNotBlank(udiCombineRequest.getSupName())) {
udiRelevanceEntity.setSupName(udiCombineRequest.getSupName());
}
if (udiInfoEntities.get(0).getDiType() == ConstantStatus.DI_TYPE_SYDY) {
udiRelevanceEntity.setIsUseDy(true);
}
Long relId = gennerOrderUtils.getRelId();
udiRelevanceEntity.setId(relId);
udiRelevanceEntity.setIsDisable(false);
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
insertUdiInfos(udiInfoEntities);
return relId;
return null; // 或者 throw new IllegalArgumentException("未知的医保类别");
}
}
public void insertUdiInfos(List<UdiProductEntity> udiInfoEntities) {
@ -293,4 +443,49 @@ public class UdiContrastService {
}
}
public Boolean insertProduct(ThrProductsEntity thrProductsEntity, BasicInsMaterialEntity basicInsMaterialEntity, UdiRelevanceEntity udiRelevanceEntity) {
//没有医保编码
UdiProductEntity udiProductEntity = new UdiProductEntity();
BeanUtils.copyProperties(thrProductsEntity, udiProductEntity);
if (thrProductsEntity.getProductType() != 2) {
//不是药品就设置namecode
udiProductEntity.setNameCode(thrProductsEntity.getCode());
udiProductEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo());
udiProductEntity.setPackUnit(thrProductsEntity.getMeasname());
udiProductEntity.setGgxh(basicInsMaterialEntity != null ? basicInsMaterialEntity.getSpecification() : thrProductsEntity.getSpec());
udiProductEntity.setManufactory(basicInsMaterialEntity != null ? basicInsMaterialEntity.getManufacturerName() : thrProductsEntity.getManufactory());
}
udiProductEntity.setBzgg(thrProductsEntity.getSpec());
udiProductEntity.setCpmctymc(thrProductsEntity.getName());
udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getManufactory());
//包装单位
udiProductEntity.setPackUnit(thrProductsEntity.getMeasname());
udiProductEntity.setUuid(udiRelevanceEntity.getUuid());
udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD);
udiProductEntity.setDiType(1);
udiProductEntity.setScbssfbhph("是");
udiProductEntity.setScbssfbhscrq("是");
udiProductEntity.setScbssfbhsxrq("是");
udiProductEntity.setScbssfbhxlh("否");
udiProductEntity.setProductsType(thrProductsEntity.getProductType());
if (thrProductsEntity.getProductType() == 2) {
udiProductEntity.setRequireScanCode(1);
udiProductEntity.setMajorStatus(1);
udiProductEntity.setPhysicType(3);
} else {
udiProductEntity.setRequireScanCode(0);
}
if (StrUtil.isEmpty(udiProductEntity.getPrice())) {
udiProductEntity.setPrice(null);
}
udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity);
udiProductService.insertUdiInfo(udiProductEntity);
udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, udiProductEntity);
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
return true;
}
}

@ -1,10 +1,12 @@
package com.glxp.api.service.basic;
import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.req.basic.AddProductRequest;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.basic.UdiInfoRequest;
import com.glxp.api.req.basic.UpdateLevelDrugRequest;
import com.glxp.api.res.DiLevelResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import java.util.List;
@ -70,4 +72,14 @@ public interface UdiProductService {
AddProductRequest addDrug(AddProductRequest addProductRequest);
void saveOrUpadateLevelDrug(UpdateLevelDrugRequest updateLevelDrugRequest);
List<DiLevelResponse> findLevelByRelId(Long id);
void calculateDistCount(UdiProductEntity udiProductEntity, UdiRelevanceEntity udiRelevanceEntity);
void calculateUseCount(UdiProductEntity udiProductEntity, UdiRelevanceEntity udiRelevanceEntity);
void updateLevelCount(UdiRelevanceEntity udiRelevanceEntity);
boolean deleteByNameCode(String nameCode);
}

@ -2,6 +2,7 @@ package com.glxp.api.service.basic;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
@ -104,4 +105,7 @@ public interface UdiRelevanceService extends IService<UdiRelevanceEntity> {
Integer findPurType(Long relId);
UdiRelevanceEntity insertDefaultLevel(UdiRelevanceEntity udiRelevanceEntity, UdiProductEntity udiProductEntity);
UdiProductEntity getDiProduct(List<UdiProductEntity> udiInfoEntities);
}

@ -3,6 +3,7 @@ package com.glxp.api.service.basic.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.dao.basic.UdiProductDao;
@ -14,20 +15,23 @@ import com.glxp.api.req.basic.AddProductRequest;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.basic.UdiInfoRequest;
import com.glxp.api.req.basic.UpdateLevelDrugRequest;
import com.glxp.api.res.DiLevelResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.basic.UdiProductService;
import com.glxp.api.util.IntUtil;
import com.glxp.api.util.PinyinUtils;
import com.glxp.api.util.udi.FilterUdiUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import java.util.*;
import java.util.stream.Collectors;
@Service
@Transactional(rollbackFor = Exception.class)
@ -42,6 +46,8 @@ public class UdiProductServiceImpl implements UdiProductService {
@Resource
private CustomerService customerService;
private static final Logger logger = LoggerFactory.getLogger(UdiProductService.class);
@Override
public List<UdiProductEntity> filterUdiInfo(FilterUdiRelRequest filterUdiRelRequest) {
if (filterUdiRelRequest == null) {
@ -124,27 +130,42 @@ public class UdiProductServiceImpl implements UdiProductService {
return udiProductEntities.get(0);
return null;
}
@Override
public boolean insertUdiInfo(UdiProductEntity udiProductEntity) {
udiProductEntity.setUpdateTime(new Date());
if (udiProductEntity.getId() == null) {
udiProductEntity.setId(IdUtil.getSnowflakeNextId());
}
if (StrUtil.isNotBlank(udiProductEntity.getCpmctymc()) && StrUtil.isBlank(udiProductEntity.getPinyinInitial())) {
try {
String pinyin = PinyinUtils.converterToFirstSpell(udiProductEntity.getCpmctymc());
udiProductEntity.setPinyinInitial(pinyin);
} catch (Exception e) {
logger.error(ExceptionUtils.getStackTrace(e));
e.printStackTrace();
}
//医保编码解析
String catalogcode = udiProductEntity.getCatalogcode();
if (StrUtil.isNotEmpty(catalogcode) && catalogcode.length() >= 7) {
Integer catalogcode1 = Integer.valueOf(catalogcode.substring(1, 3));
Integer catalogcode2 = Integer.valueOf(catalogcode1 + catalogcode.substring(3, 5));
Integer catalogcode3 = Integer.valueOf(catalogcode2 + catalogcode.substring(5, 7));
udiProductEntity.setCatalogCode1(catalogcode1);
udiProductEntity.setCatalogCode2(catalogcode2);
udiProductEntity.setCatalogCode3(catalogcode3);
}
return udiProductDao.insertUdiInfo(udiProductEntity);
}
// @Override
// public boolean insertUdiInfo(UdiProductEntity udiProductEntity) {
// udiProductEntity.setUpdateTime(new Date());
// if (udiProductEntity.getId() == null) {
// udiProductEntity.setId(IdUtil.getSnowflakeNextId());
// }
//
// //医保编码解析
// String catalogcode = udiProductEntity.getCatalogcode();
// if (StrUtil.isNotEmpty(catalogcode) && catalogcode.length() >= 7) {
// Integer catalogcode1 = Integer.valueOf(catalogcode.substring(1, 3));
// Integer catalogcode2 = Integer.valueOf(catalogcode1 + catalogcode.substring(3, 5));
// Integer catalogcode3 = Integer.valueOf(catalogcode2 + catalogcode.substring(5, 7));
// udiProductEntity.setCatalogCode1(catalogcode1);
// udiProductEntity.setCatalogCode2(catalogcode2);
// udiProductEntity.setCatalogCode3(catalogcode3);
// }
//
// return udiProductDao.insertUdiInfo(udiProductEntity);
// }
@Override
public boolean insertUdiInfos(List<UdiProductEntity> udiInfoEntities) {
@ -159,38 +180,48 @@ public class UdiProductServiceImpl implements UdiProductService {
return udiProductDao.updateUdiInfo(udiProductEntity);
}
@Override
// @Override
// public boolean updateUdiInfoByUuid(UdiProductEntity udiProductEntity) {
// if (StrUtil.isEmpty(udiProductEntity.getUuid()))
// return false;
// udiProductEntity.setUpdateTime(new Date());
// //医保编码解析
// String catalogcode = udiProductEntity.getCatalogcode();
// if (StrUtil.isNotEmpty(catalogcode) && catalogcode.length() >= 7) {
// Integer catalogcode1 = Integer.valueOf(catalogcode.substring(1, 3));
// Integer catalogcode2 = Integer.valueOf(catalogcode1 + catalogcode.substring(3, 5));
// Integer catalogcode3 = Integer.valueOf(catalogcode2 + catalogcode.substring(5, 7));
// udiProductEntity.setCatalogCode1(catalogcode1);
// udiProductEntity.setCatalogCode2(catalogcode2);
// udiProductEntity.setCatalogCode3(catalogcode3);
// }
// return udiProductDao.updateUdiInfoByUuid(udiProductEntity);
// }
public boolean updateUdiInfoByUuid(UdiProductEntity udiProductEntity) {
if (StrUtil.isEmpty(udiProductEntity.getUuid()))
return false;
udiProductEntity.setUpdateTime(new Date());
//医保编码解析
String catalogcode = udiProductEntity.getCatalogcode();
if (StrUtil.isNotEmpty(catalogcode) && catalogcode.length() >= 7) {
Integer catalogcode1 = Integer.valueOf(catalogcode.substring(1, 3));
Integer catalogcode2 = Integer.valueOf(catalogcode1 + catalogcode.substring(3, 5));
Integer catalogcode3 = Integer.valueOf(catalogcode2 + catalogcode.substring(5, 7));
udiProductEntity.setCatalogCode1(catalogcode1);
udiProductEntity.setCatalogCode2(catalogcode2);
udiProductEntity.setCatalogCode3(catalogcode3);
}
return udiProductDao.updateUdiInfoByUuid(udiProductEntity);
}
// @Override
// public boolean updateUdiInfoById(UdiProductEntity udiProductEntity) {
// udiProductEntity.setUpdateTime(new Date());
// //医保编码解析
// String catalogcode = udiProductEntity.getCatalogcode();
// if (StrUtil.isNotEmpty(catalogcode) && catalogcode.length() >= 7) {
// Integer catalogcode1 = Integer.valueOf(catalogcode.substring(1, 3));
// Integer catalogcode2 = Integer.valueOf(catalogcode1 + catalogcode.substring(3, 5));
// Integer catalogcode3 = Integer.valueOf(catalogcode2 + catalogcode.substring(5, 7));
// udiProductEntity.setCatalogCode1(catalogcode1);
// udiProductEntity.setCatalogCode2(catalogcode2);
// udiProductEntity.setCatalogCode3(catalogcode3);
// }
//
// return udiProductDao.updateUdiInfoById(udiProductEntity);
// }
@Override
public boolean updateUdiInfoById(UdiProductEntity udiProductEntity) {
udiProductEntity.setUpdateTime(new Date());
//医保编码解析
String catalogcode = udiProductEntity.getCatalogcode();
if (StrUtil.isNotEmpty(catalogcode) && catalogcode.length() >= 7) {
Integer catalogcode1 = Integer.valueOf(catalogcode.substring(1, 3));
Integer catalogcode2 = Integer.valueOf(catalogcode1 + catalogcode.substring(3, 5));
Integer catalogcode3 = Integer.valueOf(catalogcode2 + catalogcode.substring(5, 7));
udiProductEntity.setCatalogCode1(catalogcode1);
udiProductEntity.setCatalogCode2(catalogcode2);
udiProductEntity.setCatalogCode3(catalogcode3);
}
return udiProductDao.updateUdiInfoById(udiProductEntity);
}
@ -227,6 +258,12 @@ public class UdiProductServiceImpl implements UdiProductService {
@Override
/**
* /
*
* @param addProductRequest
* @return
*/
/**
* /
*
@ -253,20 +290,29 @@ public class UdiProductServiceImpl implements UdiProductService {
if (IntUtil.value(udiProductEntity.getPackLevel()) == 1) {
udiProductEntity.setDiType(1);
}
udiProductDao.updateUdiInfo(udiProductEntity);
//修改关联表
udiRelevanceEntity.setUseLeverCount(addProductRequest.getUseLeverCount());
udiRelevanceEntity.setUseLevelDi(addProductRequest.getUseLevelDi());
udiRelevanceEntity.setUseLevelUnit(addProductRequest.getUseLevelUnit());
udiRelevanceEntity.setDistributeLevelDi(addProductRequest.getDistributeLevelDi());
udiRelevanceEntity.setDistributeLevelUnit(addProductRequest.getDistributeLevelUnit());
udiRelevanceEntity.setDistributeLevelCount(addProductRequest.getDistributeLevelCount());
udiRelevanceEntity.setPayFeeCode(addProductRequest.getPayFeeCode());
udiRelevanceEntity.setUpdateTime(new Date());
udiRelevanceDao.updateById(udiRelevanceEntity);
int i = udiProductDao.updateById(udiProductEntity);
if (i == 0) {
throw new JsonException(500, "更新错误");
}
}
//修改关联表
// udiRelevanceEntity.setUseLeverCount(addProductRequest.getUseLeverCount());
udiRelevanceEntity.setSplitEnable(addProductRequest.getSplitEnable());
udiRelevanceEntity.setAutoCode(addProductRequest.getAutoCode());
// udiRelevanceEntity.setUseLevelDi(addProductRequest.getUseLevelDi());
// udiRelevanceEntity.setUseLevelUnit(addProductRequest.getUseLevelUnit());
udiRelevanceEntity.setUseLevel(addProductRequest.getUseLevel());
// udiRelevanceEntity.setDistributeLevelDi(addProductRequest.getDistributeLevelDi());
// udiRelevanceEntity.setDistributeLevelUnit(addProductRequest.getDistributeLevelUnit());
// udiRelevanceEntity.setDistributeLevelCount(addProductRequest.getDistributeLevelCount());
udiRelevanceEntity.setDistributeLevel(addProductRequest.getDistributeLevel());
udiRelevanceEntity.setPayFeeCode(addProductRequest.getPayFeeCode());
udiRelevanceEntity.setUseMaxLevel(addProductRequest.getUseMaxLevel());
udiRelevanceEntity.setDistributeMaxLevel(addProductRequest.getDistributeMaxLevel());
udiRelevanceEntity.setUnpackUseTime(addProductRequest.getUnpackUseTime());
udiRelevanceDao.updateById(udiRelevanceEntity);
updateLevelCount(udiRelevanceEntity);
} else {
udiRelevanceEntity = new UdiRelevanceEntity();
udiRelevanceEntity.setId(IdUtil.getSnowflakeNextId());
@ -274,13 +320,41 @@ public class UdiProductServiceImpl implements UdiProductService {
udiRelevanceEntity.setIsUseDy(false);
udiRelevanceEntity.setUuid(IdUtil.getSnowflakeNextId() + "");
udiRelevanceEntity.setNeedCert(false);
udiRelevanceEntity.setSplitEnable(true);
udiRelevanceEntity.setAutoCode(true);
udiRelevanceEntity.setPurType(1);
udiRelevanceEntity.setProductsType(2);
udiRelevanceEntity.setAttributeType(addProductRequest.getAttributeType());
udiRelevanceEntity.setHcType(addProductRequest.getHcType());
udiRelevanceEntity.setPayFeeCode(addProductRequest.getPayFeeCode());
udiRelevanceEntity.setUnpackUseTime(addProductRequest.getUnpackUseTime());
// if (addProductRequest.getDistributeLevelDi() != null) {
// udiRelevanceEntity.setDistributeLevelDi(addProductRequest.getDistributeLevelDi());
// }
// if (addProductRequest.getDistributeLevelCount() != null) {
// udiRelevanceEntity.setDistributeLevelCount(addProductRequest.getDistributeLevelCount());
// }
// if (addProductRequest.getDistributeLevelUnit() != null) {
// udiRelevanceEntity.setDistributeLevelUnit(addProductRequest.getDistributeLevelUnit());
// }
//
// if (addProductRequest.getUseLevelDi() != null) {
// udiRelevanceEntity.setUseLevelDi(addProductRequest.getUseLevelDi());
// }
// if (addProductRequest.getUseLevelUnit() != null) {
// udiRelevanceEntity.setUseLevelUnit(addProductRequest.getUseLevelUnit());
// }
// if (addProductRequest.getUseLeverCount() != null) {
// udiRelevanceEntity.setUseLeverCount(addProductRequest.getUseLeverCount());
// }
if (addProductRequest.getDistributeLevel() != null) {
udiRelevanceEntity.setDistributeLevel(addProductRequest.getDistributeLevel());
}
if (addProductRequest.getUseLevel() != null) {
udiRelevanceEntity.setUseLevel(addProductRequest.getUseLevel());
}
udiRelevanceEntity.setUseMaxLevel(addProductRequest.getUseMaxLevel());
udiRelevanceEntity.setDistributeMaxLevel(addProductRequest.getDistributeMaxLevel());
if (CollUtil.isNotEmpty(addProductRequest.getDrugLevelLists())) {
for (UpdateLevelDrugRequest updateLevelDrugRequest : addProductRequest.getDrugLevelLists()) {
UdiProductEntity udiProductEntity1 = udiProductDao.findByNameCode(updateLevelDrugRequest.getNameCode());
@ -291,10 +365,11 @@ public class UdiProductServiceImpl implements UdiProductService {
// BeanUtils.copyProperties(updateLevelDrugRequest, udiProductEntity);
BeanUtils.copyProperties(addProductRequest, udiProductEntity);
udiProductEntity.setNameCode(updateLevelDrugRequest.getNameCode());
udiProductEntity.setBhxjsl(updateLevelDrugRequest.getBhxjsl());
udiProductEntity.setBhxjsl(updateLevelDrugRequest.getMyBhxjsl());
udiProductEntity.setPackUnit(updateLevelDrugRequest.getPackUnit());
udiProductEntity.setSjcpbm(updateLevelDrugRequest.getSjcpbm());
udiProductEntity.setCpmctymc(addProductRequest.getCpmctymc());
udiProductEntity.setPackLevel(String.valueOf(updateLevelDrugRequest.getPackLevel()));
udiProductEntity.setUuid(udiRelevanceEntity.getUuid());
udiProductEntity.setProductsType(2);
udiProductEntity.setGgxh(addProductRequest.getSpec());
@ -302,8 +377,7 @@ public class UdiProductServiceImpl implements UdiProductService {
udiProductEntity.setZczbhhzbapzbh(addProductRequest.getRegisterNo());
udiProductEntity.setPackLevel(updateLevelDrugRequest.getPackLevel() + "");
udiProductEntity.setUuid(udiProductEntity.getUuid());
//药品扫码 过滤 三期
udiProductEntity.setAllowNoSerial(true);
udiProductEntity.setPrice(udiProductEntity.getPrice());
if (IntUtil.value(udiProductEntity.getPackLevel()) == 1 || addProductRequest.getDrugLevelLists().size() == 1) {
udiProductEntity.setDiType(1);
if (IntUtil.value(udiProductEntity.getPackLevel()) == 1) {
@ -318,6 +392,7 @@ public class UdiProductServiceImpl implements UdiProductService {
}
udiRelevanceDao.insertUdiRelevance(udiRelevanceEntity);
updateLevelCount(udiRelevanceEntity);
}
return addProductRequest;
}
@ -328,31 +403,31 @@ public class UdiProductServiceImpl implements UdiProductService {
if (updateLevelDrugRequest.getRelId() != null) {
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceDao.selectById(updateLevelDrugRequest.getRelId());
UdiProductEntity udiProductEntity1 = udiProductDao.findByNameCode(updateLevelDrugRequest.getNameCode());
UdiProductEntity byUuids = udiProductDao.findById(updateLevelDrugRequest.getProductId() + "");
UdiProductEntity udiProductEntity1 = null;
if (updateLevelDrugRequest.getProductId() != null) {
udiProductEntity1 = byUuids;
} else {
udiProductEntity1 = udiProductDao.findByNameCode(updateLevelDrugRequest.getNameCode());
}
if (udiProductEntity1 != null) {
//更新
udiProductEntity1.setNameCode(updateLevelDrugRequest.getNameCode());
udiProductEntity1.setPackLevel(updateLevelDrugRequest.getPackLevel() + "");
udiProductEntity1.setPackUnit(updateLevelDrugRequest.getPackUnit());
udiProductEntity1.setSjcpbm(updateLevelDrugRequest.getSjcpbm());
udiProductEntity1.setBhxjcpbm(updateLevelDrugRequest.getBhxjcpbm());
udiProductEntity1.setBhxjsl(updateLevelDrugRequest.getBhxjsl());
updateUdiProductEntity(udiProductEntity1, updateLevelDrugRequest);
udiProductDao.updateById(udiProductEntity1);
} else {
//新增
udiProductEntity1 = udiProductDao.findByUuid(udiRelevanceEntity.getUuid());
udiProductEntity1.setNameCode(updateLevelDrugRequest.getNameCode());
udiProductEntity1.setPackLevel(updateLevelDrugRequest.getPackLevel() + "");
udiProductEntity1.setPackUnit(updateLevelDrugRequest.getPackUnit());
udiProductEntity1.setSjcpbm(updateLevelDrugRequest.getSjcpbm());
udiProductEntity1.setBhxjcpbm(updateLevelDrugRequest.getBhxjcpbm());
udiProductEntity1.setBhxjsl(updateLevelDrugRequest.getBhxjsl());
udiProductEntity1 = new UdiProductEntity();
udiProductEntity1.setUuid(udiRelevanceEntity.getUuid());
udiProductEntity1.setId(IdUtil.getSnowflakeNextId());
updateUdiProductEntity(udiProductEntity1, updateLevelDrugRequest);
udiProductDao.insert(udiProductEntity1);
}
updateLevelCount(udiRelevanceEntity);
// if (IntUtil.value(udiProductEntity1.getPackLevel()) == 1) {
// calculateDistCount(udiProductEntity1, udiRelevanceEntity);
// calculateUseCount(udiProductEntity1, udiRelevanceEntity);
// }
} else {
//必须先提交后才能保存
UdiProductEntity udiProductEntity1 = udiProductDao.findByNameCode(updateLevelDrugRequest.getNameCode());
if (udiProductEntity1 != null) {
throw new JsonException(500, "层级编码已存在!");
@ -360,16 +435,63 @@ public class UdiProductServiceImpl implements UdiProductService {
}
}
private void updateUdiProductEntity(UdiProductEntity entity, UpdateLevelDrugRequest request) {
entity.setNameCode(request.getNameCode());
entity.setPackLevel(String.valueOf(request.getPackLevel()));
entity.setPackUnit(request.getPackUnit());
entity.setSjcpbm(request.getSjcpbm());
entity.setBhxjcpbm(request.getBhxjcpbm());
entity.setBhxjsl(request.getMyBhxjsl());
entity.setDiType(request.getDiType());
entity.setXjdw(request.getXjdw());
}
@Override
public List<DiLevelResponse> findLevelByRelId(Long relId) {
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceDao.selectById(relId);
List<UdiProductEntity> udiInfoEntities = findByUuids(udiRelevanceEntity.getUuid());
List<DiLevelResponse> diLevelResponses = new ArrayList<>();
if (CollUtil.isNotEmpty(udiInfoEntities)) {
Map<String, List<UdiProductEntity>> groupedByLevel = udiInfoEntities.stream()
.collect(Collectors.groupingBy(UdiProductEntity::getPackLevel));
groupedByLevel.forEach((level, entities) -> {
UdiProductEntity udiProductEntity = entities.get(0);
DiLevelResponse diLevelResponse = new DiLevelResponse();
diLevelResponse.setLevelUnit(udiProductEntity.getLevelUnit());
diLevelResponse.setPackLevel(IntUtil.value(udiProductEntity.getPackLevel()));
diLevelResponse.setDiType(udiProductEntity.getDiType());
diLevelResponse.setXjdw(udiProductEntity.getXjdw());
diLevelResponse.setPackUnit(udiProductEntity.getPackUnit());
diLevelResponse.setBhxjsl(udiProductEntity.getBhxjsl());
diLevelResponses.add(diLevelResponse);
if (udiProductEntity.getProductsType() == 2 && IntUtil.value(udiProductEntity.getPackLevel()) == 1) {
DiLevelResponse diLevelResponse1 = new DiLevelResponse();
diLevelResponse1.setLevelUnit(udiProductEntity.getXjdw());
diLevelResponse1.setPackLevel(0);
diLevelResponse1.setDiType(ConstantStatus.DITYPE_SYDY);
diLevelResponse1.setXjdw(udiProductEntity.getXjdw());
diLevelResponse1.setPackUnit(udiProductEntity.getXjdw());
diLevelResponse1.setBhxjsl(1);
diLevelResponses.add(diLevelResponse1);
}
});
}
Collections.sort(diLevelResponses, Comparator.comparing(DiLevelResponse::getPackLevel));
return diLevelResponses;
}
/**
*
*/
public void calculateDistCount(UdiProductEntity udiProductEntity, UdiRelevanceEntity udiRelevanceEntity) {
List<UdiProductEntity> udiProductEntities = udiProductDao.findByOriginUuid(udiProductEntity.getUuid());
List<UdiProductEntity> udiProductEntities = udiProductDao.findByUuids(udiProductEntity.getUuid());
CountWrapper xjCountWrapper = new CountWrapper();
findUltimateEntity(udiProductEntity, udiProductEntities, xjCountWrapper);
udiRelevanceEntity.setDistributeLevelDi(udiProductEntity.getNameCode());
udiRelevanceEntity.setDistributeLevelUnit(udiProductEntity.getPackUnit());
// udiRelevanceEntity.setDistributeLevelDi(udiProductEntity.getNameCode());
// udiRelevanceEntity.setDistributeLevelUnit(udiProductEntity.getPackUnit());
udiRelevanceEntity.setDistributeLevel(IntUtil.value(udiProductEntity.getPackLevel()));
udiRelevanceEntity.setDistributeLevelCount(xjCountWrapper.getCount());
}
@ -377,12 +499,13 @@ public class UdiProductServiceImpl implements UdiProductService {
* 使
*/
public void calculateUseCount(UdiProductEntity udiProductEntity, UdiRelevanceEntity udiRelevanceEntity) {
List<UdiProductEntity> udiProductEntities = udiProductDao.findByOriginUuid(udiProductEntity.getUuid());
List<UdiProductEntity> udiProductEntities = udiProductDao.findByUuids(udiProductEntity.getUuid());
CountWrapper xjCountWrapper = new CountWrapper();
findUltimateEntity(udiProductEntity, udiProductEntities, xjCountWrapper);
udiRelevanceEntity.setUseLevelDi(udiProductEntity.getNameCode());
udiRelevanceEntity.setUseLevelUnit(udiProductEntity.getPackUnit());
udiRelevanceEntity.setUseLeverCount(xjCountWrapper.getCount());
// udiRelevanceEntity.setUseLevelDi(udiProductEntity.getNameCode());
// udiRelevanceEntity.setUseLevelUnit(udiProductEntity.getPackUnit());
udiRelevanceEntity.setUseLevel(IntUtil.value(udiProductEntity.getPackLevel()));
// udiRelevanceEntity.setUseLeverCount(xjCountWrapper.getCount());
}
public static UdiProductEntity findUltimateEntity(UdiProductEntity udiProductEntity, List<UdiProductEntity> udiProductEntities, CountWrapper xjCountWrapper) {
@ -403,12 +526,60 @@ public class UdiProductServiceImpl implements UdiProductService {
}
/**
*
*
* @param udiRelevanceEntity
*/
public void updateLevelCount(UdiRelevanceEntity udiRelevanceEntity) {
List<UdiProductEntity> udiProductEntities = udiProductDao.findByUuids(udiRelevanceEntity.getUuid());
Integer curLevel = udiRelevanceEntity.getDistributeLevel();
List<DiLevelResponse> diLevelResponses = findLevelByRelId(udiRelevanceEntity.getId());
//更新各个层级流通时包含计量单元数量
if (CollUtil.isNotEmpty(udiProductEntities)) {
for (UdiProductEntity udiProductEntity : udiProductEntities) {
int bhltsl = 1;
if (IntUtil.value(udiProductEntity.getPackLevel()) > curLevel) {
bhltsl = udiProductEntity.getBhxjsl();
for (DiLevelResponse diLevelResponse : diLevelResponses) {
if (IntUtil.value(udiProductEntity.getPackLevel()) > diLevelResponse.getPackLevel() && IntUtil.value(diLevelResponse.getPackLevel()) > curLevel) {
bhltsl = bhltsl * diLevelResponse.getBhxjsl();
}
}
}
udiProductEntity.setBhltcjsl(bhltsl);
}
}
curLevel = udiRelevanceEntity.getUseLevel();
//更新各个层级使用时包含计量单元数量
if (CollUtil.isNotEmpty(udiProductEntities)) {
for (UdiProductEntity udiProductEntity : udiProductEntities) {
int bhltsl = 1;
if (IntUtil.value(udiProductEntity.getPackLevel()) > curLevel) {
bhltsl = udiProductEntity.getBhxjsl();
for (DiLevelResponse diLevelResponse : diLevelResponses) {
if (IntUtil.value(udiProductEntity.getPackLevel()) > diLevelResponse.getPackLevel() && IntUtil.value(diLevelResponse.getPackLevel()) > curLevel) {
bhltsl = bhltsl * diLevelResponse.getBhxjsl();
}
}
}
udiProductEntity.setBhsycjsl(bhltsl);
}
}
udiProductDao.updateBatchById(udiProductEntities);
}
@Override
public boolean deleteByNameCode(String nameCode) {
return udiProductDao.delete(new QueryWrapper<UdiProductEntity>().eq("nameCode", nameCode)) > 0;
}
/**
*
*/
private void setUpdateInfo(UdiProductEntity udiProductEntity, UdiRelevanceEntity udiRelevanceEntity) {
Date now = new Date();
String userId = String.valueOf(customerService.getUserBean().getId());

@ -8,6 +8,7 @@ import com.github.pagehelper.PageHelper;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.dao.basic.UdiRelevanceDao;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.entity.thrsys.ThrSystemEntity;
import com.glxp.api.req.basic.FilterUdiRelRequest;
@ -413,4 +414,29 @@ public class UdiRelevanceServiceImpl extends ServiceImpl<UdiRelevanceDao, UdiRel
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceDao.selectOne(new QueryWrapper<UdiRelevanceEntity>().select("purType").eq("id", relId).last("limit 1"));
return IntUtil.value(udiRelevanceEntity.getPurType());
}
@Override
public UdiRelevanceEntity insertDefaultLevel(UdiRelevanceEntity udiRelevanceEntity, UdiProductEntity udiProductEntity) {
if (udiProductEntity != null) {
udiRelevanceEntity.setDistributeLevel(IntUtil.value(udiProductEntity.getPackLevel()));
// udiRelevanceEntity.setDistributeLevelDi(udiProductEntity.getNameCode());
// udiRelevanceEntity.setDistributeLevelUnit(udiProductEntity.getPackUnit());
// udiRelevanceEntity.setDistributeLevelCount(IntUtil.value(udiProductEntity.getBhxjsl()));
udiRelevanceEntity.setUseLevel(IntUtil.value(udiProductEntity.getPackLevel()));
// udiRelevanceEntity.setUseLevelDi(udiProductEntity.getNameCode());
// udiRelevanceEntity.setUseLevelUnit(udiProductEntity.getPackUnit());
// udiRelevanceEntity.setUseLeverCount(IntUtil.value(udiProductEntity.getBhxjsl()));
}
return udiRelevanceEntity;
}
@Override
public UdiProductEntity getDiProduct(List<UdiProductEntity> udiInfoEntities) {
return udiInfoEntities.stream()
.filter(udiProductEntity -> IntUtil.value(udiProductEntity.getDiType()) == 1)
.findFirst()
.orElse(null);
}
}

@ -0,0 +1,26 @@
package com.glxp.api.service.thrsys;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.thrsys.BasicInsMaterialMapper;
import com.glxp.api.entity.thrsys.BasicInsMaterialEntity;
import com.glxp.api.req.thrsys.ThrInsMaterialFeeRequest;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
@Service
public class BasicInsMaterialService extends ServiceImpl<BasicInsMaterialMapper, BasicInsMaterialEntity> {
public List<BasicInsMaterialEntity> filterList(ThrInsMaterialFeeRequest thrInsMaterialFeeRequest) {
if (thrInsMaterialFeeRequest == null) {
return Collections.emptyList();
}
if (thrInsMaterialFeeRequest.getPage() != null) {
int offset = (thrInsMaterialFeeRequest.getPage() - 1) * thrInsMaterialFeeRequest.getLimit();
PageHelper.offsetPage(offset, thrInsMaterialFeeRequest.getLimit());
}
return super.baseMapper.filterList(thrInsMaterialFeeRequest);
}
}

@ -0,0 +1,36 @@
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) {
ybHcflDetailFilterRequest.setPage(1);
ybHcflDetailFilterRequest.setLimit(1);
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;
}
}

@ -129,7 +129,7 @@ public class AsyncDiDlService {
if (StrUtil.isNotEmpty(productInfoEntity.getSfbjwycxsy()))
udiProductEntity.setSfbjwycxsy(productInfoEntity.getSfbjwycxsy());
if (StrUtil.isNotEmpty(productInfoEntity.getZdcfsycs()))
udiProductEntity.setZdcfsycs(productInfoEntity.getZdcfsycs());
udiProductEntity.setZdcfsycs(Integer.valueOf(productInfoEntity.getZdcfsycs()));
if (StrUtil.isNotEmpty(productInfoEntity.getSfwwjbz()))
udiProductEntity.setSfwwjbz(productInfoEntity.getSfwwjbz());
if (StrUtil.isNotEmpty(productInfoEntity.getSyqsfxyjxmj()))

@ -0,0 +1,57 @@
package com.glxp.api.util;
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
*
*/
public class PinyinUtils {
//汉字转换位汉语拼音首字母,英文字符不变
public static String converterToFirstSpell(String chines) {
chines = cleanChar(chines);
String pinyinName = "";
char[] nameChar = chines.toCharArray();
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
for (int i = 0; i < nameChar.length; i++) {
if (nameChar[i] > 128) {
try {
pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0);
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
} else {
pinyinName += nameChar[i];
}
}
return pinyinName;
}
/**
* 便
* @param chines
* @return
*/
public static String cleanChar(String chines) {
chines = chines.replaceAll("[\\p{Punct}\\p{Space}]+", ""); // 正则去掉所有字符操作
// 正则表达式去掉所有中文的特殊符号
String regEx = "[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~@#¥%……&*()——+|{}<>《》【】‘;:”“’。,、?ⅢγⅣβⅡⅠ×π]";
Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(chines);
chines = matcher.replaceAll("").trim();
return chines;
}
}

@ -179,6 +179,7 @@
WHERE (basic_products.nameCode = #{nameCode})
limit 1
</select>
<insert id="insertUdiInfo" keyProperty="id" parameterType="com.glxp.api.entity.basic.UdiProductEntity">
replace
INTO basic_products
@ -280,74 +281,74 @@
<insert id="insertUdiInfos" parameterType="java.util.List">
replace INTO basic_products
(id, uuid, originUuid, nameCode, deviceRecordKey, packRatio, packLevel, packUnit, bhxjsl, bhzxxsbzsl,
zxxsbzbhsydysl, bhxjcpbm, bzcj, cpmctymc, cplb, flbm, ggxh, qxlb, tyshxydm,
ylqxzcrbarmc, zczbhhzbapzbh, ylqxzcrbarywmc, sydycpbs, sjcpbm, versionNumber, diType, ybbm, sptm,
manufactory, measname, productType, scbssfbhph, scbssfbhxlh, scbssfbhscrq, scbssfbhsxrq, cpms,
allowNoBatch, allowNoExpire,
allowNoProduct, allowNoSerial, spmc, cplx, hchzsb, cpdls, price, basicPrductRemak1, basicPrductRemak2,
basicPrductRemak3, basicPrductRemak4, basicPrductRemak5, basicPrductRemak6, basicPrductRemak7,
basicPrductRemak8, updateTime, sfwblztlcp, cgzmraqxgxx, sfbjwycxsy, zdcfsycs, sfwwjbz, syqsfxyjxmj,
mjfs, categoryName)
values
(id, uuid, originUuid, nameCode, deviceRecordKey, packRatio, packLevel, packUnit, bhxjsl, bhzxxsbzsl,
zxxsbzbhsydysl, bhxjcpbm, bzcj, cpmctymc, cplb, flbm, ggxh, qxlb, tyshxydm,
ylqxzcrbarmc, zczbhhzbapzbh, ylqxzcrbarywmc, sydycpbs, sjcpbm, versionNumber, diType, ybbm, sptm,
manufactory, measname, productType, scbssfbhph, scbssfbhxlh, scbssfbhscrq, scbssfbhsxrq, cpms,
allowNoBatch, allowNoExpire,
allowNoProduct, allowNoSerial, spmc, cplx, hchzsb, cpdls, price, basicPrductRemak1, basicPrductRemak2,
basicPrductRemak3, basicPrductRemak4, basicPrductRemak5, basicPrductRemak6, basicPrductRemak7,
basicPrductRemak8, updateTime, sfwblztlcp, cgzmraqxgxx, sfbjwycxsy, zdcfsycs, sfwwjbz, syqsfxyjxmj,
mjfs, categoryName, pinyinInitial)
values
<foreach collection="udiInfoEntities" item="item" index="index"
separator=",">
(#{item.id},
#{item.uuid},
#{item.originUuid},
#{item.nameCode},
#{item.deviceRecordKey},
#{item.packRatio},
#{item.packLevel},
#{item.packUnit},
#{item.bhxjsl},
#{item.bhzxxsbzsl},
#{item.zxxsbzbhsydysl},
#{item.bhxjcpbm},
#{item.bzcj},
#{item.cpmctymc},
#{item.cplb},
#{item.flbm},
#{item.ggxh},
#{item.qxlb},
#{item.tyshxydm},
#{item.ylqxzcrbarmc},
#{item.zczbhhzbapzbh},
#{item.ylqxzcrbarywmc},
#{item.sydycpbs},
#{item.sjcpbm},
#{item.versionNumber},
#{item.diType},
#{item.ybbm},
#{item.sptm},
#{item.manufactory},
#{item.measname},
#{item.productType},
#{item.scbssfbhph},
#{item.scbssfbhxlh},
#{item.scbssfbhscrq},
#{item.scbssfbhsxrq},
#{item.cpms},
#{item.allowNoBatch},
#{item.allowNoExpire},
#{item.allowNoProduct}, #{item.allowNoSerial},
#{item.spmc},
#{item.cplx},
#{item.hchzsb},
#{item.cpdls},
#{item.price},
#{item.basicPrductRemak1},
#{item.basicPrductRemak2},
#{item.basicPrductRemak3},
#{item.basicPrductRemak4},
#{item.basicPrductRemak5},
#{item.basicPrductRemak6},
#{item.basicPrductRemak7},
#{item.basicPrductRemak8}, #{item.updateTime}, #{item.sfwblztlcp}, #{item.cgzmraqxgxx}, #{item.sfbjwycxsy},
#{item.zdcfsycs},
#{item.sfwwjbz}, #{item.syqsfxyjxmj}, #{item.mjfs},
#{item.categoryName})
#{item.uuid},
#{item.originUuid},
#{item.nameCode},
#{item.deviceRecordKey},
#{item.packRatio},
#{item.packLevel},
#{item.packUnit},
#{item.bhxjsl},
#{item.bhzxxsbzsl},
#{item.zxxsbzbhsydysl},
#{item.bhxjcpbm},
#{item.bzcj},
#{item.cpmctymc},
#{item.cplb},
#{item.flbm},
#{item.ggxh},
#{item.qxlb},
#{item.tyshxydm},
#{item.ylqxzcrbarmc},
#{item.zczbhhzbapzbh},
#{item.ylqxzcrbarywmc},
#{item.sydycpbs},
#{item.sjcpbm},
#{item.versionNumber},
#{item.diType},
#{item.ybbm},
#{item.sptm},
#{item.manufactory},
#{item.measname},
#{item.productType},
#{item.scbssfbhph},
#{item.scbssfbhxlh},
#{item.scbssfbhscrq},
#{item.scbssfbhsxrq},
#{item.cpms},
#{item.allowNoBatch},
#{item.allowNoExpire},
#{item.allowNoProduct}, #{item.allowNoSerial},
#{item.spmc},
#{item.cplx},
#{item.hchzsb},
#{item.cpdls},
#{item.price},
#{item.basicPrductRemak1},
#{item.basicPrductRemak2},
#{item.basicPrductRemak3},
#{item.basicPrductRemak4},
#{item.basicPrductRemak5},
#{item.basicPrductRemak6},
#{item.basicPrductRemak7},
#{item.basicPrductRemak8}, #{item.updateTime}, #{item.sfwblztlcp}, #{item.cgzmraqxgxx}, #{item.sfbjwycxsy},
#{item.zdcfsycs},
#{item.sfwwjbz}, #{item.syqsfxyjxmj}, #{item.mjfs},
#{item.categoryName}, #{item.pinyinInitial})
</foreach>
</insert>
@ -714,6 +715,9 @@
<if test="spmc != null">
spmc=#{spmc},
</if>
<if test="bzgg != null">
bzgg=#{bzgg},
</if>
<if test="cplx != null">
cplx=#{cplx},
</if>
@ -750,9 +754,6 @@
<if test="basicPrductRemak8 != null">
basicPrductRemak8=#{basicPrductRemak8},
</if>
<if test="groupBuy != null">
groupBuy=#{groupBuy},
</if>
<if test="updateTime != null">
updateTime=#{updateTime},
</if>
@ -781,6 +782,7 @@
<if test="categoryName != null">
categoryName=#{categoryName},
</if>
<if test="catalogname1 != null">
catalogname1=#{catalogname1},
</if>
@ -790,26 +792,14 @@
<if test="catalogname3 != null">
catalogname3=#{catalogname3},
</if>
<if test="catalogCode1 != null">
catalogCode1=#{catalogCode1},
</if>
<if test="catalogCode2 != null">
catalogCode2=#{catalogCode2},
</if>
<if test="catalogCode3 != null">
catalogCode3=#{catalogCode3},
</if>
<if test="matrial != null">
matrial=#{matrial},
</if>
<if test="remark != null">
remark=#{remark},
</if>
<if test="requireScanCode != null">
requireScanCode=#{requireScanCode},
</if>
<if test="bzgg != null">
bzgg=#{bzgg},
<if test="workPlaceCount != null">
workPlaceCount=#{workPlaceCount},
</if>
</trim>
where uuid = #{uuid}
@ -866,6 +856,9 @@
<if test="qxlb != null">
qxlb =#{qxlb},
</if>
<if test="bzgg != null">
bzgg =#{bzgg},
</if>
<if test="tyshxydm != null">
tyshxydm=#{tyshxydm},
</if>
@ -974,8 +967,9 @@
<if test="updateTime != null">
updateTime=#{updateTime},
</if>
<if test="pinyinInitial != null">
pinyinInitial=#{pinyinInitial},
</if>
<if test="sfwblztlcp != null">
sfwblztlcp=#{sfwblztlcp},
</if>
@ -1012,63 +1006,7 @@
<if test="matrial != null">
matrial=#{matrial},
</if>
<if test="catalogCode1 != null">
catalogCode1=#{catalogCode1},
</if>
<if test="catalogCode2 != null">
catalogCode2=#{catalogCode2},
</if>
<if test="catalogCode3 != null">
catalogCode3=#{catalogCode3},
</if>
<if test="requireScanCode != null">
requireScanCode=#{requireScanCode},
</if>
<if test="bzgg != null">
bzgg=#{bzgg},
</if>
<if test="productsType != null">
productsType=#{productsType},
</if>
<if test="levelUnit != null">
levelUnit=#{levelUnit},
</if>
<if test="prepnUnit != null">
prepnUnit=#{prepnUnit},
</if>
<if test="prepnSpec != null">
prepnSpec=#{prepnSpec},
</if>
<if test="specialCode != null">
specialCode=#{specialCode},
</if>
<if test="storageCondition != null">
storageCondition=#{storageCondition},
</if>
<if test="transportCondition != null">
transportCondition=#{transportCondition},
</if>
<if test="useAttribute != null">
useAttribute=#{useAttribute},
</if>
<if test="majorType != null">
majorType=#{majorType},
</if>
<if test="majorStatus != null">
majorStatus=#{majorStatus},
</if>
<if test="physicType != null">
physicType=#{physicType},
</if>
<if test="medicareType != null">
medicareType=#{medicareType},
</if>
<if test="indate != null">
indate=#{indate},
</if>
<if test="packMatrial != null">
packMatrial=#{packMatrial},
</if>
</trim>
where id = #{id}
</update>

@ -406,137 +406,147 @@
<select id="filterUdiGp" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
select basic_udirel.*,
bht.name classifyName,
basic_products.originUuid,
basic_products.nameCode,
basic_products.deviceRecordKey,
basic_products.packRatio,
basic_products.packUnit,
basic_products.packLevel,
basic_products.bhxjsl,
basic_products.bhzxxsbzsl,
basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,
basic_products.bzcj,
basic_products.cpmctymc,
basic_products.cplb,
basic_products.flbm,
basic_products.ggxh,
basic_products.qxlb,
basic_products.tyshxydm,
basic_products.ylqxzcrbarmc,
basic_products.zczbhhzbapzbh,
basic_products.ylqxzcrbarywmc,
basic_products.sydycpbs,
basic_products.sjcpbm,
basic_products.versionNumber,
basic_products.diType,
basic_products.ybbm,
basic_products.sptm,
basic_products.manufactory,
basic_products.measname,
basic_products.productType,
basic_products.scbssfbhph,
basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq,
basic_products.scbssfbhsxrq,
basic_products.cpms,
basic_products.allowNoBatch,
basic_products.allowNoExpire,
basic_products.allowNoProduct,
basic_products.allowNoSerial,
basic_products.spmc,
basic_products.cplx,
basic_products.hchzsb,
basic_products.cpdls,
basic_products.price,
basic_products.basicPrductRemak1,
basic_products.basicPrductRemak2,
basic_products.basicPrductRemak3,
basic_products.basicPrductRemak4,
basic_products.basicPrductRemak5,
basic_products.basicPrductRemak6,
basic_products.basicPrductRemak7,
basic_products.sfwblztlcp,
basic_products.cgzmraqxgxx,
basic_products.sfbjwycxsy,
basic_products.zdcfsycs,
basic_products.sfwwjbz,
basic_products.syqsfxyjxmj,
basic_products.mjfs,
basic_products.categoryName,
basic_products.groupBuy,
basic_products.basicPrductRemak8,
basic_products.cphhhbh,
basic_products.catalogname1,
basic_products.catalogname2,
basic_products.catalogname3,
basic_products.matrial,
basic_products.requireScanCode,
basic_products.bzgg,
basic_products.prepnSpec,
basic_products.prepnUnit,
basic_products.levelUnit,
basic_products.majorStatus,
basic_products.physicType,
basic_products.packMatrial,
basic_products.storageCondition,
basic_products.transportCondition,
basic_products.indate,
basic_products.majorType,
basic_products.medicareType
bht.name classifyName,
basic_products.originUuid,
basic_products.nameCode,
basic_products.deviceRecordKey,
basic_products.packRatio,
basic_products.packUnit,
basic_products.packLevel,
basic_products.bhxjsl,
basic_products.bhzxxsbzsl,
basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,
basic_products.bzcj,
basic_products.cpmctymc,
basic_products.cplb,
basic_products.flbm,
basic_products.ggxh,
basic_products.qxlb,
basic_products.tyshxydm,
basic_products.ylqxzcrbarmc,
basic_products.zczbhhzbapzbh,
basic_products.ylqxzcrbarywmc,
basic_products.sydycpbs,
basic_products.sjcpbm,
basic_products.versionNumber,
basic_products.diType,
basic_products.ybbm,
basic_products.sptm,
basic_products.manufactory,
basic_products.measname,
basic_products.productType,
basic_products.scbssfbhph,
basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq,
basic_products.scbssfbhsxrq,
basic_products.cpms,
basic_products.allowNoBatch,
basic_products.allowNoExpire,
basic_products.allowNoProduct,
basic_products.allowNoSerial,
basic_products.spmc,
basic_products.cplx,
basic_products.hchzsb,
basic_products.cpdls,
basic_products.price,
basic_products.basicPrductRemak1,
basic_products.basicPrductRemak2,
basic_products.basicPrductRemak3,
basic_products.basicPrductRemak4,
basic_products.basicPrductRemak5,
basic_products.basicPrductRemak6,
basic_products.basicPrductRemak7,
basic_products.basicPrductRemak8,
basic_products.sfwblztlcp,
basic_products.cgzmraqxgxx,
basic_products.sfbjwycxsy,
basic_products.zdcfsycs,
basic_products.sfwwjbz,
basic_products.syqsfxyjxmj,
basic_products.mjfs,
basic_products.bzgg,
basic_products.id as productId,
basic_products.categoryName,
basic_products.catalogname1,
basic_products.catalogname2,
basic_products.catalogname3,
basic_products.matrial,
basic_products.requireScanCode,
basic_products.prepnSpec,
basic_products.levelUnit,
basic_products.prepnUnit,
basic_products.majorStatus,
basic_products.physicType,
basic_products.packMatrial,
basic_products.storageCondition,
basic_products.transportCondition,
basic_products.indate,
basic_products.majorType,
basic_products.medicareType,
basic_products.workPlaceCount,
th.hsmc hslbName
FROM basic_products
inner JOIN basic_udirel
ON basic_products.uuid = basic_udirel.uuid
left join basic_hosp_type bht on basic_udirel.relCode = bht.code
inner JOIN basic_udirel
ON basic_products.uuid = basic_udirel.uuid
left join basic_hosp_type bht on basic_udirel.relCode = bht.code
left join thr_hslb th on basic_products.basicPrductRemak8 = th.hsbm
<where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%')
</if>
<if test="mainIdLike != '' and mainIdLike != null">
AND mainId LIKE concat('%', #{mainIdLike}, '%')
<if test="relCode != '' and relCode != null">
AND relCode = #{relCode}
</if>
<if test="productsType != '' and productsType != null">
AND basic_products.productsType = #{productsType}
</if>
<if test="relCode != '' and relCode != null">
AND relCode = #{relCode}
</if>
<if test="bindType != '' and bindType != null">
AND (relCode is null
or trim(relCode) = '')
or trim(relCode) = '')
</if>
<if test="supName != '' and supName != null">
AND supName LIKE concat('%', #{supName}, '%')
</if>
<if test="nameCode != '' and nameCode != null">
AND nameCode LIKE concat(#{nameCode}, '%')
</if>
<if test="entireCpmctymc != '' and entireCpmctymc != null">
AND cpmctymc = #{entireCpmctymc}
AND (
nameCode LIKE concat('%', #{nameCode}, '%')
or ybbm LIKE concat('%', #{nameCode}, '%')
or sptm LIKE concat('%', #{nameCode}, '%')
or basic_udirel.mainId LIKE concat('%', #{nameCode}, '%')
or basic_udirel.thirdId LIKE concat('%', #{nameCode}, '%')
or basic_udirel.thirdId1 LIKE concat('%', #{nameCode}, '%')
or basic_udirel.thirdId2 LIKE concat('%', #{nameCode}, '%')
or basic_udirel.thirdId3 LIKE concat('%', #{nameCode}, '%')
or basic_udirel.thirdId4 LIKE concat('%', #{nameCode}, '%'))
</if>
<if test="cpmctymc != '' and cpmctymc != null">
AND cpmctymc LIKE concat('%', #{cpmctymc}, '%')
AND basic_products.cpmctymc LIKE concat('%', #{cpmctymc}, '%')
</if>
<if test="entireCpmctymc != '' and entireCpmctymc != null">
AND basic_products.cpmctymc = #{entireCpmctymc}
</if>
<if test="ggxh != '' and ggxh != null">
AND ggxh LIKE concat('%', #{ggxh}, '%')
AND basic_products.ggxh LIKE concat('%', #{ggxh}, '%')
</if>
<if test="unionCode != '' and unionCode != null">
and (
nameCode LIKE concat('%', #{unionCode}, '%')
or ybbm LIKE concat('%', #{unionCode}, '%')
or sptm LIKE concat('%', #{unionCode}, '%'))
nameCode LIKE concat('%', #{unionCode}, '%')
or ybbm LIKE concat('%', #{unionCode}, '%')
or sptm LIKE concat('%', #{unionCode}, '%'))
</if>
<if test="isDisable == false">
AND (basic_udirel.isDisable is null or basic_udirel.isDisable = false)
</if>
<if test="isDisable == true">
AND basic_udirel.isDisable = true
</if>
<if test="thrPiId != '' and thrPiId != null">
and (thirdId LIKE concat('%', #{thrPiId}, '%')
or thirdId1 LIKE concat('%', #{thrPiId}, '%')
or thirdId2 LIKE concat('%', #{thrPiId}, '%')
or thirdId3 LIKE concat('%', #{thrPiId}, '%')
or thirdId4 LIKE concat('%', #{thrPiId}, '%'))
or thirdId1 LIKE concat('%', #{thrPiId}, '%')
or thirdId2 LIKE concat('%', #{thrPiId}, '%')
or thirdId3 LIKE concat('%', #{thrPiId}, '%')
or thirdId4 LIKE concat('%', #{thrPiId}, '%'))
</if>
<if test="uuid != '' and uuid != null">
AND basic_udirel.uuid = #{uuid}
@ -548,22 +558,26 @@
AND udplatCode = #{udplatCode}
</if>
<if test="zczbhhzbapzbh != '' and zczbhhzbapzbh != null">
AND zczbhhzbapzbh LIKE concat(#{zczbhhzbapzbh}, '%')
AND basic_products.zczbhhzbapzbh LIKE concat('%', #{zczbhhzbapzbh}, '%')
</if>
<if test="diType != '' and diType != null">
AND diType = #{diType}
</if>
<if test="filterType != null and filterType == 1">
AND (thirdId <![CDATA[<>]]> '' or thirdId1 <![CDATA[<>]]> '' or thirdId2 <![CDATA[<>]]> '' or
thirdId3 <![CDATA[<>]]> '' or thirdId4 <![CDATA[<>]]> '')
and basic_products.originUuid <![CDATA[<>]]> ''
thirdId3 <![CDATA[<>]]> '' or thirdId4 <![CDATA[<>]]> '')
<if test="productsType == 1">
and basic_products.originUuid <![CDATA[<>]]> ''
</if>
</if>
<if test="filterType != null and filterType == 2">
AND basic_products.originUuid is NULL
</if>
<if test="filterType != null and filterType == 3">
AND (mainId is NULL or mainId = '')
and basic_products.originUuid <![CDATA[<>]]> ''
<if test="productsType == 1">
and basic_products.originUuid <![CDATA[<>]]> ''
</if>
</if>
<if test="filterType != null and filterType == 4">
AND thirdId1 is NULL
@ -597,7 +611,13 @@
and originUuid = #{originUuid}
</if>
<if test="manufactory != null and manufactory != ''">
and manufactory LIKE concat('%', #{manufactory}, '%')
and basic_products.manufactory LIKE concat('%', #{manufactory}, '%')
</if>
<if test="ybbm != null and ybbm != ''">
AND basic_products.ybbm LIKE concat(#{ybbm}, '%')
</if>
<if test="cpms != null and cpms != ''">
AND basic_products.cpms LIKE concat(#{cpms}, '%')
</if>
<if test="dispatch != null">
and basic_udirel.dispatch = #{dispatch}
@ -605,10 +625,8 @@
<if test="groupBuy != null">
and basic_udirel.groupBuy = #{groupBuy}
</if>
<if test="purType != null">
and basic_udirel.purType = #{purType}
</if>
</where>
GROUP BY basic_udirel.id
ORDER BY modifyTime DESC
</select>
@ -986,14 +1004,18 @@
<insert id="insertUdiRelevance" keyProperty="id" parameterType="com.glxp.api.entity.basic.UdiRelevanceEntity">
replace
INTO basic_udirel
(id, uuid, mainId, thirdId, thirdId1, thirdId2, thirdId3, thirdId4, udplatCode, isUseDy, isDisable,
isLock,
lockStatus, isAdavence, purType, attributeType, hcType, useMuti, useNum, supName, createTime,
updateTime, modifyTime,
createUser,
updateUser,
remark, useExpireTime, dispatch, groupBuy, needCert, newNeedUpload, isStack)
INTO basic_udirel
(id, uuid, mainId, thirdId, thirdId1, thirdId2, thirdId3, thirdId4, udplatCode, isUseDy, isDisable,
isLock,
lockStatus, isAdavence, purType, attributeType, hcType, useMuti, useNum, supName, createTime,
updateTime, modifyTime,
createUser,
updateUser,
remark, useExpireTime, `dispatch`,
groupBuy, needCert, isStack,
distributeLevelCount, useLevel,
distributeLevel,
splitEnable, autoCode, distributeMaxLevel, useMaxLevel)
values (#{id},
#{uuid},
#{mainId},
@ -1007,7 +1029,10 @@
#{isDisable},
#{isLock},
#{lockStatus},
#{isAdavence}, #{purType}, #{attributeType}, #{hcType},
#{isAdavence},
#{purType},
#{attributeType},
#{hcType},
#{useMuti},
#{useNum},
#{supName},
@ -1016,7 +1041,17 @@
#{modifyTime},
#{createUser},
#{updateUser},
#{remark}, #{useExpireTime}, #{dispatch}, #{groupBuy}, #{needCert}, #{newNeedUpload}, #{isStack})
#{remark},
#{useExpireTime},
#{dispatch},
#{groupBuy},
#{needCert},
#{isStack},
#{distributeLevelCount},
#{useLevel},
#{distributeLevel},
#{splitEnable},
#{autoCode}, #{distributeMaxLevel}, #{useMaxLevel})
</insert>
<insert id="insertUdiRelevanceignore" keyProperty="id"

@ -0,0 +1,17 @@
<?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.BasicInsMaterialMapper">
<select id="filterList" parameterType="com.glxp.api.req.thrsys.ThrInsMaterialFeeRequest"
resultType="com.glxp.api.entity.thrsys.BasicInsMaterialEntity">
SELECT basic_ins_material.*
FROM basic_ins_material
<where>
<if test="consumableName != '' and consumableName != null">
AND consumableName LIKE concat('%', #{consumableName}, '%')
</if>
<if test="medCatalogCode != '' and medCatalogCode != null">
AND medCatalogCode LIKE concat('%', #{medCatalogCode}, '%')
</if>
</where>
</select>
</mapper>

@ -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…
Cancel
Save