7/30 药品管理

workplace
wangwei 11 months ago
parent 77f78557d6
commit c84ff8236c

@ -319,7 +319,7 @@ public class UdiContrastController {
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/udi/udirel/addDrug") @PostMapping("/udi/udirel/addDrug")
public BaseResponse addDrug(@RequestBody AddProductRequest addProductRequest) { public BaseResponse addDrug(@RequestBody AddProductRequest addProductRequest) {
udiProductService.addProduct(addProductRequest); udiProductService.addDrug(addProductRequest);
return ResultVOUtils.success(); return ResultVOUtils.success();
} }

@ -160,6 +160,7 @@ public class UdiRlSupController extends BaseController {
if (StrUtil.isNotEmpty(companyProductRelevanceRequest.getUnionCode())) { if (StrUtil.isNotEmpty(companyProductRelevanceRequest.getUnionCode())) {
FilterUdiRelRequest filterUdiInfoRequest = new FilterUdiRelRequest(); FilterUdiRelRequest filterUdiInfoRequest = new FilterUdiRelRequest();
filterUdiInfoRequest.setNameCode(companyProductRelevanceRequest.getUnionCode()); filterUdiInfoRequest.setNameCode(companyProductRelevanceRequest.getUnionCode());
filterUdiInfoRequest.setProductsType(companyProductRelevanceRequest.getProductsType());
List<UdiRelevanceResponse> temps = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); List<UdiRelevanceResponse> temps = udiRelevanceService.filterUdiGp(filterUdiInfoRequest);
if (temps != null && temps.size() > 0) { if (temps != null && temps.size() > 0) {
companyProductRelevanceRequest.setOriginUuid(temps.get(0).getOriginUuid()); companyProductRelevanceRequest.setOriginUuid(temps.get(0).getOriginUuid());

@ -3,6 +3,7 @@ package com.glxp.api.req.basic;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.glxp.api.vo.basic.DrugLevelList;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -12,6 +13,7 @@ import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List;
@NoArgsConstructor @NoArgsConstructor
@Data @Data
@ -256,4 +258,6 @@ public class AddProductRequest {
private String packRatio; private String packRatio;
private String uuid; private String uuid;
private String nameCode; private String nameCode;
private String cpmctymc;
private List<DrugLevelList> drugLevelLists;
} }

@ -87,4 +87,6 @@ public class CompanyProductRelevanceRequest extends ListPageRequest {
*/ */
@TableField(value = "codeCheck") @TableField(value = "codeCheck")
private Integer codeCheck; private Integer codeCheck;
private Integer productsType = 1;//默认是耗材
} }

@ -115,9 +115,8 @@ public class FilterUdiRelRequest extends ListPageRequest {
private String deviceRecordKey; private String deviceRecordKey;
//药品参数 //药品参数
private String productsType;
private String cpms; private String cpms;
private Integer productsType = 1;//默认是耗材
} }

@ -73,4 +73,5 @@ public interface UdiProductService {
UdiProductEntity selectMinUdiByUuid(String uuid, Integer diType); UdiProductEntity selectMinUdiByUuid(String uuid, Integer diType);
void addProduct(AddProductRequest addProductRequest); void addProduct(AddProductRequest addProductRequest);
void addDrug(AddProductRequest addProductRequest);
} }

@ -263,6 +263,43 @@ public class UdiProductServiceImpl implements UdiProductService {
udiRelevanceDao.insertUdiRelevance(udiRelevanceEntity); udiRelevanceDao.insertUdiRelevance(udiRelevanceEntity);
} }
@Override
public void addDrug(AddProductRequest addProductRequest) {
UdiProductEntity udiProductEntity = new UdiProductEntity();
BeanUtils.copyProperties(addProductRequest, udiProductEntity);
long relId = gennerOrderUtils.getRelId();
udiProductEntity.setId(relId);
String code = addProductRequest.getCode();
if (StrUtil.isEmpty(code)){
udiProductEntity.setNameCode(relId + "");
}else {
udiProductEntity.setNameCode(code);
}
udiProductEntity.setUuid(IdUtil.getSnowflakeNextId() + "");
udiProductEntity.setCpmctymc(addProductRequest.getCpmctymc());
udiProductEntity.setGgxh(addProductRequest.getSpec());
udiProductEntity.setPrice(addProductRequest.getPrice().toString());
udiProductEntity.setZczbhhzbapzbh(addProductRequest.getRegisterNo());
udiProductEntity.setDiType(ConstantStatus.DI_TYPE_MAIN);
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
udiRelevanceEntity.setId(IdUtil.getSnowflakeNextId());
udiRelevanceEntity.setIsDisable(false);
udiRelevanceEntity.setIsUseDy(false);
udiRelevanceEntity.setUuid(udiProductEntity.getUuid());
udiRelevanceEntity.setNeedCert(false);
udiRelevanceEntity.setPurType(1);
udiRelevanceEntity.setAttributeType(addProductRequest.getAttributeType());
udiRelevanceEntity.setHcType(addProductRequest.getHcType());
// TODO: 2024/2/27 初始化其他字段
setUpdateInfo(udiProductEntity,udiRelevanceEntity);
//处理是否需要扫码字段
classifyCodeService.updateRequireScanCode(udiProductEntity);
udiProductDao.insertUdiInfo(udiProductEntity);
udiRelevanceDao.insertUdiRelevance(udiRelevanceEntity);
}
private void setUpdateInfo(UdiProductEntity udiProductEntity, UdiRelevanceEntity udiRelevanceEntity) { private void setUpdateInfo(UdiProductEntity udiProductEntity, UdiRelevanceEntity udiRelevanceEntity) {
Date now = new Date(); Date now = new Date();
String userId = String.valueOf(customerService.getUserBean().getId()); String userId = String.valueOf(customerService.getUserBean().getId());

@ -0,0 +1,17 @@
package com.glxp.api.vo.basic;
import lombok.Data;
/**
* @author : zhangsan
* @date : 2024/7/30 11:25
* @modyified By :
*/
@Data
public class DrugLevelList {
private String nameCode;
private String packLevel;
private String bhxjsl;
}

@ -356,6 +356,9 @@
<if test="category != '' and category != null"> <if test="category != '' and category != null">
AND basic_product_category.name = #{category} AND basic_product_category.name = #{category}
</if> </if>
<if test="productsType != '' and productsType != null">
AND basic_products.productsType = #{productsType}
</if>
<if test="manufactory != '' and manufactory != null"> <if test="manufactory != '' and manufactory != null">
AND basic_products.manufactory LIKE concat('%', #{manufactory}, '%') AND basic_products.manufactory LIKE concat('%', #{manufactory}, '%')
</if> </if>

@ -137,6 +137,9 @@
<if test="purType != '' and purType != null"> <if test="purType != '' and purType != null">
AND basic_udirel.purType = #{purType} AND basic_udirel.purType = #{purType}
</if> </if>
<if test=" productsType != '' and productsType != null">
AND basic_products.productsType = #{productsType}
</if>
<if test="codeCheck != '' and codeCheck != null"> <if test="codeCheck != '' and codeCheck != null">
AND basic_products.requireScanCode = #{codeCheck} AND basic_products.requireScanCode = #{codeCheck}
</if> </if>

@ -51,6 +51,39 @@
</select> </select>
<select id="joinDrugQueryList" parameterType="com.glxp.api.req.purchase.PurPlanDetailRequest"
resultType="com.glxp.api.res.purchase.PurOrderDetailResponse">
SELECT
pur_plan_detail.*,
basic_products.ggxh spec,
basic_products.nameCode nameCode,
basic_products.measname,
basic_products.manufactory,
basic_products.ylqxzcrbarmc,
basic_products.bzgg,
basic_products.packUnit,
basic_products.prepnSpec,
basic_products.prepnUnit,
basic_corp.`name` supName
FROM
pur_plan_detail
INNER JOIN basic_udirel ON pur_plan_detail.productId = basic_udirel.id
INNER JOIN basic_products ON basic_udirel.uuid = basic_products.uuid
left JOIN basic_corp ON pur_plan_detail.supId = basic_corp.erpId
<where>
<if test="orderIdFk != '' and orderIdFk != null">
AND orderIdFk = #{orderIdFk}
AND basic_products.diType=1
</if>
<if test="productId != null">
AND productId = #{productId}
</if>
<if test="supId != '' and supId != null">
AND supId = #{supId}
</if>
</where>
</select>
<insert id="insert" keyProperty="id" <insert id="insert" keyProperty="id"
parameterType="com.glxp.api.entity.purchase.PurPlanDetailEntity"> parameterType="com.glxp.api.entity.purchase.PurPlanDetailEntity">

Loading…
Cancel
Save