liujie
2025-09-01 f67d2f7595456104c6d3c0d0349469db5b3f5863
供应商商品
6个文件已修改
1个文件已添加
188 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpGoodsController.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/dto/TErpGoodsInfoSaveDto.java 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TErpGoods.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TErpGoodsService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TErpGoodsMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpGoodsController.java
@@ -6,22 +6,20 @@
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.dto.TErpGoodsAddDto;
import com.ruoyi.system.dto.TErpGoodsUpdateStatus;
import com.ruoyi.system.dto.TErpGoodsInfoSaveDto;
import com.ruoyi.system.dto.TErpGoodsUpdateStatusDto;
import com.ruoyi.system.model.TErpGoods;
import com.ruoyi.system.query.TErpGoodsQuery;
import com.ruoyi.system.query.TErpIssueReportingQuery;
import com.ruoyi.system.service.TCrmClinicService;
import com.ruoyi.system.service.TCrmSupplierService;
import com.ruoyi.system.service.TErpGoodsService;
import com.ruoyi.system.service.TErpIssueReportingService;
import com.ruoyi.system.vo.TErpGoodsVO;
import com.ruoyi.system.vo.TErpIssueReportingVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
 * <p>
@@ -63,11 +61,12 @@
    @ApiOperation(value = "供应商添加商品")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TErpGoodsAddDto dto) {
        if (erpGoodsService.isExit(dto.getGoodsIdCode())) {
        SysUser user = tokenService.getLoginUser().getUser();
        if (erpGoodsService.isExit(dto.getGoodsIdCode(), dto.getQuasiNumber())) {
            return R.fail("erp商品已存在");
        }
        TErpGoods goods = new TErpGoods();
        goods.setSupplierId(user.getClinicId());
        goods.setSupplierClinicId(user.getUserId().toString());
        goods.setGoodsIdCode(dto.getGoodsIdCode());
        goods.setQuasiNumber(dto.getQuasiNumber());
        goods.setManufacturer(dto.getManufacturer());
@@ -101,5 +100,22 @@
        boolean b = erpGoodsService.updateById(goods);
        return R.ok(b);
    }
    @ApiOperation(value = "供应商完善商品")
    @PostMapping(value = "/saveDataInfo")
    public R<Boolean> saveDataInfo(@RequestBody @Valid TErpGoodsInfoSaveDto dto) {
        TErpGoods goods = erpGoodsService.getById(dto.getId());
        BeanUtils.copyProperties(dto,goods);
        return R.ok(erpGoodsService.updateById(goods));
    }
    @ApiOperation(value = "供应商商品详情")
    @GetMapping(value = "/detail/{id}")
    public R<TErpGoods> detail( @PathVariable String  id) {
        TErpGoods goods = erpGoodsService.getById(id);
        return R.ok(goods);
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/dto/TErpGoodsInfoSaveDto.java
New file
@@ -0,0 +1,91 @@
package com.ruoyi.system.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
@ApiModel("商品信息完善参数Dto")
public class TErpGoodsInfoSaveDto {
    @ApiModelProperty(value = "商品id")
    @NotBlank(message = "商品id不能为空")
    private String id;
    @ApiModelProperty(value = "商品类型id")
    @NotBlank(message = "商品类型id不能为空")
    private String typeId;
    @ApiModelProperty(value = "商品69码")
    private String goodsYards;
    @ApiModelProperty(value = "保养周期")
    private String maintenanceInterval;
    @ApiModelProperty(value = "最低采购数量")
    private Integer lowPurchaseQuantity;
    @ApiModelProperty(value = "最低采购单位,单位id")
    private String lowUnitId;
    @ApiModelProperty(value = "是否为处方药 1=是 2=否")
    private Integer isPrescriptionDrug;
    @ApiModelProperty(value = "预警库存")
    @NotNull(message = "预警库存不能为空")
    private Integer warningInventory;
    @ApiModelProperty(value = "包装单位,单位id")
    @NotBlank(message = "包装单位,单位id不能为空")
    private String packingUnitId;
    @ApiModelProperty(value = "使用说明")
    private String instructionsUse;
    @ApiModelProperty(value = "副作用")
    private String sideEffect;
    @ApiModelProperty(value = "拼音简码")
    private String simplifiedCode;
    @ApiModelProperty(value = "剂型")
    private String dosageForm;
    @ApiModelProperty(value = "用途分类")
    private String usageClassification;
    @ApiModelProperty(value = "商品品牌名")
    private String productBrand;
    @ApiModelProperty(value = "产地")
    private String placeOfOrigin;
    @ApiModelProperty(value = "成分")
    private String ingredient;
    @ApiModelProperty(value = "性状")
    private String trait;
    @ApiModelProperty(value = "适应症")
    private String indication;
    @ApiModelProperty(value = "禁忌")
    private String taboo;
    @ApiModelProperty(value = "注意事项")
    private String precautions;
    @ApiModelProperty(value = "相互作用")
    private String interaction;
    @ApiModelProperty(value = "贮藏")
    private String storage;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TErpGoods.java
@@ -6,6 +6,7 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.aspectj.weaver.ast.Not;
import java.io.Serializable;
import java.time.LocalDateTime;
@@ -32,10 +33,6 @@
    @ApiModelProperty(value = "供应商id/诊所id")
    @TableField("supplier_clinic_id")
    private String supplierClinicId;
    @ApiModelProperty(value = "诊所id")
    @TableField("clinic_id")
    private String clinicId;
    @ApiModelProperty(value = "商品来源 1=平台添加 2=线下添加")
    @TableField("goods_source")
@@ -129,5 +126,56 @@
    @TableField(exist = false)
    private String typeName;
    @ApiModelProperty(value = "拼音简码")
    @TableField("simplified_code")
    private String simplifiedCode;
    @ApiModelProperty(value = "剂型")
    @TableField("dosage_form")
    private String dosageForm;
    @ApiModelProperty(value = "用途分类")
    @TableField("usage_classification")
    private String usageClassification;
    @ApiModelProperty(value = "商品品牌名")
    @TableField("product_brand")
    private String productBrand;
    @ApiModelProperty(value = "产地")
    @TableField("place_of_origin")
    private String placeOfOrigin;
    @ApiModelProperty(value = "成分")
    @TableField("ingredient")
    private String ingredient;
    @ApiModelProperty(value = "性状")
    @TableField("trait")
    private String trait;
    @ApiModelProperty(value = "适应症")
    @TableField("indication")
    private String indication;
    @ApiModelProperty(value = "禁忌")
    @TableField("taboo")
    private String taboo;
    @ApiModelProperty(value = "注意事项")
    @TableField("precautions")
    private String precautions;
    @ApiModelProperty(value = "相互作用")
    @TableField("interaction")
    private String interaction;
    @ApiModelProperty(value = "贮藏")
    @TableField("storage")
    private String storage;
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TErpGoodsService.java
@@ -26,7 +26,7 @@
     */
    PageInfo<TErpGoodsVO> pageList(TErpGoodsQuery query, SysUser user);
    boolean isExit(String goodsIdCode);
    boolean isExit(String goodsIdCode,String quasiNumber);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsServiceImpl.java
@@ -52,8 +52,8 @@
    }
    @Override
    public boolean isExit(String goodsIdCode) {
        Long size = this.baseMapper.selectCount(new LambdaQueryWrapper<>(TErpGoods.class).eq(TErpGoods::getGoodsIdCode, goodsIdCode));
    public boolean isExit(String goodsIdCode,String quasiNumber) {
        Long size = this.baseMapper.selectCount(new LambdaQueryWrapper<>(TErpGoods.class).eq(TErpGoods::getGoodsIdCode, goodsIdCode).or().eq(TErpGoods::getQuasiNumber, quasiNumber));
        if(size>0){
            return true;
        }
ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
@@ -139,7 +139,7 @@
    <select id="selectListByRoleId" resultType="com.ruoyi.common.core.domain.entity.SysMenu">
        select sm.menu_id AS menuId, sm.menu_name AS menuName, sm.parent_id AS parentId, sm.order_num AS orderNum, sm.`path` AS path, sm.component AS component,
               sm.`query` AS query, sm.is_frame AS isFrame,sm.is_cache AS isCache, sm.menu_type AS menuType, sm.visible AS visible, sm.status AS status,
               ifnull(sm.perms,'') as perms, sm.icon AS icon, sm.create_time AS createTime,, sm.role_type
               ifnull(sm.perms,'') as perms, sm.icon AS icon, sm.create_time AS createTime,sm.role_type
        from sys_role_menu srm
        left join sys_menu sm on srm.menu_id = sm.menu_id
        WHERE srm.role_id = #{roleId}
ruoyi-system/src/main/resources/mapper/system/TErpGoodsMapper.xml
@@ -60,6 +60,7 @@
        <if test="user.roleType == null or user.roleType != 1 ">
            and create_id =#{user.userId}
        </if>
        order by create_time desc
    </select>
</mapper>