523096025 2 mesiacov pred
rodič
commit
c657846c35
38 zmenil súbory, kde vykonal 1890 pridanie a 5 odobranie
  1. 14 0
      get-data/src/main/java/com/huimv/getdata/controller/ErpBdOrgController.java
  2. 1 3
      get-data/src/main/java/com/huimv/getdata/entity/ErpBdMaterial.java
  3. 11 0
      get-data/src/main/java/com/huimv/getdata/entity/ErpMaterial.java
  4. 7 0
      get-data/src/main/java/com/huimv/getdata/mapper/ErpBdDepartmentMapper.java
  5. 6 0
      get-data/src/main/java/com/huimv/getdata/service/IErpBdOrgService.java
  6. 13 0
      get-data/src/main/java/com/huimv/getdata/service/impl/ErpBdOrgServiceImpl.java
  7. 20 0
      get-data/src/main/resources/com/huimv/getdata/mapper/ErpBdDepartmentMapper.xml
  8. 66 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/config/erpConfigure.java
  9. 147 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/controller/ErpBdMaterialController.java
  10. 92 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/controller/SysBaseFilterInfoController.java
  11. 71 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/entity/ErpBdMaterial.java
  12. 49 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/entity/SysBaseFilterInfo.java
  13. 11 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/entity/voucher/ErpMaterial.java
  14. 34 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/enums/ErpBaseMaterialEnum.java
  15. 34 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/enums/ErpBdMaterialEnum.java
  16. 34 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/enums/SysBaseFilterInfoEnum.java
  17. 25 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/mapper/ErpBdMaterialMapper.java
  18. 25 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/mapper/SysBaseFilterInfoMapper.java
  19. 5 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/mapper/mapping/SysBaseFilterInfoMapper.xml
  20. 58 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/param/ErpBdMaterialAddParam.java
  21. 63 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/param/ErpBdMaterialEditParam.java
  22. 35 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/param/ErpBdMaterialIdParam.java
  23. 52 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/param/ErpBdMaterialPageParam.java
  24. 37 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/param/ErpBdMaterialParentParam.java
  25. 77 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/param/ErpBdMaterialVo.java
  26. 46 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/param/SysBaseFilterInfoAddParam.java
  27. 50 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/param/SysBaseFilterInfoEditParam.java
  28. 35 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/param/SysBaseFilterInfoIdParam.java
  29. 51 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/param/SysBaseFilterInfoPageParam.java
  30. 84 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/service/ErpBdMaterialService.java
  31. 80 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/service/SysBaseFilterInfoService.java
  32. 272 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/service/impl/ErpBdMaterialServiceImpl.java
  33. 94 0
      huimv-farm/src/main/java/vip/xiaonuo/erp/service/impl/SysBaseFilterInfoServiceImpl.java
  34. 1 0
      huimv-farm/src/main/java/vip/xiaonuo/production/entity/ProductionWritePlan.java
  35. 22 2
      huimv-farm/src/main/java/vip/xiaonuo/production/service/impl/ProductionYieldServiceImpl.java
  36. 5 0
      huimv-farm/src/main/resources/mapper/ErpBaseMaterialMapper.xml
  37. 5 0
      huimv-farm/src/main/resources/mapper/ErpBdMaterialMapper.xml
  38. 158 0
      huimv-farm/src/test/java/vip/xiaonuo/Bdest.java

+ 14 - 0
get-data/src/main/java/com/huimv/getdata/controller/ErpBdOrgController.java

@@ -2,12 +2,15 @@ package com.huimv.getdata.controller;
 
 
 import com.huimv.getdata.entity.ErpBdDepartment;
+import com.huimv.getdata.entity.ErpBdMaterial;
 import com.huimv.getdata.entity.ErpBdOrg;
+import com.huimv.getdata.entity.ErpMaterial;
 import com.huimv.getdata.service.IErpBdOrgService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
@@ -37,4 +40,15 @@ public class ErpBdOrgController {
         return erpBdService.getDep();
     }
 
+    @RequestMapping(value = "/getMaterial",method = RequestMethod.GET)
+    public List<ErpBdMaterial> getMaterial(){
+        return erpBdService.getMaterial();
+    }
+
+    @RequestMapping(value = "/getMaterialDetail",method = RequestMethod.GET)
+    public List<ErpMaterial> getMaterialDetail(@RequestParam(value = "fnumber" ,required = false) String fnumber){
+        return erpBdService.getMaterialDetail(fnumber);
+    }
 }
+
+

+ 1 - 3
get-data/src/main/java/com/huimv/getdata/entity/ErpBdMaterial.java

@@ -19,9 +19,6 @@ import java.time.LocalDateTime;
  * @since 2025-01-03
  */
 @Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("erp_bd_org")
 public class ErpBdMaterial implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -36,6 +33,7 @@ public class ErpBdMaterial implements Serializable {
     private String fname;
 
     private String orgId;
+    private String fnumber;
 
 
 }

+ 11 - 0
get-data/src/main/java/com/huimv/getdata/entity/ErpMaterial.java

@@ -0,0 +1,11 @@
+package com.huimv.getdata.entity;
+
+import lombok.Data;
+
+@Data
+public class ErpMaterial {
+    private  String fnumber;
+    private  Integer facctorgid;
+    private  String fspecification;
+    private  String fname;
+}

+ 7 - 0
get-data/src/main/java/com/huimv/getdata/mapper/ErpBdDepartmentMapper.java

@@ -2,6 +2,9 @@ package com.huimv.getdata.mapper;
 
 import com.huimv.getdata.entity.ErpBdDepartment;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.getdata.entity.ErpBdMaterial;
+import com.huimv.getdata.entity.ErpMaterial;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -17,4 +20,8 @@ public interface ErpBdDepartmentMapper extends BaseMapper<ErpBdDepartment> {
 
     List<ErpBdDepartment> getDep();
 
+    List<ErpBdMaterial> getMaterial();
+
+
+    List<ErpMaterial> getMaterialDetail(@Param("fnumber") String fnumber );
 }

+ 6 - 0
get-data/src/main/java/com/huimv/getdata/service/IErpBdOrgService.java

@@ -2,7 +2,9 @@ package com.huimv.getdata.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.huimv.getdata.entity.ErpBdDepartment;
+import com.huimv.getdata.entity.ErpBdMaterial;
 import com.huimv.getdata.entity.ErpBdOrg;
+import com.huimv.getdata.entity.ErpMaterial;
 
 import java.util.List;
 
@@ -10,4 +12,8 @@ public interface IErpBdOrgService extends IService<ErpBdOrg> {
     List<ErpBdOrg> getOrg();
 
     List<ErpBdDepartment> getDep();
+
+    List<ErpBdMaterial> getMaterial();
+
+    List<ErpMaterial> getMaterialDetail(String fnumber);
 }

+ 13 - 0
get-data/src/main/java/com/huimv/getdata/service/impl/ErpBdOrgServiceImpl.java

@@ -2,7 +2,9 @@ package com.huimv.getdata.service.impl;
 
 
 import com.huimv.getdata.entity.ErpBdDepartment;
+import com.huimv.getdata.entity.ErpBdMaterial;
 import com.huimv.getdata.entity.ErpBdOrg;
+import com.huimv.getdata.entity.ErpMaterial;
 import com.huimv.getdata.mapper.ErpBdDepartmentMapper;
 import com.huimv.getdata.mapper.ErpBdOrgMapper;
 import com.huimv.getdata.service.IErpBdOrgService;
@@ -38,4 +40,15 @@ public class ErpBdOrgServiceImpl extends ServiceImpl<ErpBdOrgMapper, ErpBdOrg> i
     public List<ErpBdDepartment> getDep() {
         return erpBdDepartmentMapper.getDep();
     }
+
+    @Override
+    public List<ErpBdMaterial> getMaterial() {
+         return erpBdDepartmentMapper.getMaterial();
+    }
+
+    @Override
+    public List<ErpMaterial> getMaterialDetail(String fnumber) {
+
+            return erpBdDepartmentMapper.getMaterialDetail(fnumber+"%");
+    }
 }

+ 20 - 0
get-data/src/main/resources/com/huimv/getdata/mapper/ErpBdDepartmentMapper.xml

@@ -20,5 +20,25 @@
      FROM T_BD_DEPARTMENT  A
      INNER JOIN  T_BD_DEPARTMENT_L B ON A.FDEPTID = B.FDEPTID
     </select>
+    <select id="getMaterial" resultType="com.huimv.getdata.entity.ErpBdMaterial">
+
+        SELECT
+    SUBSTRING(a.fnumber, 1, 6) AS fnumber
+FROM
+    [dbo].[T_BD_MATERIAL] a
+WHERE
+    a.fnumber LIKE '01%'
+    AND a.FFORBIDSTATUS = 'A'
+GROUP BY
+    SUBSTRING(a.fnumber, 1, 6);
+    </select>
+    <select id="getMaterialDetail" resultType="com.huimv.getdata.entity.ErpMaterial"
+            parameterType="java.lang.String">
+
+        SELECT a.fnumber  , b.fuseorgid  facctorgid, b.FNAME fname ,b.FSPECIFICATION fspecification   FROM [dbo].[T_BD_MATERIAL]  a
+inner join   T_BD_MATERIAL_L b on a.fmaterialid = b.fmaterialid
+ where a.FFORBIDSTATUS = 'A'
+ and  a.fnumber like #{fnumber}
+    </select>
 
 </mapper>

+ 66 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/config/erpConfigure.java

@@ -0,0 +1,66 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.config;
+
+
+import com.github.xiaoymin.knife4j.spring.extension.OpenApiExtensionResolver;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.service.Contact;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import vip.xiaonuo.common.pojo.CommonResult;
+
+import javax.annotation.Resource;
+
+/**
+ * SaToken鉴权配置
+ *
+ * @HRor xuyuxiang
+ * @date 2021/10/9 14:24
+ **/
+@Configuration
+public class erpConfigure implements WebMvcConfigurer {
+
+    @Resource
+    private OpenApiExtensionResolver openApiExtensionResolver;
+
+    
+
+
+    @Bean(value = "erpDocApi")
+    public Docket hrDocApi() {
+        return new Docket(DocumentationType.SWAGGER_2)
+                .apiInfo(new ApiInfoBuilder()
+                        .title("erp模块")
+                        .description("erp模块")
+                        .termsOfServiceUrl("https://www.baidu.com")
+                        .contact(new Contact("SNOWY_TEAM","https://www.baidu.com", ""))
+                        .version("2.0.0")
+                        .build())
+                .globalResponseMessage(RequestMethod.GET, CommonResult.responseList())
+                .globalResponseMessage(RequestMethod.POST, CommonResult.responseList())
+                .groupName("erp模块")
+                .select()
+                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
+                .apis(RequestHandlerSelectors.basePackage("vip.xiaonuo.erp"))
+                .paths(PathSelectors.any())
+                .build().extensions(openApiExtensionResolver.buildExtensions("erp模块HR"));
+    }
+}

+ 147 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/controller/ErpBdMaterialController.java

@@ -0,0 +1,147 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.github.xiaoymin.knife4j.annotations.ApiSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+import vip.xiaonuo.common.annotation.CommonLog;
+import vip.xiaonuo.common.pojo.CommonResult;
+import vip.xiaonuo.common.pojo.CommonValidList;
+import vip.xiaonuo.erp.entity.ErpBdMaterial;
+import vip.xiaonuo.erp.param.*;
+import vip.xiaonuo.erp.service.ErpBdMaterialService;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import javax.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * erp_bd_material控制器
+ *
+ * @author 1
+ * @date  2025/03/01 14:50
+ */
+@Api(tags = "erp_bd_material控制器")
+@ApiSupport(author = "SNOWY_TEAM", order = 1)
+@RestController
+@Validated
+public class ErpBdMaterialController {
+
+    @Resource
+    private ErpBdMaterialService erpBdMaterialService;
+
+    /**
+     * 获取erp_bd_material分页
+     *
+     * @author 1
+     * @date  2025/03/01 14:50
+     */
+    @ApiOperationSupport(order = 1)
+    @ApiOperation("获取erp_bd_material分页")
+    @PostMapping("/biz/bdmaterial/page")
+    public CommonResult<Page<ErpBdMaterial>> page(@RequestBody  ErpBdMaterialPageParam erpBdMaterialPageParam) {
+        return CommonResult.data(erpBdMaterialService.page(erpBdMaterialPageParam));
+    }
+
+    /**
+     * 添加erp_bd_material
+     *
+     * @author 1
+     * @date  2025/03/01 14:50
+     */
+//    @ApiOperationSupport(order = 2)
+//    @ApiOperation("添加erp_bd_material")
+//    @CommonLog("添加erp_bd_material")
+//    @SaCheckPermission("/biz/bdmaterial/add")
+//    @PostMapping("/biz/bdmaterial/add")
+//    public CommonResult<String> add(@RequestBody @Valid ErpBdMaterialAddParam erpBdMaterialAddParam) {
+//        erpBdMaterialService.add(erpBdMaterialAddParam);
+//        return CommonResult.ok();
+//    }
+
+    /**
+     * 编辑erp_bd_material
+     *
+     * @author 1
+     * @date  2025/03/01 14:50
+     */
+    @ApiOperationSupport(order = 3)
+    @ApiOperation("编辑erp_bd_material")
+    @PostMapping("/biz/bdmaterial/edit")
+    public CommonResult<String> edit(@RequestBody @Valid ErpBdMaterialEditParam erpBdMaterialEditParam) {
+        erpBdMaterialService.edit(erpBdMaterialEditParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 删除erp_bd_material
+     *
+     * @author 1
+     * @date  2025/03/01 14:50
+     */
+//    @ApiOperationSupport(order = 4)
+//    @ApiOperation("删除erp_bd_material")
+//    @PostMapping("/biz/bdmaterial/delete")
+//    public CommonResult<String> delete(@RequestBody
+//                                                   ErpBdMaterialIdParam erpBdMaterialIdParamList) {
+//        erpBdMaterialService.delete(erpBdMaterialIdParamList);
+//        return CommonResult.ok();
+//    }
+
+    /**
+     * 获取erp_bd_material详情
+     *
+     * @author 1
+     * @date  2025/03/01 14:50
+     */
+    @ApiOperationSupport(order = 5)
+    @ApiOperation("获取erp_bd_material详情")
+    @PostMapping("/biz/bdmaterial/detail")
+    public CommonResult<ErpBdMaterial> detail(@RequestBody  ErpBdMaterialIdParam erpBdMaterialIdParam) {
+        return CommonResult.data(erpBdMaterialService.detail(erpBdMaterialIdParam));
+    }
+
+    @ApiOperationSupport(order = 5)
+    @ApiOperation("根据父id查询")
+    @PostMapping("/biz/bdmaterial/getByParentId")
+    public CommonResult<List<ErpBdMaterial>> getByParentId(@RequestBody ErpBdMaterialParentParam erpBdMaterial) {
+        return CommonResult.data(erpBdMaterialService.getByParentId(erpBdMaterial));
+    }
+
+
+    @ApiOperationSupport(order = 5)
+    @ApiOperation("根据树状")
+    @PostMapping("/biz/bdmaterial/getTreeParentId")
+    public CommonResult<List<ErpBdMaterialVo>> getTreeParentId(@RequestBody ErpBdMaterialParentParam erpBdMaterial) {
+        return CommonResult.data(erpBdMaterialService.getTreeParentId(erpBdMaterial));
+    }
+    @ApiOperationSupport(order = 5)
+    @ApiOperation("同步")
+    @PostMapping("/biz/bdmaterial/sync")
+    public CommonResult<String> sync() {
+        erpBdMaterialService.sync();
+        return CommonResult.ok();
+    }
+
+
+}

+ 92 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/controller/SysBaseFilterInfoController.java

@@ -0,0 +1,92 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.controller;
+
+import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.github.xiaoymin.knife4j.annotations.ApiSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
+import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
+import vip.xiaonuo.common.pojo.CommonResult;
+import vip.xiaonuo.common.pojo.CommonValidList;
+import vip.xiaonuo.erp.entity.SysBaseFilterInfo;
+import vip.xiaonuo.erp.param.SysBaseFilterInfoAddParam;
+import vip.xiaonuo.erp.param.SysBaseFilterInfoEditParam;
+import vip.xiaonuo.erp.param.SysBaseFilterInfoIdParam;
+import vip.xiaonuo.erp.param.SysBaseFilterInfoPageParam;
+import vip.xiaonuo.erp.service.SysBaseFilterInfoService;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import javax.validation.constraints.NotEmpty;
+
+/**
+ * 保存每个用户的查询选择控制器
+ *
+ * @author 1
+ * @date  2025/03/01 16:53
+ */
+@Api(tags = "保存每个用户的查询选择控制器")
+@ApiSupport(author = "SNOWY_TEAM", order = 1)
+@RestController
+@Validated
+public class SysBaseFilterInfoController {
+
+    @Resource
+    private SysBaseFilterInfoService sysBaseFilterInfoService;
+
+
+    @ApiOperationSupport(order = 3)
+    @ApiOperation("编辑用户查询选择")
+    @PostMapping("/biz/basefilterinfo/edit")
+    public CommonResult<String> edit(@RequestBody  SysBaseFilterInfo sysBaseFilterInfo) {
+        SaBaseLoginUser loginUser = StpLoginUserUtil.getLoginUser();
+        SysBaseFilterInfo one = sysBaseFilterInfoService.getOne(new QueryWrapper<SysBaseFilterInfo>()
+                .eq("module_type", sysBaseFilterInfo.getModuleType())
+                .eq("user_id", loginUser.getId()));
+        if (ObjectUtil.isEmpty(one)){
+            sysBaseFilterInfo.setUserId(loginUser.getId());
+            sysBaseFilterInfoService.save(sysBaseFilterInfo);
+        }else {
+            sysBaseFilterInfo.setId(one.getId());
+            sysBaseFilterInfoService.updateById(sysBaseFilterInfo);
+        }
+        return CommonResult.ok();
+    }
+    @ApiOperationSupport(order = 3)
+    @ApiOperation("查询用户查询选择")
+    @PostMapping("/biz/basefilterinfo/listByUser")
+    public CommonResult<SysBaseFilterInfo> listByUser(@RequestBody  SysBaseFilterInfo sysBaseFilterInfo) {
+//        SaBaseLoginUser loginUser = (SaBaseLoginUser)StpUtil.getSession().get("loginUser");
+        SaBaseLoginUser loginUser = StpLoginUserUtil.getLoginUser();
+        SysBaseFilterInfo one = sysBaseFilterInfoService.getOne(new QueryWrapper<SysBaseFilterInfo>()
+                .eq("module_type", sysBaseFilterInfo.getModuleType())
+                .eq("user_id", loginUser.getId()));
+        return CommonResult.data(one);
+    }
+
+
+
+
+
+}

+ 71 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/entity/ErpBdMaterial.java

@@ -0,0 +1,71 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * erp_bd_material实体
+ *
+ * @author 1
+ * @date  2025/03/01 14:50
+ **/
+@Getter
+@Setter
+@TableName("erp_bd_material")
+public class ErpBdMaterial {
+
+    /** ID */
+    @TableId(value = "id", type = IdType.AUTO)
+    @ApiModelProperty(value = "ID", position = 1)
+    private Integer id;
+
+    /** erp 字段 */
+    @ApiModelProperty(value = "erp 字段", position = 2)
+    private String erpFnumber;
+
+    /** 单位 */
+    @ApiModelProperty(value = "单位", position = 3)
+    private String unit;
+
+    /** 换算值 */
+    @ApiModelProperty(value = "换算值", position = 4)
+    private String conver;
+
+    /** 0是大类 1 是其他 */
+    @ApiModelProperty(value = "0是大类 1 是其他", position = 5)
+    private Integer parent;
+
+    /** 检测项目,字符串,用,分割 */
+    @ApiModelProperty(value = "检测项目,字符串,用,分割", position = 6)
+    private String testingItems;
+    @ApiModelProperty(value = "规格", position = 6)
+    private String fspecification;
+       @ApiModelProperty(value = "名字", position = 6)
+    private String fname;
+
+    /** ORG_ID */
+    @ApiModelProperty(value = "ORG_ID", position = 7)
+    private String orgId;
+
+    /** DELETE_FLAG */
+    @ApiModelProperty(value = "DELETE_FLAG", position = 8)
+    @TableLogic
+    @TableField(fill = FieldFill.INSERT)
+    private String deleteFlag;
+}

+ 49 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/entity/SysBaseFilterInfo.java

@@ -0,0 +1,49 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 保存每个用户的查询选择实体
+ *
+ * @author 1
+ * @date  2025/03/01 16:53
+ **/
+@Getter
+@Setter
+@TableName("sys_base_filter_info")
+public class SysBaseFilterInfo {
+
+    /** ID */
+    @TableId(value = "id", type = IdType.AUTO)
+    @ApiModelProperty(value = "ID", position = 1)
+    private Integer id;
+
+    /** USER_ID */
+    @ApiModelProperty(value = "USER_ID", position = 2)
+    private String userId;
+
+    /** MODULE_TYPE */
+    @ApiModelProperty(value = "MODULE_TYPE", position = 3)
+    private String moduleType;
+
+    /** FILTER */
+    @ApiModelProperty(value = "FILTER", position = 4)
+    private String filter;
+}

+ 11 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/entity/voucher/ErpMaterial.java

@@ -0,0 +1,11 @@
+package vip.xiaonuo.erp.entity.voucher;
+
+import lombok.Data;
+
+@Data
+public class ErpMaterial {
+    private  String fnumber;
+    private  Integer facctorgid;
+    private  String fspecification;
+    private  String fname;
+}

+ 34 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/enums/ErpBaseMaterialEnum.java

@@ -0,0 +1,34 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.enums;
+
+import lombok.Getter;
+
+/**
+ * erp_base_material枚举
+ *
+ * @author 1
+ * @date  2025/03/01 14:06
+ **/
+@Getter
+public enum ErpBaseMaterialEnum {
+
+    /** 测试 */
+    TEST("TEST");
+
+    private final String value;
+
+    ErpBaseMaterialEnum(String value) {
+        this.value = value;
+    }
+}

+ 34 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/enums/ErpBdMaterialEnum.java

@@ -0,0 +1,34 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.enums;
+
+import lombok.Getter;
+
+/**
+ * erp_bd_material枚举
+ *
+ * @author 1
+ * @date  2025/03/01 14:50
+ **/
+@Getter
+public enum ErpBdMaterialEnum {
+
+    /** 测试 */
+    TEST("TEST");
+
+    private final String value;
+
+    ErpBdMaterialEnum(String value) {
+        this.value = value;
+    }
+}

+ 34 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/enums/SysBaseFilterInfoEnum.java

@@ -0,0 +1,34 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.enums;
+
+import lombok.Getter;
+
+/**
+ * 保存每个用户的查询选择枚举
+ *
+ * @author 1
+ * @date  2025/03/01 16:53
+ **/
+@Getter
+public enum SysBaseFilterInfoEnum {
+
+    /** 测试 */
+    TEST("TEST");
+
+    private final String value;
+
+    SysBaseFilterInfoEnum(String value) {
+        this.value = value;
+    }
+}

+ 25 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/mapper/ErpBdMaterialMapper.java

@@ -0,0 +1,25 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import vip.xiaonuo.erp.entity.ErpBdMaterial;
+
+/**
+ * erp_bd_materialMapper接口
+ *
+ * @author 1
+ * @date  2025/03/01 14:50
+ **/
+public interface ErpBdMaterialMapper extends BaseMapper<ErpBdMaterial> {
+}

+ 25 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/mapper/SysBaseFilterInfoMapper.java

@@ -0,0 +1,25 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import vip.xiaonuo.erp.entity.SysBaseFilterInfo;
+
+/**
+ * 保存每个用户的查询选择Mapper接口
+ *
+ * @author 1
+ * @date  2025/03/01 16:53
+ **/
+public interface SysBaseFilterInfoMapper extends BaseMapper<SysBaseFilterInfo> {
+}

+ 5 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/mapper/mapping/SysBaseFilterInfoMapper.xml

@@ -0,0 +1,5 @@
+<?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="vip.xiaonuo.erp.mapper.SysBaseFilterInfoMapper">
+
+</mapper>

+ 58 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/param/ErpBdMaterialAddParam.java

@@ -0,0 +1,58 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * erp_bd_material添加参数
+ *
+ * @author 1
+ * @date  2025/03/01 14:50
+ **/
+@Getter
+@Setter
+public class ErpBdMaterialAddParam {
+
+    /** erp 字段 */
+    @ApiModelProperty(value = "erp 字段", position = 2)
+    private String erpFnumber;
+
+    /** 单位 */
+    @ApiModelProperty(value = "单位", position = 3)
+    private String unit;
+
+    /** 换算值 */
+    @ApiModelProperty(value = "换算值", position = 4)
+    private String conver;
+
+    /** 0是大类 1 是其他 */
+    @ApiModelProperty(value = "0是大类 1 是其他", position = 5)
+    private Integer parent;
+
+    /** 检测项目,字符串,用,分割 */
+    @ApiModelProperty(value = "检测项目,字符串,用,分割", position = 6)
+    private String testingItems;
+
+    /** ORG_ID */
+    @ApiModelProperty(value = "ORG_ID", position = 7)
+    private String orgId;
+
+}

+ 63 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/param/ErpBdMaterialEditParam.java

@@ -0,0 +1,63 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * erp_bd_material编辑参数
+ *
+ * @author 1
+ * @date  2025/03/01 14:50
+ **/
+@Getter
+@Setter
+public class ErpBdMaterialEditParam {
+
+    /** ID */
+    @ApiModelProperty(value = "ID", required = true, position = 1)
+    @NotNull(message = "id不能为空")
+    private Integer id;
+
+    /** erp 字段 */
+    @ApiModelProperty(value = "erp 字段", position = 2)
+    private String erpFnumber;
+
+    /** 单位 */
+    @ApiModelProperty(value = "单位", position = 3)
+    private String unit;
+
+    /** 换算值 */
+    @ApiModelProperty(value = "换算值", position = 4)
+    private String conver;
+
+    /** 0是大类 1 是其他 */
+    @ApiModelProperty(value = "0是大类 1 是其他", position = 5)
+    private Integer parent;
+
+    /** 检测项目,字符串,用,分割 */
+    @ApiModelProperty(value = "检测项目,字符串,用,分割", position = 6)
+    private String testingItems;
+
+    /** ORG_ID */
+    @ApiModelProperty(value = "ORG_ID", position = 7)
+    private String orgId;
+
+}

+ 35 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/param/ErpBdMaterialIdParam.java

@@ -0,0 +1,35 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * erp_bd_materialId参数
+ *
+ * @author 1
+ * @date  2025/03/01 14:50
+ **/
+@Getter
+@Setter
+public class ErpBdMaterialIdParam {
+
+    /** ID */
+    @ApiModelProperty(value = "ID", required = true)
+    @NotBlank(message = "id不能为空")
+    private Integer id;
+}

+ 52 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/param/ErpBdMaterialPageParam.java

@@ -0,0 +1,52 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * erp_bd_material查询参数
+ *
+ * @author 1
+ * @date  2025/03/01 14:50
+ **/
+@Getter
+@Setter
+public class ErpBdMaterialPageParam {
+
+    /** 当前页 */
+    @ApiModelProperty(value = "当前页码")
+    private Integer pageNum;
+
+    /** 每页条数 */
+    @ApiModelProperty(value = "每页条数")
+    private Integer pageSize;
+    private String  orgId;
+
+    /** 排序字段 */
+    @ApiModelProperty(value = "排序字段,字段驼峰名称,如:userName")
+    private String sortField;
+
+    /** 排序方式 */
+    @ApiModelProperty(value = "排序方式,升序:ASCEND;降序:DESCEND")
+    private String sortOrder;
+
+    /** 关键词 */
+    @ApiModelProperty(value = "关键词")
+    private String searchKey;
+
+}

+ 37 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/param/ErpBdMaterialParentParam.java

@@ -0,0 +1,37 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * erp_bd_material添加参数
+ *
+ * @author 1
+ * @date  2025/03/01 14:50
+ **/
+@Getter
+@Setter
+public class ErpBdMaterialParentParam {
+
+    /** 0是大类 1 是其他 */
+    @ApiModelProperty(value = "0是大类 1 是其他", position = 5)
+    private Integer id;
+
+    /** ORG_ID */
+    @ApiModelProperty(value = "ORG_ID", position = 7)
+    private String orgId;
+
+}

+ 77 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/param/ErpBdMaterialVo.java

@@ -0,0 +1,77 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.param;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import vip.xiaonuo.erp.entity.ErpBdMaterial;
+import vip.xiaonuo.sale.entity.ErpBaseMaterial;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * erp_bd_material实体
+ *
+ * @author 1
+ * @date  2025/03/01 14:50
+ **/
+@Getter
+@Setter
+public class ErpBdMaterialVo {
+
+    /** ID */
+    @TableId(value = "id", type = IdType.AUTO)
+    @ApiModelProperty(value = "ID", position = 1)
+    private Integer id;
+
+    /** erp 字段 */
+    @ApiModelProperty(value = "erp 字段", position = 2)
+    private String erpFnumber;
+
+    /** 单位 */
+    @ApiModelProperty(value = "单位", position = 3)
+    private String unit;
+
+    /** 换算值 */
+    @ApiModelProperty(value = "换算值", position = 4)
+    private String conver;
+
+    /** 0是大类 1 是其他 */
+    @ApiModelProperty(value = "0是大类 1 是其他", position = 5)
+    private Integer parent;
+
+    /** 检测项目,字符串,用,分割 */
+    @ApiModelProperty(value = "检测项目,字符串,用,分割", position = 6)
+    private String testingItems;
+    @ApiModelProperty(value = "规格", position = 6)
+    private String fspecification;
+    @ApiModelProperty(value = "名字", position = 6)
+    private String fname;
+
+    /** ORG_ID */
+    @ApiModelProperty(value = "ORG_ID", position = 7)
+    private String orgId;
+
+
+    private List<ErpBdMaterialVo> child;
+
+    public void addChild(ErpBdMaterialVo child) {
+        if (this.child == null){
+            this.child = new ArrayList<>();
+        }
+        this.child.add(child);
+    }
+}

+ 46 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/param/SysBaseFilterInfoAddParam.java

@@ -0,0 +1,46 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 保存每个用户的查询选择添加参数
+ *
+ * @author 1
+ * @date  2025/03/01 16:53
+ **/
+@Getter
+@Setter
+public class SysBaseFilterInfoAddParam {
+
+    /** USER_ID */
+    @ApiModelProperty(value = "USER_ID", position = 2)
+    private String userId;
+
+    /** MODULE_TYPE */
+    @ApiModelProperty(value = "MODULE_TYPE", position = 3)
+    private String moduleType;
+
+    /** FILTER */
+    @ApiModelProperty(value = "FILTER", position = 4)
+    private String filter;
+
+}

+ 50 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/param/SysBaseFilterInfoEditParam.java

@@ -0,0 +1,50 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 保存每个用户的查询选择编辑参数
+ *
+ * @author 1
+ * @date  2025/03/01 16:53
+ **/
+@Getter
+@Setter
+public class SysBaseFilterInfoEditParam {
+
+    /** ID */
+    @ApiModelProperty(value = "ID", position = 1)
+    private Integer id;
+
+    /** USER_ID */
+    @ApiModelProperty(value = "USER_ID", position = 2)
+    private String userId;
+
+    /** MODULE_TYPE */
+    @ApiModelProperty(value = "MODULE_TYPE", position = 3)
+    private String moduleType;
+
+    /** FILTER */
+    @ApiModelProperty(value = "FILTER", position = 4)
+    private String filter;
+
+}

+ 35 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/param/SysBaseFilterInfoIdParam.java

@@ -0,0 +1,35 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * 保存每个用户的查询选择Id参数
+ *
+ * @author 1
+ * @date  2025/03/01 16:53
+ **/
+@Getter
+@Setter
+public class SysBaseFilterInfoIdParam {
+
+    /** ID */
+    @ApiModelProperty(value = "ID", required = true)
+    @NotBlank(message = "id不能为空")
+    private Integer id;
+}

+ 51 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/param/SysBaseFilterInfoPageParam.java

@@ -0,0 +1,51 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 保存每个用户的查询选择查询参数
+ *
+ * @author 1
+ * @date  2025/03/01 16:53
+ **/
+@Getter
+@Setter
+public class SysBaseFilterInfoPageParam {
+
+    /** 当前页 */
+    @ApiModelProperty(value = "当前页码")
+    private Integer current;
+
+    /** 每页条数 */
+    @ApiModelProperty(value = "每页条数")
+    private Integer size;
+
+    /** 排序字段 */
+    @ApiModelProperty(value = "排序字段,字段驼峰名称,如:userName")
+    private String sortField;
+
+    /** 排序方式 */
+    @ApiModelProperty(value = "排序方式,升序:ASCEND;降序:DESCEND")
+    private String sortOrder;
+
+    /** 关键词 */
+    @ApiModelProperty(value = "关键词")
+    private String searchKey;
+
+}

+ 84 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/service/ErpBdMaterialService.java

@@ -0,0 +1,84 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.erp.entity.ErpBdMaterial;
+import vip.xiaonuo.erp.param.*;
+
+import java.util.List;
+
+/**
+ * erp_bd_materialService接口
+ *
+ * @author 1
+ * @date  2025/03/01 14:50
+ **/
+public interface ErpBdMaterialService extends IService<ErpBdMaterial> {
+
+    /**
+     * 获取erp_bd_material分页
+     *
+     * @author 1
+     * @date  2025/03/01 14:50
+     */
+    Page<ErpBdMaterial> page(ErpBdMaterialPageParam erpBdMaterialPageParam);
+
+    /**
+     * 添加erp_bd_material
+     *
+     * @author 1
+     * @date  2025/03/01 14:50
+     */
+    void add(ErpBdMaterialAddParam erpBdMaterialAddParam);
+
+    /**
+     * 编辑erp_bd_material
+     *
+     * @author 1
+     * @date  2025/03/01 14:50
+     */
+    void edit(ErpBdMaterialEditParam erpBdMaterialEditParam);
+
+    /**
+     * 删除erp_bd_material
+     *
+     * @author 1
+     * @date  2025/03/01 14:50
+     */
+    void delete(List<ErpBdMaterialIdParam> erpBdMaterialIdParamList);
+
+    /**
+     * 获取erp_bd_material详情
+     *
+     * @author 1
+     * @date  2025/03/01 14:50
+     */
+    ErpBdMaterial detail(ErpBdMaterialIdParam erpBdMaterialIdParam);
+
+    /**
+     * 获取erp_bd_material详情
+     *
+     * @author 1
+     * @date  2025/03/01 14:50
+     **/
+    ErpBdMaterial queryEntity(Integer id);
+
+    List<ErpBdMaterial> getByParentId(ErpBdMaterialParentParam erpBdMaterial);
+
+    void sync();
+
+    List<ErpBdMaterialVo> getTreeParentId(ErpBdMaterialParentParam erpBdMaterial);
+
+}

+ 80 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/service/SysBaseFilterInfoService.java

@@ -0,0 +1,80 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.erp.entity.SysBaseFilterInfo;
+import vip.xiaonuo.erp.param.SysBaseFilterInfoAddParam;
+import vip.xiaonuo.erp.param.SysBaseFilterInfoEditParam;
+import vip.xiaonuo.erp.param.SysBaseFilterInfoIdParam;
+import vip.xiaonuo.erp.param.SysBaseFilterInfoPageParam;
+
+import java.util.List;
+
+/**
+ * 保存每个用户的查询选择Service接口
+ *
+ * @author 1
+ * @date  2025/03/01 16:53
+ **/
+public interface SysBaseFilterInfoService extends IService<SysBaseFilterInfo> {
+
+    /**
+     * 获取保存每个用户的查询选择分页
+     *
+     * @author 1
+     * @date  2025/03/01 16:53
+     */
+    Page<SysBaseFilterInfo> page(SysBaseFilterInfoPageParam sysBaseFilterInfoPageParam);
+
+    /**
+     * 添加保存每个用户的查询选择
+     *
+     * @author 1
+     * @date  2025/03/01 16:53
+     */
+    void add(SysBaseFilterInfoAddParam sysBaseFilterInfoAddParam);
+
+    /**
+     * 编辑保存每个用户的查询选择
+     *
+     * @author 1
+     * @date  2025/03/01 16:53
+     */
+    void edit(SysBaseFilterInfoEditParam sysBaseFilterInfoEditParam);
+
+    /**
+     * 删除保存每个用户的查询选择
+     *
+     * @author 1
+     * @date  2025/03/01 16:53
+     */
+    void delete(List<SysBaseFilterInfoIdParam> sysBaseFilterInfoIdParamList);
+
+    /**
+     * 获取保存每个用户的查询选择详情
+     *
+     * @author 1
+     * @date  2025/03/01 16:53
+     */
+    SysBaseFilterInfo detail(SysBaseFilterInfoIdParam sysBaseFilterInfoIdParam);
+
+    /**
+     * 获取保存每个用户的查询选择详情
+     *
+     * @author 1
+     * @date  2025/03/01 16:53
+     **/
+    SysBaseFilterInfo queryEntity(Integer id);
+}

+ 272 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/service/impl/ErpBdMaterialServiceImpl.java

@@ -0,0 +1,272 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollStreamUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import io.swagger.models.auth.In;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.ParameterizedTypeReference;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.client.RestTemplate;
+import vip.xiaonuo.common.enums.CommonSortOrderEnum;
+import vip.xiaonuo.common.exception.CommonException;
+import vip.xiaonuo.common.page.CommonPageRequest;
+import vip.xiaonuo.erp.entity.ErpBdMaterial;
+import vip.xiaonuo.erp.entity.ErpBdOrg;
+import vip.xiaonuo.erp.entity.voucher.ErpMaterial;
+import vip.xiaonuo.erp.mapper.ErpBdMaterialMapper;
+import vip.xiaonuo.erp.mapper.ErpBdOrgMapper;
+import vip.xiaonuo.erp.param.*;
+import vip.xiaonuo.erp.service.ErpBdMaterialService;
+import vip.xiaonuo.sale.entity.ErpBaseMaterial;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * erp_bd_materialService接口实现类
+ *
+ * @author 1
+ * @date  2025/03/01 14:50
+ **/
+@Service
+public class ErpBdMaterialServiceImpl extends ServiceImpl<ErpBdMaterialMapper, ErpBdMaterial> implements ErpBdMaterialService {
+
+    @Override
+    public Page<ErpBdMaterial> page(ErpBdMaterialPageParam erpBdMaterialPageParam) {
+        QueryWrapper<ErpBdMaterial> queryWrapper = new QueryWrapper<>();
+        if(ObjectUtil.isAllNotEmpty(erpBdMaterialPageParam.getSortField(), erpBdMaterialPageParam.getSortOrder())) {
+            CommonSortOrderEnum.validate(erpBdMaterialPageParam.getSortOrder());
+            queryWrapper.orderBy(true, erpBdMaterialPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
+                    StrUtil.toUnderlineCase(erpBdMaterialPageParam.getSortField()));
+        } else {
+            queryWrapper.lambda().orderByAsc(ErpBdMaterial::getId);
+        }
+        queryWrapper.eq(StringUtils.isNotBlank(erpBdMaterialPageParam.getOrgId()),"org_id",erpBdMaterialPageParam.getOrgId());
+        queryWrapper.eq("parent",0);
+        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void add(ErpBdMaterialAddParam erpBdMaterialAddParam) {
+        ErpBdMaterial erpBdMaterial = BeanUtil.toBean(erpBdMaterialAddParam, ErpBdMaterial.class);
+        this.save(erpBdMaterial);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void edit(ErpBdMaterialEditParam erpBdMaterialEditParam) {
+        ErpBdMaterial erpBdMaterial = this.queryEntity(erpBdMaterialEditParam.getId());
+        BeanUtil.copyProperties(erpBdMaterialEditParam, erpBdMaterial);
+        this.updateById(erpBdMaterial);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void delete(List<ErpBdMaterialIdParam> erpBdMaterialIdParamList) {
+        // 执行删除
+        this.removeByIds(CollStreamUtil.toList(erpBdMaterialIdParamList, ErpBdMaterialIdParam::getId));
+    }
+
+    @Override
+    public ErpBdMaterial detail(ErpBdMaterialIdParam erpBdMaterialIdParam) {
+        return this.queryEntity(erpBdMaterialIdParam.getId());
+    }
+
+    @Override
+    public ErpBdMaterial queryEntity(Integer id) {
+        ErpBdMaterial erpBdMaterial = this.getById(id);
+        if(ObjectUtil.isEmpty(erpBdMaterial)) {
+            throw new CommonException("erp_bd_material不存在,id值为:{}", id);
+        }
+        return erpBdMaterial;
+    }
+
+    @Override
+    public List<ErpBdMaterial> getByParentId(ErpBdMaterialParentParam erpBdMaterial) {
+        String orgId = erpBdMaterial.getOrgId();
+        Integer parent = erpBdMaterial.getId();
+        if (ObjectUtil.isEmpty(parent)){
+            parent = 0;
+        }
+        return  this.list(new QueryWrapper<ErpBdMaterial>().eq("parent", parent).eq(StringUtils.isNotBlank(orgId), "org_id", orgId));
+    }
+
+    @Autowired
+    private RestTemplate restTemplate;
+    @Autowired
+    private ErpBdOrgMapper erpBdOrgMapper;
+    @Autowired
+    private ErpBdMaterialMapper erpBdMaterialMapper;
+
+    @Override
+    public void sync() {
+        ResponseEntity<List<ErpMaterial>> response = restTemplate.exchange(
+                "http://127.0.0.1:9200/erp-bd-org/getMaterial",
+                HttpMethod.GET,
+                null,
+                new ParameterizedTypeReference<List<ErpMaterial>>() {
+                }
+        );
+        List<ErpMaterial> forObjects = response.getBody();
+        System.out.println(forObjects);
+
+        for (ErpMaterial forObject : forObjects) {
+
+            ResponseEntity<List<ErpMaterial>> response2 = restTemplate.exchange(
+                    "http://127.0.0.1:9200/erp-bd-org/getMaterialDetail?fnumber=" + forObject.getFnumber(),
+                    HttpMethod.GET,
+                    null,
+                    new ParameterizedTypeReference<List<ErpMaterial>>() {
+                    }
+            );
+            //二
+            List<ErpMaterial> forObjects2 = response2.getBody();
+            System.out.println(forObjects2);
+
+            boolean b = false;
+            //判断有没有下级
+            for (ErpMaterial erpMaterial : forObjects2) {
+                if (erpMaterial.getFnumber().contains("0000")) {
+
+                    ErpBdOrg forgid = erpBdOrgMapper.selectOne(new QueryWrapper<ErpBdOrg>().eq("forgid", erpMaterial.getFacctorgid()));
+                    if (ObjectUtil.isEmpty(forgid))
+                        continue;
+                    if (erpBdMaterialMapper.exists(new QueryWrapper<ErpBdMaterial>().eq("erp_fnumber", erpMaterial.getFnumber()).eq("org_id", forgid.getOrgId()))) {
+                        continue;
+                    }
+                    ErpBdMaterial erpBaseMaterial = new ErpBdMaterial();
+                    erpBaseMaterial.setErpFnumber(erpMaterial.getFnumber());
+                    erpBaseMaterial.setOrgId(forgid.getOrgId());
+                    erpBaseMaterial.setFname(erpMaterial.getFname() + " " + erpMaterial.getFspecification());
+                    erpBaseMaterial.setFspecification(erpMaterial.getFspecification());
+                    erpBaseMaterial.setParent(0);
+                    erpBdMaterialMapper.insert(erpBaseMaterial);
+                    b = true;
+                }
+            }
+            //有下级
+            if (b) {
+                for (ErpMaterial erpMaterial : forObjects2) {
+                    if (!erpMaterial.getFnumber().contains("0000")) {
+
+                        ErpBdOrg forgid = erpBdOrgMapper.selectOne(new QueryWrapper<ErpBdOrg>().eq("forgid", erpMaterial.getFacctorgid()));
+                        if (ObjectUtil.isEmpty(forgid))
+                            continue;
+                        if (erpBdMaterialMapper.exists(new QueryWrapper<ErpBdMaterial>().eq("erp_fnumber", erpMaterial.getFnumber()).eq("org_id", forgid.getOrgId()))) {
+                            continue;
+                        }
+                        ErpBdMaterial erpBaseMaterial = new ErpBdMaterial();
+                        erpBaseMaterial.setErpFnumber(erpMaterial.getFnumber());
+                        erpBaseMaterial.setOrgId(forgid.getOrgId());
+                        erpBaseMaterial.setFname(erpMaterial.getFname() + "  " + erpMaterial.getFspecification());
+                        erpBaseMaterial.setFspecification(erpMaterial.getFspecification());
+                        ErpBdMaterial erpBdMaterial = erpBdMaterialMapper.selectOne(new QueryWrapper<ErpBdMaterial>().
+                                eq("erp_fnumber", forObject.getFnumber() + "0000").eq("org_id", forgid.getOrgId()));
+                        if (ObjectUtil.isEmpty(erpBdMaterial)) {
+                            continue;
+                        }
+                        erpBaseMaterial.setParent(erpBdMaterial.getId());
+                        erpBdMaterialMapper.insert(erpBaseMaterial);
+                    }
+                }
+            } else {
+                for (ErpMaterial erpMaterial : forObjects2) {
+
+                    ErpBdOrg forgid = erpBdOrgMapper.selectOne(new QueryWrapper<ErpBdOrg>().eq("forgid", erpMaterial.getFacctorgid()));
+                    if (ObjectUtil.isEmpty(forgid))
+                        continue;
+                    if (erpBdMaterialMapper.exists(new QueryWrapper<ErpBdMaterial>().eq("erp_fnumber", erpMaterial.getFnumber()).eq("org_id", forgid.getOrgId()))) {
+                        continue;
+                    }
+                    ErpBdMaterial erpBaseMaterial = new ErpBdMaterial();
+                    erpBaseMaterial.setErpFnumber(erpMaterial.getFnumber());
+                    erpBaseMaterial.setOrgId(forgid.getOrgId());
+                    erpBaseMaterial.setFname(erpMaterial.getFname() + "  " + erpMaterial.getFspecification());
+                    erpBaseMaterial.setFspecification(erpMaterial.getFspecification());
+                    erpBaseMaterial.setParent(0);
+                    erpBdMaterialMapper.insert(erpBaseMaterial);
+
+                    ErpBdMaterial erpBaseMaterial1 = new ErpBdMaterial();
+                    erpBaseMaterial1.setErpFnumber(erpMaterial.getFnumber());
+                    erpBaseMaterial1.setOrgId(forgid.getOrgId());
+                    erpBaseMaterial1.setFname(erpMaterial.getFname() + "  " + erpMaterial.getFspecification());
+                    erpBaseMaterial1.setFspecification(erpMaterial.getFspecification());
+                    erpBaseMaterial1.setParent(erpBaseMaterial.getId());
+                    erpBdMaterialMapper.insert(erpBaseMaterial1);
+                }
+            }
+
+        }
+    }
+
+    @Override
+    public List<ErpBdMaterialVo> getTreeParentId(ErpBdMaterialParentParam erpBdMaterial) {
+
+        List<ErpBdMaterial> materials = this.list(new QueryWrapper<ErpBdMaterial>().eq(StringUtils.isNotBlank(erpBdMaterial.getOrgId()), "org_id", erpBdMaterial.getOrgId()));
+
+        return buildTree(materials,0);
+
+    }
+
+    public static List<ErpBdMaterialVo> buildTree(List<ErpBdMaterial> nodes, int rootParentId) {
+        Map<Integer, ErpBdMaterialVo> nodeMap = new HashMap<>();
+        List<ErpBdMaterialVo> rootNodes = new ArrayList<>();
+
+        List<ErpBdMaterialVo> bdMaterialVos = new ArrayList<>();
+        // 将所有节点放入 Map 中,方便通过 ID 查找
+        for (ErpBdMaterial node : nodes) {
+            ErpBdMaterialVo erpBdMaterialVo = new ErpBdMaterialVo();
+            BeanUtil.copyProperties(node, erpBdMaterialVo);
+            bdMaterialVos.add(erpBdMaterialVo);
+            nodeMap.put(node.getId(), erpBdMaterialVo);
+        }
+
+        // 构建树
+        for (ErpBdMaterialVo node : bdMaterialVos) {
+            if (node.getParent() == 0) {
+                // 顶级节点,直接加入根节点列表
+                rootNodes.add(node);
+            } else {
+                // 查找父节点,并将当前节点加入父节点的子节点列表
+                ErpBdMaterialVo parentNode = nodeMap.get(node.getParent());
+                if (parentNode != null) {
+                    parentNode.addChild(node);
+                }
+            }
+        }
+        return rootNodes;
+    }
+
+
+    public List<ErpBdMaterial> getByParentId2(Integer erpBdMaterial,String orgId) {
+        if (ObjectUtil.isEmpty(erpBdMaterial)){
+            erpBdMaterial = 0;
+        }
+        return  this.list(new QueryWrapper<ErpBdMaterial>().eq("parent", erpBdMaterial).eq(StringUtils.isNotBlank(orgId), "org_id", orgId));
+    }
+
+}

+ 94 - 0
huimv-farm/src/main/java/vip/xiaonuo/erp/service/impl/SysBaseFilterInfoServiceImpl.java

@@ -0,0 +1,94 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.erp.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollStreamUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import vip.xiaonuo.common.enums.CommonSortOrderEnum;
+import vip.xiaonuo.common.exception.CommonException;
+import vip.xiaonuo.common.page.CommonPageRequest;
+import vip.xiaonuo.erp.entity.SysBaseFilterInfo;
+import vip.xiaonuo.erp.mapper.SysBaseFilterInfoMapper;
+import vip.xiaonuo.erp.param.SysBaseFilterInfoAddParam;
+import vip.xiaonuo.erp.param.SysBaseFilterInfoEditParam;
+import vip.xiaonuo.erp.param.SysBaseFilterInfoIdParam;
+import vip.xiaonuo.erp.param.SysBaseFilterInfoPageParam;
+import vip.xiaonuo.erp.service.SysBaseFilterInfoService;
+
+import java.util.List;
+
+/**
+ * 保存每个用户的查询选择Service接口实现类
+ *
+ * @author 1
+ * @date  2025/03/01 16:53
+ **/
+@Service
+public class SysBaseFilterInfoServiceImpl extends ServiceImpl<SysBaseFilterInfoMapper, SysBaseFilterInfo> implements SysBaseFilterInfoService {
+
+    @Override
+    public Page<SysBaseFilterInfo> page(SysBaseFilterInfoPageParam sysBaseFilterInfoPageParam) {
+        QueryWrapper<SysBaseFilterInfo> queryWrapper = new QueryWrapper<>();
+        if(ObjectUtil.isAllNotEmpty(sysBaseFilterInfoPageParam.getSortField(), sysBaseFilterInfoPageParam.getSortOrder())) {
+            CommonSortOrderEnum.validate(sysBaseFilterInfoPageParam.getSortOrder());
+            queryWrapper.orderBy(true, sysBaseFilterInfoPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
+                    StrUtil.toUnderlineCase(sysBaseFilterInfoPageParam.getSortField()));
+        } else {
+            queryWrapper.lambda().orderByAsc(SysBaseFilterInfo::getId);
+        }
+        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void add(SysBaseFilterInfoAddParam sysBaseFilterInfoAddParam) {
+        SysBaseFilterInfo sysBaseFilterInfo = BeanUtil.toBean(sysBaseFilterInfoAddParam, SysBaseFilterInfo.class);
+        this.save(sysBaseFilterInfo);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void edit(SysBaseFilterInfoEditParam sysBaseFilterInfoEditParam) {
+        SysBaseFilterInfo sysBaseFilterInfo = this.queryEntity(sysBaseFilterInfoEditParam.getId());
+        BeanUtil.copyProperties(sysBaseFilterInfoEditParam, sysBaseFilterInfo);
+        this.updateById(sysBaseFilterInfo);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void delete(List<SysBaseFilterInfoIdParam> sysBaseFilterInfoIdParamList) {
+        // 执行删除
+        this.removeByIds(CollStreamUtil.toList(sysBaseFilterInfoIdParamList, SysBaseFilterInfoIdParam::getId));
+    }
+
+    @Override
+    public SysBaseFilterInfo detail(SysBaseFilterInfoIdParam sysBaseFilterInfoIdParam) {
+        return this.queryEntity(sysBaseFilterInfoIdParam.getId());
+    }
+
+    @Override
+    public SysBaseFilterInfo queryEntity(Integer id) {
+        SysBaseFilterInfo sysBaseFilterInfo = this.getById(id);
+        if(ObjectUtil.isEmpty(sysBaseFilterInfo)) {
+            throw new CommonException("保存每个用户的查询选择不存在,id值为:{}", id);
+        }
+        return sysBaseFilterInfo;
+    }
+}

+ 1 - 0
huimv-farm/src/main/java/vip/xiaonuo/production/entity/ProductionWritePlan.java

@@ -75,4 +75,5 @@ public class ProductionWritePlan implements Serializable {
     @ApiModelProperty(value = "公司名称",position = 7)
     private String orgName;
 
+
 }

+ 22 - 2
huimv-farm/src/main/java/vip/xiaonuo/production/service/impl/ProductionYieldServiceImpl.java

@@ -5,6 +5,8 @@ import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import vip.xiaonuo.erp.entity.ErpBdMaterial;
+import vip.xiaonuo.erp.mapper.ErpBdMaterialMapper;
 import vip.xiaonuo.production.entity.ProductionWritePlan;
 import vip.xiaonuo.production.entity.ProductionYield;
 import vip.xiaonuo.production.mapper.ProductionWritePlanMapper;
@@ -38,6 +40,9 @@ public class ProductionYieldServiceImpl extends ServiceImpl<ProductionYieldMappe
     @Autowired
     private ProductionWritePlanMapper writePlanMapper;
 
+    @Autowired
+    private ErpBdMaterialMapper erpBdMaterialMapper;
+
     @Override
     public List<ProductionYield> getList(ProductionYieldParam yieldParam) {
         String orgId = yieldParam.getOrgId();
@@ -50,7 +55,7 @@ public class ProductionYieldServiceImpl extends ServiceImpl<ProductionYieldMappe
         if (StringUtils.isNotBlank(produceName)) {
             queryWrapper.like(StringUtils.isNotBlank(produceName), "produce_name", produceName);
         }
-
+        DecimalFormat df = new DecimalFormat("#.00");
         queryWrapper.select(" convert(IFNULL(sum(actual_production),'0'),decimal(10,2)) actualProduction,create_time createTime");
         if (0 == timeType) {
             queryWrapper.groupBy("DATE_FORMAT(create_time,'%Y')");
@@ -61,6 +66,16 @@ public class ProductionYieldServiceImpl extends ServiceImpl<ProductionYieldMappe
         List<ProductionYield> productionYields = yieldMapper.selectList(queryWrapper);
 
         for (ProductionYield productionYield : productionYields) {
+
+            List<ErpBdMaterial> erpBdMaterials = erpBdMaterialMapper.selectList(new QueryWrapper<ErpBdMaterial>()
+                    .eq(StringUtils.isNotBlank(produceName), "fname", produceName)
+                    .eq(StringUtils.isNotBlank(orgId), "org_id", orgId));
+            String conver = "1";
+            if (ObjectUtil.isNotEmpty(erpBdMaterials) && StringUtils.isNotBlank(erpBdMaterials.get(0).getConver() )){
+                conver= erpBdMaterials.get(0).getConver();
+            }
+
+
             QueryWrapper<ProductionWritePlan> queryWrapper1 = new QueryWrapper<>();
             if (0 == timeType) {
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
@@ -73,13 +88,18 @@ public class ProductionYieldServiceImpl extends ServiceImpl<ProductionYieldMappe
             }
             queryWrapper1.select("convert(IFNULL(sum(production_plan),'0'),decimal(10,2)) productionPlan");
             ProductionWritePlan writePlan = writePlanMapper.selectOne(queryWrapper1);
+//            if (ObjectUtil.isEmpty(writePlan) && writePlan.getIsErp() == 1){
+//                productionYield.setActualProduction(df.format(Double.parseDouble(writePlan.getActualProduction() )* Double.parseDouble(conver)));
+//            }else {
+//                productionYield.setActualProduction(df.format(Double.parseDouble(productionYield.getActualProduction() )* Double.parseDouble(conver)));
+//            }
             if (ObjectUtil.isEmpty(writePlan) || "0".equals(writePlan.getProductionPlan())) {
                 productionYield.setCompleteRate("0");
                 productionYield.setPlanProduction("0");
             } else {
                 double v = Double.valueOf(productionYield.getActualProduction()) / Double.valueOf(writePlan.getProductionPlan());
                 DecimalFormat def = new DecimalFormat("0.00");
-                productionYield.setPlanProduction(writePlan.getProductionPlan());
+                productionYield.setPlanProduction(df.format(Double.parseDouble(writePlan.getProductionPlan())* Double.parseDouble(conver)));
                 if (v > 1.0) {
                     productionYield.setCompleteRate("100");
                 } else {

+ 5 - 0
huimv-farm/src/main/resources/mapper/ErpBaseMaterialMapper.xml

@@ -0,0 +1,5 @@
+<?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="vip.xiaonuo.erp.mapper.ErpBaseMaterialMapper">
+
+</mapper>

+ 5 - 0
huimv-farm/src/main/resources/mapper/ErpBdMaterialMapper.xml

@@ -0,0 +1,5 @@
+<?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="vip.xiaonuo.erp.mapper.ErpBdMaterialMapper">
+
+</mapper>

+ 158 - 0
huimv-farm/src/test/java/vip/xiaonuo/Bdest.java

@@ -0,0 +1,158 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.core.ParameterizedTypeReference;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.web.client.RestTemplate;
+import vip.xiaonuo.erp.entity.ErpBdMaterial;
+import vip.xiaonuo.erp.entity.ErpBdOrg;
+import vip.xiaonuo.erp.entity.voucher.ErpMaterial;
+import vip.xiaonuo.erp.mapper.ErpBdMaterialMapper;
+import vip.xiaonuo.erp.mapper.ErpBdOrgMapper;
+
+import java.util.List;
+
+/**
+ * 主测试类
+ *
+ * @author xuyuxiang
+ * @date 2022/9/17 17:09
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class Bdest {
+
+    @Autowired
+    private RestTemplate restTemplate;
+    @Autowired
+    private ErpBdOrgMapper erpBdOrgMapper;
+    @Autowired
+    private ErpBdMaterialMapper erpBdMaterialMapper;
+
+    @Test
+    public void  test1(){
+        ResponseEntity<List<ErpMaterial>> response = restTemplate.exchange(
+                "http://127.0.0.1:9200/erp-bd-org/getMaterial",
+                HttpMethod.GET,
+                null,
+                new ParameterizedTypeReference<List<ErpMaterial>>() {}
+        );
+        List<ErpMaterial> forObjects = response.getBody();
+        System.out.println(forObjects);
+
+        for (ErpMaterial forObject : forObjects) {
+
+            ResponseEntity<List<ErpMaterial>> response2 = restTemplate.exchange(
+                    "http://127.0.0.1:9200/erp-bd-org/getMaterialDetail?fnumber="+forObject.getFnumber(),
+                    HttpMethod.GET,
+                    null,
+                    new ParameterizedTypeReference<List<ErpMaterial>>() {}
+            );
+            //二
+            List<ErpMaterial> forObjects2 = response2.getBody();
+            System.out.println(forObjects2);
+
+            boolean b = false;
+            //判断有没有下级
+            for (ErpMaterial erpMaterial : forObjects2) {
+                if(erpMaterial.getFnumber().contains("0000")){
+
+                    ErpBdOrg forgid = erpBdOrgMapper.selectOne(new QueryWrapper<ErpBdOrg>().eq("forgid", erpMaterial.getFacctorgid()));
+                    if (ObjectUtil.isEmpty(forgid))
+                        continue;
+                    if (erpBdMaterialMapper.exists(new QueryWrapper<ErpBdMaterial>().eq("erp_fnumber", erpMaterial.getFnumber()).eq("org_id",forgid.getOrgId()))){
+                        continue;
+                    }
+                    ErpBdMaterial erpBaseMaterial = new ErpBdMaterial();
+                    erpBaseMaterial.setErpFnumber(erpMaterial.getFnumber());
+                    erpBaseMaterial.setOrgId(forgid.getOrgId());
+                    erpBaseMaterial.setFname(erpMaterial.getFname());
+                    erpBaseMaterial.setFspecification(erpMaterial.getFspecification());
+                    erpBaseMaterial.setUnit("kg");
+                    erpBaseMaterial.setConver("1");
+                    erpBaseMaterial.setParent(0);
+                    erpBdMaterialMapper.insert(erpBaseMaterial);
+                    b =true;
+                }
+            }
+            //有下级
+            if (b){
+                for (ErpMaterial erpMaterial : forObjects2) {
+                    if(!erpMaterial.getFnumber().contains("0000")){
+
+                        ErpBdOrg forgid = erpBdOrgMapper.selectOne(new QueryWrapper<ErpBdOrg>().eq("forgid", erpMaterial.getFacctorgid()));
+                        if (ObjectUtil.isEmpty(forgid))
+                            continue;
+                        if (erpBdMaterialMapper.exists(new QueryWrapper<ErpBdMaterial>().eq("erp_fnumber", erpMaterial.getFnumber()).eq("org_id",forgid.getOrgId()))){
+                            continue;
+                        }
+                        ErpBdMaterial erpBaseMaterial = new ErpBdMaterial();
+                        erpBaseMaterial.setErpFnumber(erpMaterial.getFnumber());
+                        erpBaseMaterial.setOrgId(forgid.getOrgId());
+                        erpBaseMaterial.setFname(erpMaterial.getFname()+"  "+erpMaterial.getFspecification());
+                        erpBaseMaterial.setFspecification(erpMaterial.getFspecification());
+                        ErpBdMaterial erpBdMaterial = erpBdMaterialMapper.selectOne(new QueryWrapper<ErpBdMaterial>().
+                                eq("erp_fnumber", forObject.getFnumber() + "0000").eq("org_id", forgid.getOrgId()));
+                        if (ObjectUtil.isEmpty(erpBdMaterial)){
+                            continue;
+                        }
+                        erpBaseMaterial.setParent(erpBdMaterial.getId());
+                        erpBaseMaterial.setUnit("kg");
+                        erpBaseMaterial.setConver("1");
+                        erpBdMaterialMapper.insert(erpBaseMaterial);
+                    }
+                }
+            } else {
+                for (ErpMaterial erpMaterial : forObjects2) {
+
+                    ErpBdOrg forgid = erpBdOrgMapper.selectOne(new QueryWrapper<ErpBdOrg>().eq("forgid", erpMaterial.getFacctorgid()));
+                    if (ObjectUtil.isEmpty(forgid))
+                        continue;
+                    if (erpBdMaterialMapper.exists(new QueryWrapper<ErpBdMaterial>().eq("erp_fnumber", erpMaterial.getFnumber()).eq("org_id",forgid.getOrgId()))){
+                        continue;
+                    }
+                    ErpBdMaterial erpBaseMaterial = new ErpBdMaterial();
+                    erpBaseMaterial.setErpFnumber(erpMaterial.getFnumber());
+                    erpBaseMaterial.setOrgId(forgid.getOrgId());
+                    erpBaseMaterial.setFname(erpMaterial.getFname());
+                    erpBaseMaterial.setFspecification(erpMaterial.getFspecification());
+                    erpBaseMaterial.setParent(0);
+                    erpBaseMaterial.setUnit("kg");
+                    erpBaseMaterial.setConver("1");
+                    erpBdMaterialMapper.insert(erpBaseMaterial);
+
+                    ErpBdMaterial erpBaseMaterial1 = new ErpBdMaterial();
+                    erpBaseMaterial1.setErpFnumber(erpMaterial.getFnumber());
+                    erpBaseMaterial1.setOrgId(forgid.getOrgId());
+                    erpBaseMaterial1.setFname(erpMaterial.getFname()+"  "+erpMaterial.getFspecification());
+                    erpBaseMaterial1.setFspecification(erpMaterial.getFspecification());
+                    erpBaseMaterial1.setParent(erpBaseMaterial.getId());
+                    erpBaseMaterial.setUnit("kg");
+                    erpBaseMaterial.setConver("1");
+                    erpBdMaterialMapper.insert(erpBaseMaterial1);
+                }
+            }
+        }
+    }
+
+
+}