wwh пре 2 месеци
родитељ
комит
83954e6a21
31 измењених фајлова са 568 додато и 49 уклоњено
  1. 11 0
      app-admin/src/main/java/com/ruoyi/web/controller/app/EntranceInspectionController.java
  2. 10 0
      app-admin/src/main/java/com/ruoyi/web/controller/app/HarmlessTreatmentController.java
  3. 2 1
      app-admin/src/main/java/com/ruoyi/web/controller/app/PigpenController.java
  4. 2 1
      app-admin/src/main/java/com/ruoyi/web/controller/app/PurchaserController.java
  5. 11 5
      app-admin/src/main/java/com/ruoyi/web/controller/app/StaffController.java
  6. 2 1
      app-admin/src/main/java/com/ruoyi/web/controller/app/SupplierController.java
  7. 22 13
      app-admin/src/main/java/com/ruoyi/web/v2/v1/service/impl/JsDistributionServiceImpl.java
  8. 1 1
      app-admin/src/main/java/com/ruoyi/web/v2/v1/service/impl/JsDrugCheckServiceImpl.java
  9. 16 6
      app-admin/src/main/java/com/ruoyi/web/v2/v1/service/impl/JsInStockServiceImpl.java
  10. 16 6
      app-admin/src/main/java/com/ruoyi/web/v2/v1/service/impl/JsOutStockServiceImpl.java
  11. 66 0
      app-admin/src/main/java/com/ruoyi/web/v3/controller/HbOrgInfoController.java
  12. 52 0
      app-admin/src/main/java/com/ruoyi/web/v3/entity/HbOrgInfoEntity.java
  13. 14 0
      app-admin/src/main/java/com/ruoyi/web/v3/mapper/HbOrgInfoMapper.java
  14. 53 0
      app-admin/src/main/java/com/ruoyi/web/v3/model/request/HbOrgInfoPageReq.java
  15. 13 0
      app-admin/src/main/java/com/ruoyi/web/v3/model/request/HbRiskCheckDailyPageReq.java
  16. 12 0
      app-admin/src/main/java/com/ruoyi/web/v3/model/request/HbRiskCheckLedgerPageReq.java
  17. 11 0
      app-admin/src/main/java/com/ruoyi/web/v3/model/request/HbRiskCheckMonthlyPageReq.java
  18. 63 0
      app-admin/src/main/java/com/ruoyi/web/v3/model/request/JsStaffPageReq.java
  19. 27 0
      app-admin/src/main/java/com/ruoyi/web/v3/service/IHbOrgInfoService.java
  20. 95 0
      app-admin/src/main/java/com/ruoyi/web/v3/service/impl/HbOrgInfoServiceImpl.java
  21. 4 0
      app-admin/src/main/java/com/ruoyi/web/v3/service/impl/HbRiskCheckDailyServiceImpl.java
  22. 3 0
      app-admin/src/main/java/com/ruoyi/web/v3/service/impl/HbRiskCheckLedgerImpl.java
  23. 4 0
      app-admin/src/main/java/com/ruoyi/web/v3/service/impl/HbRiskCheckMonthlyServiceImpl.java
  24. BIN
      app-admin/src/main/resources/static/default_logo.png
  25. 1 1
      app-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
  26. 12 4
      app-system/src/main/java/com/ruoyi/app/mapper/StaffMapper.java
  27. 5 1
      app-system/src/main/java/com/ruoyi/app/service/IStaffService.java
  28. 3 3
      app-system/src/main/java/com/ruoyi/app/service/impl/PurchaserServiceImpl.java
  29. 12 2
      app-system/src/main/java/com/ruoyi/app/service/impl/StaffServiceImpl.java
  30. 3 3
      app-system/src/main/java/com/ruoyi/app/service/impl/SupplierServiceImpl.java
  31. 22 1
      sql/v3_biz_20250814.sql

+ 11 - 0
app-admin/src/main/java/com/ruoyi/web/controller/app/EntranceInspectionController.java

@@ -3,7 +3,9 @@ package com.ruoyi.web.controller.app;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
+import com.ruoyi.app.model.HarmlessTreatment;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.ObjectUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -79,6 +81,15 @@ public class EntranceInspectionController extends BaseController
     public AjaxResult add(@Validated  @RequestBody EntranceInspection entranceInspection)
     {
         entranceInspection.setCreateBy(getUsername());
+        //存在性判定,已存在入场批次号相同的数据,则更新原有数据,否则新增插入
+        if(!ObjectUtils.isEmpty(entranceInspection.getEntranceBatchId())) {
+            EntranceInspection queryEntity = new EntranceInspection();
+            queryEntity.setEntranceBatchId(entranceInspection.getEntranceBatchId());
+            List<EntranceInspection> list = entranceInspectionService.selectEntranceInspectionList(queryEntity);
+            if(!ObjectUtils.isEmpty(list)) {
+                return toAjax(entranceInspectionService.updateEntranceInspection(entranceInspection));
+            }
+        }
         return toAjax(entranceInspectionService.insertEntranceInspection(entranceInspection));
     }
 

+ 10 - 0
app-admin/src/main/java/com/ruoyi/web/controller/app/HarmlessTreatmentController.java

@@ -10,6 +10,7 @@ import com.ruoyi.app.service.IEntranceBatchService;
 import com.ruoyi.web.v2.v1.model.JsDivideCircle;
 import com.ruoyi.web.v2.v1.service.IJsDivideCircleService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.ObjectUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import com.ruoyi.common.annotation.Log;
@@ -103,6 +104,15 @@ public class HarmlessTreatmentController extends BaseController
             return error("新增无害化处理失败,病死头数、病害头数、途亡头数或急宰头数输入错误");
         }
         harmlessTreatment.setCreateBy(getUsername());
+        //存在性判定,已存在入场批次号相同的数据,则更新原有数据,否则新增插入
+        if(!ObjectUtils.isEmpty(harmlessTreatment.getEntranceBatchId())) {
+            HarmlessTreatment queryEntity = new HarmlessTreatment();
+            queryEntity.setEntranceBatchId(harmlessTreatment.getEntranceBatchId());
+            List<HarmlessTreatment> list = harmlessTreatmentService.selectHarmlessTreatmentList(queryEntity);
+            if(!ObjectUtils.isEmpty(list)) {
+                return toAjax(harmlessTreatmentService.updateHarmlessTreatment(harmlessTreatment));
+            }
+        }
         return toAjax(harmlessTreatmentService.insertHarmlessTreatment(harmlessTreatment));
     }
 

+ 2 - 1
app-admin/src/main/java/com/ruoyi/web/controller/app/PigpenController.java

@@ -1,5 +1,6 @@
 package com.ruoyi.web.controller.app;
 
+import java.util.HashMap;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
@@ -142,6 +143,6 @@ public class PigpenController extends BaseController
     @GetMapping("/nextNo")
     public AjaxResult nextNo()
     {
-        return success(pigpenService.getNextNo());
+        return success(new HashMap<String, String>() {{ put("nextNo", pigpenService.getNextNo());}});
     }
 }

+ 2 - 1
app-admin/src/main/java/com/ruoyi/web/controller/app/PurchaserController.java

@@ -1,5 +1,6 @@
 package com.ruoyi.web.controller.app;
 
+import java.util.HashMap;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
@@ -152,6 +153,6 @@ public class PurchaserController extends BaseController
     @GetMapping("/nextNo")
     public AjaxResult nextNo()
     {
-        return success(purchaserService.getNextNo());
+        return success(new HashMap<String, String>() {{ put("nextNo", purchaserService.getNextNo());}});
     }
 }

+ 11 - 5
app-admin/src/main/java/com/ruoyi/web/controller/app/StaffController.java

@@ -3,8 +3,11 @@ package com.ruoyi.web.controller.app;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.service.ISysPostService;
+import com.ruoyi.web.v3.model.request.JsStaffPageReq;
+import org.springframework.beans.BeanUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
@@ -46,11 +49,14 @@ public class StaffController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('app:staff:list')")
     @GetMapping("/list")
-    public TableDataInfo list(Staff staff)
+    public AjaxResult list(JsStaffPageReq staff)
     {
-        startPage();
-        List<Staff> list = staffService.selectStaffList(staff);
-        return getDataTable(list);
+//        startPage();
+        Staff staffEntity = new Staff();
+        BeanUtils.copyProperties(staff, staffEntity);
+        Page<Staff> list = staffService.selectStaffList(staff.toPage(), staffEntity);
+//        return getDataTable(list);
+        return success(list);
     }
 
     /**
@@ -61,7 +67,7 @@ public class StaffController extends BaseController
     @PostMapping("/export")
     public void export(HttpServletResponse response, Staff staff)
     {
-        List<Staff> list = staffService.selectStaffList(staff);
+        List<Staff> list = staffService.selectStaffAll(staff);
         ExcelUtil<Staff> util = new ExcelUtil<Staff>(Staff.class);
         util.exportExcel(response, list, "人员数据");
     }

+ 2 - 1
app-admin/src/main/java/com/ruoyi/web/controller/app/SupplierController.java

@@ -1,5 +1,6 @@
 package com.ruoyi.web.controller.app;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.stream.Collectors;
 import javax.servlet.http.HttpServletResponse;
@@ -147,7 +148,7 @@ public class SupplierController extends BaseController
     @GetMapping("/nextNo")
     public AjaxResult nextNo()
     {
-        return success(supplierService.getNextNo());
+        return success(new HashMap<String, String>() {{ put("nextNo", supplierService.getNextNo());}});
     }
 
 

+ 22 - 13
app-admin/src/main/java/com/ruoyi/web/v2/v1/service/impl/JsDistributionServiceImpl.java

@@ -2,6 +2,7 @@ package com.ruoyi.web.v2.v1.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.app.model.EntranceBatch;
@@ -24,6 +25,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.nio.ByteBuffer;
+import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -89,7 +91,8 @@ public class JsDistributionServiceImpl extends ServiceImpl<JsDistributionMapper,
             String[] seriesNoGroup = distribution.getSeriesNoGroup().split(",");
             List<JsDivideCircle> circles = circleMapper.selectList(
                     Wrappers.<JsDivideCircle>lambdaQuery().in(JsDivideCircle::getSeriesNo, seriesNoGroup));
-            return circles.size() > 0 ? distribution.getSeriesNoGroup() : "";
+            String result = seriesNoGroup == null ? "" : Arrays.stream(seriesNoGroup).distinct().collect(Collectors.joining(","));
+            return circles.size() > 0 ? result : "";
         }else {
             //如果提交的表单未带有分圈的批次序列号,那么根据入场id或者检疫证号查分圈批次序列号集,进行设置
             if(ObjectUtil.isNotEmpty(distribution.getEntranceBatchId())) {
@@ -104,7 +107,7 @@ public class JsDistributionServiceImpl extends ServiceImpl<JsDistributionMapper,
                     return circles.stream().map(
                             item -> entranceBatch.getAnimalCertNo() +
                                     item.getPigpenId() +
-                                    entranceBatch.getEntranceTime().format(DateTimeFormatter.ofPattern("yyyyMMdd")))
+                                    entranceBatch.getEntranceTime().format(DateTimeFormatter.ofPattern("yyyyMMdd"))).distinct()
                             .collect(Collectors.joining(","));
                 }
             }
@@ -160,12 +163,12 @@ public class JsDistributionServiceImpl extends ServiceImpl<JsDistributionMapper,
     public PaginationUtil.PageResult<JsProduction> productionPage(Integer pageNum, Integer pageSize, String startTime, String endTime, String animalCertNo) {
         QueryWrapper<JsDistribution> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq(StringUtils.isNotEmpty(animalCertNo), "animal_cert_no", animalCertNo)
-                .groupBy("supplier_name,purchaser_name,DATE(distribution_time)")
+                .groupBy("supplier_name,purchaser_name,animal_cert_no, DATE(distribution_time)")
                 .orderByDesc("distribution_time");
         if ("".equals(startTime) || null == startTime) {
 
         } else {
-            queryWrapper.between("distribution_time", startTime + " 00:00:00", endTime + " 23:59:59");
+            queryWrapper.between("distribution_time", LocalDate.parse(startTime), LocalDate.parse(endTime));
         }
         queryWrapper.orderByDesc("distribution_time");
         List<JsDistribution> jsDistributions = distributionMapper.selectList(queryWrapper);
@@ -206,17 +209,23 @@ public class JsDistributionServiceImpl extends ServiceImpl<JsDistributionMapper,
     @Override
     public AjaxResult editProduce(JsProduceCode jsProduceCode) {
         QueryWrapper<JsProduceCode> queryWrapper1 = new QueryWrapper<>();
-        queryWrapper1.eq("purchaser_name",jsProduceCode.getPurchaserName()).eq("supplier_name",jsProduceCode.getSupplierName());
+        //queryWrapper1.eq("purchaser_name",jsProduceCode.getPurchaserName()).eq("supplier_name",jsProduceCode.getSupplierName());
+        //将查询条件由供应商名称和肉商名称调整为one_code
+        queryWrapper1.eq("one_code", jsProduceCode.getOneCode());
         List<JsProduceCode> jsProduceCodes = produceCodeMapper.selectList(queryWrapper1);
         for (JsProduceCode produceCode : jsProduceCodes) {
-            if ("".equals(produceCode.getAnimalCert()) || null == produceCode.getAnimalCert()) {
-
-            } else {
-                produceCode.setAnimalCert(jsProduceCode.getAnimalCert());
-                produceCode.setMeatCert(jsProduceCode.getMeatCert());
-                produceCodeMapper.updateById(produceCode);
-            }
-
+//            if ("".equals(produceCode.getAnimalCert()) || null == produceCode.getAnimalCert()) {
+//
+//            } else {
+//                produceCode.setAnimalCert(jsProduceCode.getAnimalCert());
+//                produceCode.setMeatCert(jsProduceCode.getMeatCert());
+//                produceCodeMapper.updateById(produceCode);
+//            }
+            UpdateWrapper<JsProduceCode> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.eq("one_code", jsProduceCode.getOneCode())
+                    .set("animal_cert", jsProduceCode.getAnimalCert())
+                    .set("meat_cert", jsProduceCode.getMeatCert());
+            produceCodeMapper.update(null, updateWrapper);
         }
         return success();
     }

+ 1 - 1
app-admin/src/main/java/com/ruoyi/web/v2/v1/service/impl/JsDrugCheckServiceImpl.java

@@ -81,7 +81,7 @@ public class JsDrugCheckServiceImpl extends ServiceImpl<JsDrugCheckMapper, JsDru
             JsRestInspection restInspection = restInspectionMapper.selectOne(queryWrapper1);//静养病死病害数量
             dealAmount = restInspection.getDealAmount();
             //新增加批次序列号字段,多个批次序列号使用逗号分割
-            drugCheck.setSeriesNoGroup(circles.stream().map(JsDivideCircle::getSeriesNo)
+            drugCheck.setSeriesNoGroup(circles.stream().map(JsDivideCircle::getSeriesNo).distinct()
                     .collect(Collectors.joining(",")));
         }
         int amount = entranceBatch.getAmount() - dealAmount -

+ 16 - 6
app-admin/src/main/java/com/ruoyi/web/v2/v1/service/impl/JsInStockServiceImpl.java

@@ -18,6 +18,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
 import java.util.Date;
 
 import static com.ruoyi.common.core.domain.AjaxResult.success;
@@ -114,13 +115,22 @@ public class JsInStockServiceImpl extends ServiceImpl<JsInStockMapper, JsInStock
                            String materialName, Integer materialType,  Boolean needAllFlag) {
         Page<JsInStock> page = new Page<>(pageNum, pageSize);
         QueryWrapper<JsInStock> queryWrapper = new QueryWrapper<>();
-        if ("".equals(startTime) || null == startTime) {
-
-        } else {
-            queryWrapper.between("in_time", startTime + " 00:00:00", endTime + " 23:59:59");
+//        if ("".equals(startTime) || null == startTime) {
+//
+//        } else {
+//            queryWrapper.between("in_time", startTime + " 00:00:00", endTime + " 23:59:59");
+//        }
+//        queryWrapper.like(StringUtils.isNotEmpty(materialBatch), "material_batch", materialBatch)
+//                .or().like(StringUtils.isNotEmpty(materialName), "material_name", materialName);
+        if(!ObjectUtils.isEmpty(startTime) && !ObjectUtils.isEmpty(endTime) ) {
+            queryWrapper.between("in_time", LocalDate.parse(startTime), LocalDate.parse(endTime));
+        }
+        if(!ObjectUtils.isEmpty(materialBatch)) {
+            queryWrapper.likeLeft("material_batch", materialBatch);
+        }
+        if(!ObjectUtils.isEmpty(materialName)) {
+            queryWrapper.like("material_name", materialName);
         }
-        queryWrapper.like(StringUtils.isNotEmpty(materialBatch), "material_batch", materialBatch)
-                .or().like(StringUtils.isNotEmpty(materialName), "material_name", materialName);
         if (null != materialType) {
             queryWrapper.eq("material_type", materialType);
         }else if(ObjectUtils.isEmpty(needAllFlag) || needAllFlag.equals(Boolean.FALSE)) {

+ 16 - 6
app-admin/src/main/java/com/ruoyi/web/v2/v1/service/impl/JsOutStockServiceImpl.java

@@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
+import java.time.LocalDate;
 import java.util.Date;
 
 import static com.ruoyi.common.core.domain.AjaxResult.error;
@@ -91,13 +92,22 @@ public class JsOutStockServiceImpl extends ServiceImpl<JsOutStockMapper, JsOutSt
                            String materialName, Integer materialType,  Boolean needAllFlag) {
         Page<JsOutStock> page = new Page<>(pageNum, pageSize);
         QueryWrapper<JsOutStock> queryWrapper = new QueryWrapper<>();
-        if ("".equals(startTime) || null == startTime) {
-
-        } else {
-            queryWrapper.between("out_time",startTime+" 00:00:00", endTime+" 23:59:59");
+//        if ("".equals(startTime) || null == startTime) {
+//
+//        } else {
+//            queryWrapper.between("out_time",startTime+" 00:00:00", endTime+" 23:59:59");
+//        }
+//        queryWrapper.like(StringUtils.isNotEmpty(materialBatch), "material_batch", materialBatch)
+//                .or().like(StringUtils.isNotEmpty(materialName), "material_name", materialName);
+        if(!ObjectUtils.isEmpty(startTime) && !ObjectUtils.isEmpty(endTime) ) {
+            queryWrapper.between("out_time", LocalDate.parse(startTime), LocalDate.parse(endTime));
+        }
+        if(!ObjectUtils.isEmpty(materialBatch)) {
+            queryWrapper.likeLeft("material_batch", materialBatch);
+        }
+        if(!ObjectUtils.isEmpty(materialName)) {
+            queryWrapper.like("material_name", materialName);
         }
-        queryWrapper.like(StringUtils.isNotEmpty(materialBatch), "material_batch", materialBatch)
-                .or().like(StringUtils.isNotEmpty(materialName), "material_name", materialName);
         if (null != materialType) {
             queryWrapper.eq("material_type", materialType);
         }else if(ObjectUtils.isEmpty(needAllFlag) || needAllFlag.equals(Boolean.FALSE)) {

+ 66 - 0
app-admin/src/main/java/com/ruoyi/web/v3/controller/HbOrgInfoController.java

@@ -0,0 +1,66 @@
+package com.ruoyi.web.v3.controller;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.web.v3.entity.HbOrgInfoEntity;
+import com.ruoyi.web.v3.model.request.HbOrgInfoPageReq;
+import com.ruoyi.web.v3.service.IHbOrgInfoService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.Map;
+
+/**
+ * <p>
+ * v3.0 企业信息管理 前端控制器
+ * </p>
+ *
+ */
+@RestController
+@RequestMapping("/v3/hb-org-info")
+@Api("3.0 企业信息管理")
+public class HbOrgInfoController {
+
+    @Resource
+    private IHbOrgInfoService orgInfoService;
+
+    @ApiOperation("企业信息管理记录添加")
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody HbOrgInfoEntity request){
+        return orgInfoService.add(request);
+    }
+
+    @ApiOperation("企业信息管理记录修改")
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody HbOrgInfoEntity request){
+        return orgInfoService.edit(request);
+    }
+
+    @ApiOperation("企业信息管理记录删除")
+    @PostMapping("/delete")
+    public AjaxResult delete(@RequestBody Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        return orgInfoService.delete(ids);
+    }
+
+    @ApiOperation("企业信息管理记录分页查询")
+    @GetMapping("/page")
+    public AjaxResult page(@ModelAttribute HbOrgInfoPageReq request) {
+        return orgInfoService.page(request);
+    }
+
+
+    @ApiOperation("企业信息管理记录列表全量查询")
+    @GetMapping("/list")
+    public AjaxResult listAll(){
+        return orgInfoService.listAll();
+    }
+
+    @ApiOperation("查询当前设定企业")
+    @GetMapping("/current")
+    public AjaxResult getCurrent(){
+        return orgInfoService.getCurrent();
+    }
+
+}

+ 52 - 0
app-admin/src/main/java/com/ruoyi/web/v3/entity/HbOrgInfoEntity.java

@@ -0,0 +1,52 @@
+package com.ruoyi.web.v3.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.AbstractEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+
+/**
+ * <p>
+ * v3.0 企业信息管理
+ * </p>
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("hb_org_info")
+@ApiModel(value="HbOrgInfo", description="v3.0 企业信息管理")
+public class HbOrgInfoEntity extends AbstractEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "企业名称")
+    private String orgName;
+
+    @ApiModelProperty(value = "企业简称")
+    private String orgShortName;
+
+    @ApiModelProperty(value = "企业logo图片地址")
+    private String orgLogoUrl;
+
+    @ApiModelProperty(value = "企业地址")
+    private String orgAddress;
+
+    @ApiModelProperty(value = "企业邮箱地址")
+    private String orgMail;
+
+    @ApiModelProperty(value = "企业联系人联系方式")
+    private String orgContactMobile;
+
+    @ApiModelProperty(value = "企业联系人姓名")
+    private String orgContactName;
+
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+}

+ 14 - 0
app-admin/src/main/java/com/ruoyi/web/v3/mapper/HbOrgInfoMapper.java

@@ -0,0 +1,14 @@
+package com.ruoyi.web.v3.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.web.v3.entity.HbOrgInfoEntity;
+
+/**
+ * <p>
+ * v3.0 企业信息管理 Mapper 接口
+ * </p>
+ *
+ */
+public interface HbOrgInfoMapper extends BaseMapper<HbOrgInfoEntity> {
+
+}

+ 53 - 0
app-admin/src/main/java/com/ruoyi/web/v3/model/request/HbOrgInfoPageReq.java

@@ -0,0 +1,53 @@
+package com.ruoyi.web.v3.model.request;
+
+import com.ruoyi.web.v3.model.BasePageRequest;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+
+/**
+ * <p>
+ * v3.0 企业信息管理
+ * </p>
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="HbOrgInfoPageReq", description="v3.0 企业信息管理")
+public class HbOrgInfoPageReq  extends BasePageRequest implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "数据唯一性标识id")
+    private String id;
+
+    @ApiModelProperty(value = "企业名称")
+    private String orgName;
+
+    @ApiModelProperty(value = "企业简称")
+    private String orgShortName;
+
+    @ApiModelProperty(value = "企业logo图片地址")
+    private String orgLogoUrl;
+
+    @ApiModelProperty(value = "企业地址")
+    private String orgAddress;
+
+    @ApiModelProperty(value = "企业邮箱地址")
+    private String orgMail;
+
+    @ApiModelProperty(value = "企业联系人联系方式")
+    private String orgContactMobile;
+
+    @ApiModelProperty(value = "企业联系人姓名")
+    private String orgContactName;
+
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+}

+ 13 - 0
app-admin/src/main/java/com/ruoyi/web/v3/model/request/HbRiskCheckDailyPageReq.java

@@ -14,6 +14,7 @@ import lombok.experimental.Accessors;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 
 
@@ -52,4 +53,16 @@ public class HbRiskCheckDailyPageReq extends BasePageRequest implements Serializ
 
     @ApiModelProperty(value = "备注")
     private String remarks;
+
+    @ApiModelProperty(value = "起始日期")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private LocalDate startTime;
+
+    @ApiModelProperty(value = "截至日期")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private LocalDate endTime;
+
+
 }

+ 12 - 0
app-admin/src/main/java/com/ruoyi/web/v3/model/request/HbRiskCheckLedgerPageReq.java

@@ -14,7 +14,9 @@ import lombok.experimental.Accessors;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.util.Date;
 
 
 @Data
@@ -26,4 +28,14 @@ public class HbRiskCheckLedgerPageReq extends BasePageRequest implements Seriali
     @ApiModelProperty(value = "数据唯一性标识id")
     private String id;
 
+    @ApiModelProperty(value = "起始日期")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private LocalDate startTime;
+
+    @ApiModelProperty(value = "截至日期")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private LocalDate endTime;
+
 }

+ 11 - 0
app-admin/src/main/java/com/ruoyi/web/v3/model/request/HbRiskCheckMonthlyPageReq.java

@@ -14,6 +14,7 @@ import lombok.experimental.Accessors;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 
 
@@ -59,4 +60,14 @@ public class HbRiskCheckMonthlyPageReq extends BasePageRequest implements Serial
 
     @ApiModelProperty(value = "备注")
     private String remarks;
+
+    @ApiModelProperty(value = "起始日期")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private LocalDate startTime;
+
+    @ApiModelProperty(value = "截至日期")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private LocalDate endTime;
 }

+ 63 - 0
app-admin/src/main/java/com/ruoyi/web/v3/model/request/JsStaffPageReq.java

@@ -0,0 +1,63 @@
+package com.ruoyi.web.v3.model.request;
+
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.system.domain.SysPost;
+import com.ruoyi.web.v3.model.BasePageRequest;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.List;
+
+
+/**
+ * <p>
+ * v3.0 人员管理
+ * </p>
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="JsStaffPageReq", description="v3.0 人员管理分页请求")
+public class JsStaffPageReq extends BasePageRequest implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "数据唯一性标识id")
+    private String id;
+
+    /** 姓名 */
+    @Excel(name = "姓名")
+    private String realname;
+
+    /** 岗位ID */
+    @Excel(name = "岗位ID")
+    private Long postId;
+
+    private Long[] postIds;
+
+    /** 手机号码 */
+    @Excel(name = "手机号码")
+    private String phone;
+
+    /** 技术职称 */
+    @Excel(name = "技术职称")
+    private String technicalTitle;
+
+    /** 证书 */
+    @Excel(name = "证书")
+    private String technicalCert;
+
+    /** 健康证明 */
+    @Excel(name = "健康证明")
+    private String healthCert;
+
+    @Excel(name = "健康证明号")
+    private String healthCertNo;
+
+    private List<SysPost> posts;
+
+}

+ 27 - 0
app-admin/src/main/java/com/ruoyi/web/v3/service/IHbOrgInfoService.java

@@ -0,0 +1,27 @@
+package com.ruoyi.web.v3.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.web.v3.entity.HbOrgInfoEntity;
+import com.ruoyi.web.v3.model.request.HbOrgInfoPageReq;
+
+/**
+ * <p>
+ * v3.0 企业信息管理 服务类
+ * </p>
+ */
+public interface IHbOrgInfoService extends IService<HbOrgInfoEntity> {
+
+    AjaxResult add(HbOrgInfoEntity request);
+
+    AjaxResult edit(HbOrgInfoEntity request);
+
+    AjaxResult delete(String ids);
+
+    AjaxResult page(HbOrgInfoPageReq request);
+
+    AjaxResult listAll();
+
+    AjaxResult getCurrent();
+
+}

+ 95 - 0
app-admin/src/main/java/com/ruoyi/web/v3/service/impl/HbOrgInfoServiceImpl.java

@@ -0,0 +1,95 @@
+package com.ruoyi.web.v3.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.web.v3.entity.HbOrgInfoEntity;
+import com.ruoyi.web.v3.mapper.HbOrgInfoMapper;
+import com.ruoyi.web.v3.model.request.HbOrgInfoPageReq;
+import com.ruoyi.web.v3.service.IHbOrgInfoService;
+import com.ruoyi.web.v3.utils.QueryWrapperBuildUtil;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
+
+import java.util.Arrays;
+import java.util.List;
+
+import static com.ruoyi.common.core.domain.AjaxResult.error;
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+
+/**
+ * <p>
+ * v3.0 企业信息管理 服务实现类
+ * </p>
+ *
+ */
+@Service
+public class HbOrgInfoServiceImpl extends ServiceImpl<HbOrgInfoMapper, HbOrgInfoEntity> implements IHbOrgInfoService {
+
+    @Transactional
+    @Override
+    public AjaxResult add(HbOrgInfoEntity request) {
+        //入参检测
+        if(ObjectUtils.isEmpty(request.getOrgName())) {
+            return error("请输入【企业名称】!");
+        }
+        //防重检测
+        Integer count = lambdaQuery().eq(HbOrgInfoEntity::getOrgName, request.getOrgName()).count();
+        if (count != 0) {
+            return error("请勿重复添加!");
+        }
+        return success("添加成功", baseMapper.insert(request));
+    }
+
+    @Transactional
+    @Override
+    public AjaxResult edit(HbOrgInfoEntity request) {
+        //数据格式校验
+        if(ObjectUtils.isEmpty(request.getId())){
+            return error("待更新数据未传入有效ID,请设置数据的唯一标识ID!");
+        }
+        //根据数据的id更新所有不为空的字段
+        return updateById(request) ? success("修改成功!") : error("修改失败,请重试!");
+    }
+
+    @Transactional
+    @Override
+    public AjaxResult delete(String ids) {
+        String[] idList = ids.split(",");
+        return success("删除成功", removeByIds(Arrays.asList(idList)));
+    }
+
+    @Override
+    public AjaxResult page(HbOrgInfoPageReq request) {
+        //将请求报文转为实体类
+        HbOrgInfoEntity entity = BeanUtil.toBean(request, HbOrgInfoEntity.class);
+        //构造查询条件(检索条件未定时,先按不为空的字段进行等值查询)
+        QueryWrapper<HbOrgInfoEntity> wrapper = QueryWrapperBuildUtil.notNoneEqWrapperHelper(entity);
+        wrapper.lambda().orderByDesc(HbOrgInfoEntity::getId);
+        return success(baseMapper.selectPage(request.toPage(), wrapper));
+    }
+
+    @Override
+    public AjaxResult listAll() {
+        return success(lambdaQuery().orderByDesc(HbOrgInfoEntity::getId).list());
+    }
+
+    @Override
+    public AjaxResult getCurrent() {
+        HbOrgInfoEntity result = new HbOrgInfoEntity();
+        List<HbOrgInfoEntity> currents = baseMapper.selectList(
+                lambdaQuery().getWrapper().eq(HbOrgInfoEntity::getRemarks, "current")
+                        .orderByDesc(HbOrgInfoEntity::getCreateTime));
+        if(ObjectUtils.isEmpty(currents)) {
+            List<HbOrgInfoEntity> defaults = baseMapper.selectList(
+                    lambdaQuery().getWrapper().eq(HbOrgInfoEntity::getRemarks, "default")
+                            .orderByDesc(HbOrgInfoEntity::getCreateTime));
+            result = !ObjectUtils.isEmpty(defaults) ? defaults.get(0) : null;
+        }
+        return success(result);
+    }
+
+
+}

+ 4 - 0
app-admin/src/main/java/com/ruoyi/web/v3/service/impl/HbRiskCheckDailyServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.web.v3.entity.HbRiskCheckDailyEntity;
+import com.ruoyi.web.v3.entity.HbRiskCheckLedgerEntity;
 import com.ruoyi.web.v3.mapper.HbRiskCheckDailyMapper;
 import com.ruoyi.web.v3.model.request.HbRiskCheckDailyPageReq;
 import com.ruoyi.web.v3.service.IHbRiskCheckDailyService;
@@ -75,6 +76,9 @@ public class HbRiskCheckDailyServiceImpl extends ServiceImpl<HbRiskCheckDailyMap
         HbRiskCheckDailyEntity entity = BeanUtil.toBean(request, HbRiskCheckDailyEntity.class);
         //构造查询条件(检索条件未定时,先按不为空的字段进行等值查询)
         QueryWrapper<HbRiskCheckDailyEntity> wrapper = QueryWrapperBuildUtil.notNoneEqWrapperHelper(entity);
+        if(!ObjectUtils.isEmpty(request.getStartTime()) && !ObjectUtils.isEmpty(request.getEndTime())) {
+            wrapper.lambda().between(HbRiskCheckDailyEntity::getCheckDate, request.getStartTime(), request.getEndTime());
+        }
         //数据按id降序排列
         wrapper.lambda().orderByDesc(HbRiskCheckDailyEntity::getId);
         return success(baseMapper.selectPage(request.toPage(), wrapper));

+ 3 - 0
app-admin/src/main/java/com/ruoyi/web/v3/service/impl/HbRiskCheckLedgerImpl.java

@@ -66,6 +66,9 @@ public class HbRiskCheckLedgerImpl extends ServiceImpl<HbRiskCheckLedgerMapper,
         HbRiskCheckLedgerEntity entity = BeanUtil.toBean(request, HbRiskCheckLedgerEntity.class);
         //构造查询条件(检索条件未定时,先按不为空的字段进行等值查询)
         QueryWrapper<HbRiskCheckLedgerEntity> wrapper = QueryWrapperBuildUtil.notNoneEqWrapperHelper(entity);
+        if(!ObjectUtils.isEmpty(request.getStartTime()) && !ObjectUtils.isEmpty(request.getEndTime())) {
+            wrapper.lambda().between(HbRiskCheckLedgerEntity::getCheckDate, request.getStartTime(), request.getEndTime());
+        }
         //数据按id降序排列
         wrapper.lambda().orderByDesc(HbRiskCheckLedgerEntity::getId);
         return success(baseMapper.selectPage(request.toPage(), wrapper));

+ 4 - 0
app-admin/src/main/java/com/ruoyi/web/v3/service/impl/HbRiskCheckMonthlyServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.web.v3.entity.HbRiskCheckDailyEntity;
 import com.ruoyi.web.v3.entity.HbRiskCheckMonthlyEntity;
 import com.ruoyi.web.v3.mapper.HbRiskCheckMonthlyMapper;
 import com.ruoyi.web.v3.model.request.HbRiskCheckMonthlyPageReq;
@@ -74,6 +75,9 @@ public class HbRiskCheckMonthlyServiceImpl extends ServiceImpl<HbRiskCheckMonthl
         HbRiskCheckMonthlyEntity entity = BeanUtil.toBean(request, HbRiskCheckMonthlyEntity.class);
         //构造查询条件(检索条件未定时,先按不为空的字段进行等值查询)
         QueryWrapper<HbRiskCheckMonthlyEntity> wrapper = QueryWrapperBuildUtil.notNoneEqWrapperHelper(entity);
+        if(!ObjectUtils.isEmpty(request.getStartTime()) && !ObjectUtils.isEmpty(request.getEndTime())) {
+            wrapper.lambda().between(HbRiskCheckMonthlyEntity::getCheckDate, request.getStartTime(), request.getEndTime());
+        }
         //数据按id降序排列
         wrapper.lambda().orderByDesc(HbRiskCheckMonthlyEntity::getId);
         return success(baseMapper.selectPage(request.toPage(), wrapper));

BIN
app-admin/src/main/resources/static/default_logo.png


+ 1 - 1
app-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java

@@ -113,7 +113,7 @@ public class SecurityConfig
                 // 对于登录login 注册register 验证码captchaImage 允许匿名访问
                 requests.antMatchers("/login", "/loginNoCaptcha","/register", "/captchaImage","/common/addBatch","/app/NFIDReadRecord/subscribe/{clientId}").permitAll()
                     // 静态资源,可匿名访问
-                    .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
+                    .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**", "/**/*.png", "/**/*.jpg").permitAll()
                     .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
                     // 除上面外的所有请求全部需要鉴权认证
                     .anyRequest().authenticated();

+ 12 - 4
app-system/src/main/java/com/ruoyi/app/mapper/StaffMapper.java

@@ -1,8 +1,13 @@
 package com.ruoyi.app.mapper;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.app.model.Staff;
 import com.ruoyi.app.model.StaffPost;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 人员Mapper接口
@@ -10,7 +15,7 @@ import com.ruoyi.app.model.StaffPost;
  * @author coede
  * @date 2025-03-20
  */
-public interface StaffMapper 
+public interface StaffMapper extends BaseMapper<Staff>
 {
     /**
      * 查询人员
@@ -22,11 +27,13 @@ public interface StaffMapper
 
     /**
      * 查询人员列表
-     * 
-     * @param staff 人员
      * @return 人员集合
      */
-    public List<Staff> selectStaffList(Staff staff);
+    public Page<Staff> selectStaffList(Page<Staff> page, @Param("realname") String realname,
+                                       @Param("postId") Long postId, @Param("phone") String phone);
+
+    public List<Staff> selectStaffList(@Param("realname") String realname, @Param("postId") Long postId,
+                                       @Param("phone") String phone);
 
     /**
      * 新增人员
@@ -83,4 +90,5 @@ public interface StaffMapper
      * @return 结果
      */
     public int deleteStaffPostByStaffId(Long staffId);
+
 }

+ 5 - 1
app-system/src/main/java/com/ruoyi/app/service/IStaffService.java

@@ -1,6 +1,8 @@
 package com.ruoyi.app.service;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.app.model.Staff;
 
 /**
@@ -25,7 +27,9 @@ public interface IStaffService
      * @param staff 人员
      * @return 人员集合
      */
-    public List<Staff> selectStaffList(Staff staff);
+    public Page<Staff> selectStaffList(Page<Staff> page, Staff staff);
+
+    public List<Staff> selectStaffAll(Staff staff);
 
     /**
      * 新增人员

+ 3 - 3
app-system/src/main/java/com/ruoyi/app/service/impl/PurchaserServiceImpl.java

@@ -212,10 +212,10 @@ public class PurchaserServiceImpl implements IPurchaserService
         //获取表中最大id值
         List<Purchaser> list = purchaserMapper.selectPurchaserList(null);
         OptionalLong maxId = list.stream().mapToLong(Purchaser::getId).max();
-        if(maxId.getAsLong() >= 1000) {
-            return ("RS" + maxId.getAsLong()+1);
+        if(maxId.getAsLong() >= 100) {
+            return String.valueOf(maxId.getAsLong()+1);
         }else {
-            return ("RS" + String.format("%04d", maxId.getAsLong()+1));
+            return String.format("%03d", maxId.getAsLong()+1);
         }
     }
 }

+ 12 - 2
app-system/src/main/java/com/ruoyi/app/service/impl/StaffServiceImpl.java

@@ -3,6 +3,7 @@ package com.ruoyi.app.service.impl;
 import java.util.ArrayList;
 import java.util.List;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.app.model.StaffPost;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.StringUtils;
@@ -43,9 +44,18 @@ public class StaffServiceImpl implements IStaffService
      * @return 人员
      */
     @Override
-    public List<Staff> selectStaffList(Staff staff)
+    public Page<Staff> selectStaffList(Page<Staff> page, Staff staff)
     {
-        return staffMapper.selectStaffList(staff);
+//        List<Staff> list = staffMapper.selectStaffList(staff.getRealname(),staff.getPostId(),staff.getPhone());
+//        Page<Staff> pageResult = new Page<>(1, 10);
+//        pageResult.setRecords(list);
+        Page<Staff> pageResult = staffMapper.selectStaffList(page, staff.getRealname(),staff.getPostId(),staff.getPhone());
+        return pageResult;
+    }
+
+    @Override
+    public List<Staff> selectStaffAll(Staff staff) {
+        return staffMapper.selectStaffList(staff.getRealname(),staff.getPostId(),staff.getPhone());
     }
 
     /**

+ 3 - 3
app-system/src/main/java/com/ruoyi/app/service/impl/SupplierServiceImpl.java

@@ -203,10 +203,10 @@ public class SupplierServiceImpl implements ISupplierService
         //获取表中最大id值
         List<Supplier> list = supplierMapper.selectSupplierList(null);
         OptionalLong maxId = list.stream().mapToLong(Supplier::getId).max();
-        if(maxId.getAsLong() >= 1000) {
-            return String.format("GYS", maxId.getAsLong()+1);
+        if(maxId.getAsLong() >= 100) {
+            return String.valueOf(maxId.getAsLong()+1);
         }else {
-            return String.format("GYS", String.format("%04d", maxId.getAsLong()+1));
+            return String.format("%03d", maxId.getAsLong()+1);
         }
     }
 }

+ 22 - 1
sql/v3_biz_20250814.sql

@@ -571,4 +571,25 @@ ALTER TABLE `staff` ADD COLUMN health_cert_no VARCHAR(20) COMMENT '健康证明
 
 -- 供应商管理 添加“供应商类别”、“身份证/主体识别号”
 ALTER TABLE `supplier` ADD COLUMN `principal_type` VARCHAR(30) COMMENT '供应商类别';
-ALTER TABLE `supplier` ADD COLUMN `principal_id` VARCHAR(60) COMMENT '身份识别号';
+ALTER TABLE `supplier` ADD COLUMN `principal_id` VARCHAR(60) COMMENT '身份识别号';
+
+
+-- 新增“企业信息管理”表
+CREATE TABLE `hb_org_info` (
+                              `id` BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
+                              `org_name`  VARCHAR(30) DEFAULT NULL COMMENT '企业名称',
+                              `org_short_name`  VARCHAR(30) DEFAULT NULL COMMENT '企业简称',
+                              `org_logo_url` VARCHAR(60) DEFAULT NULL COMMENT '企业logo图片地址',
+                              `org_address` VARCHAR(60) DEFAULT NULL COMMENT '企业地址',
+                              `org_mail` VARCHAR(30) DEFAULT NULL COMMENT '企业邮箱地址',
+                              `org_contact_mobile` VARCHAR(30) DEFAULT NULL COMMENT '企业联系人联系方式',
+                              `org_contact_name` VARCHAR(30) DEFAULT NULL COMMENT '企业联系人姓名',
+                              `remarks` VARCHAR(30) DEFAULT NULL COMMENT '备注',
+                              `is_deleted` TINYINT ( 1 ) DEFAULT 0 COMMENT '是否删除标志,0否1是',
+                              `create_by` VARCHAR ( 255 ) DEFAULT NULL COMMENT '创建者',
+                              `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                              `update_by` VARCHAR ( 255 ) DEFAULT NULL COMMENT '更新者',
+                              `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='企业信息';
+-- remarks字段设定为default的就是默认企业信息,设定为current的,则是当前企业信息
+INSERT INTO `hb_org_info` VALUES (1, '杭州慧牧科技有限公司', '杭州i慧牧', '/default_logo.png', '', '', '', '', 'default', 0, 'admin', '2025-09-09 11:11:21', 'admin', '2025-09-09 11:20:44');