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;
/**
* (
@ -176,8 +196,14 @@ public class UdiRelevanceResponse {
@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);
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.setManufactory(thrProductsEntity.getManufactory());
udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getManufactory());
udiProductEntity.setGgxh(thrProductsEntity.getSpec());
udiProductEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo());
//包装单位
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.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,12 +401,6 @@ public class UdiContrastService {
public Long createOnlyUuid(UdiCombineRequest udiCombineRequest, String key) {
List<UdiProductEntity> udiInfoEntities = udiDlHttpClient.getOrUpdateByUuid(key);
if (udiInfoEntities == null || udiInfoEntities.size() == 0) {
//为了处理审核时的线上问题
int a = 9999;
return Long.valueOf(a);
} else {
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
udiRelevanceEntity.setUpdateTime(new Date());
udiRelevanceEntity.setModifyTime(new Date());
@ -268,17 +408,27 @@ public class UdiContrastService {
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);
UdiProductEntity udiProductEntity = udiRelevanceService.getDiProduct(udiInfoEntities);
udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, udiProductEntity);
insertUdiInfos(udiInfoEntities);
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
return relId;
}
public Integer setMedicareType(String insuranceDrugClass) {
if ("甲".equals(insuranceDrugClass)) {
return 1;
} else if ("乙".equals(insuranceDrugClass)) {
return 2;
} else if ("丙".equals(insuranceDrugClass)) {
return 3;
} else {
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());
}
//医保编码解析
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);
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();
}
}
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);
int i = udiProductDao.updateById(udiProductEntity);
if (i == 0) {
throw new JsonException(500, "更新错误");
}
}
//修改关联表
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.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.setUpdateTime(new Date());
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
@ -288,7 +289,7 @@
allowNoProduct, allowNoSerial, spmc, cplx, hchzsb, cpdls, price, basicPrductRemak1, basicPrductRemak2,
basicPrductRemak3, basicPrductRemak4, basicPrductRemak5, basicPrductRemak6, basicPrductRemak7,
basicPrductRemak8, updateTime, sfwblztlcp, cgzmraqxgxx, sfbjwycxsy, zdcfsycs, sfwwjbz, syqsfxyjxmj,
mjfs, categoryName)
mjfs, categoryName, pinyinInitial)
values
<foreach collection="udiInfoEntities" item="item" index="index"
@ -347,7 +348,7 @@
#{item.basicPrductRemak8}, #{item.updateTime}, #{item.sfwblztlcp}, #{item.cgzmraqxgxx}, #{item.sfbjwycxsy},
#{item.zdcfsycs},
#{item.sfwwjbz}, #{item.syqsfxyjxmj}, #{item.mjfs},
#{item.categoryName})
#{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>

@ -457,6 +457,7 @@
basic_products.basicPrductRemak5,
basic_products.basicPrductRemak6,
basic_products.basicPrductRemak7,
basic_products.basicPrductRemak8,
basic_products.sfwblztlcp,
basic_products.cgzmraqxgxx,
basic_products.sfbjwycxsy,
@ -464,19 +465,17 @@
basic_products.sfwwjbz,
basic_products.syqsfxyjxmj,
basic_products.mjfs,
basic_products.bzgg,
basic_products.id as productId,
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.prepnUnit,
basic_products.majorStatus,
basic_products.physicType,
basic_products.packMatrial,
@ -484,24 +483,24 @@
basic_products.transportCondition,
basic_products.indate,
basic_products.majorType,
basic_products.medicareType
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
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) = '')
@ -510,17 +509,25 @@
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 (
@ -531,6 +538,9 @@
<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}, '%')
@ -548,7 +558,7 @@
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}
@ -556,15 +566,19 @@
<if test="filterType != null and filterType == 1">
AND (thirdId <![CDATA[<>]]> '' or thirdId1 <![CDATA[<>]]> '' or thirdId2 <![CDATA[<>]]> '' or
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 = '')
<if test="productsType == 1">
and basic_products.originUuid <![CDATA[<>]]> ''
</if>
</if>
<if test="filterType != null and filterType == 4">
AND thirdId1 is NULL
and basic_products.originUuid <![CDATA[<>]]> ''
@ -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>
@ -993,7 +1011,11 @@
updateTime, modifyTime,
createUser,
updateUser,
remark, useExpireTime, dispatch, groupBuy, needCert, newNeedUpload, isStack)
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