b71d454f550a53dde29b1849acfebd06e34f7299..bc672038e88a24d9f0f7127cd45c656a15c231a2
2023-08-09 XiaoRuby
MOM系统-8-9
bc6720 对比 | 目录
2023-08-09 XiaoRuby
MOM系统-8-9
ea1f48 对比 | 目录
已添加24个文件
已重命名4个文件
已修改39个文件
已删除4个文件
1741 ■■■■ 文件已修改
framework/src/main/java/com/yuanchu/mom/config/WebMvcConfig.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/com/yuanchu/mom/mybatis_config/MyBatisPlusConfig.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/com/yuanchu/mom/mybatis_config/MySqlInjector.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/com/yuanchu/mom/utils/MyUtil.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/.gitignore 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/pom.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/FinishedInspectController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/InspectUnacceptedController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/OpinionController.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/RawInspectController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/InspectUnacceptedMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/OpinionMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/RawInsProductMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/FinishedInspect.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/InspectUnaccepted.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/InspectionItem.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/Opinion.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/InspectUnacceptedService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/OpinionService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/FinishedInspectServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InspectUnacceptedServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/OpinionServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/FinishedInspectMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InspectUnacceptedMapper.xml 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/OpinionMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/RawInsProductMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/pom.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/controller/RepertoryController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/mapper/RepertoryMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/resources/mapper/RepertoryMapper.xml 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sale-server/pom.xml 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sale-server/src/main/java/com/yuanchu/mom/controller/SaleController.java 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sale-server/src/main/java/com/yuanchu/mom/controller/SaleMaterialController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sale-server/src/main/java/com/yuanchu/mom/mapper/SaleMapper.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sale-server/src/main/java/com/yuanchu/mom/mapper/SaleMaterialMapper.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sale-server/src/main/java/com/yuanchu/mom/pojo/Sale.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sale-server/src/main/java/com/yuanchu/mom/pojo/SaleMaterial.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sale-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleDto.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sale-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleMaterialDto.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sale-server/src/main/java/com/yuanchu/mom/pojo/dto/vo/SaleVo.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sale-server/src/main/java/com/yuanchu/mom/service/SaleMaterialService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sale-server/src/main/java/com/yuanchu/mom/service/SaleService.java 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sale-server/src/main/java/com/yuanchu/mom/service/impl/SaleMaterialServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sale-server/src/main/java/com/yuanchu/mom/service/impl/SaleServiceImpl.java 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sale-server/src/main/resources/mapper/SaleMapper.xml 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sale-server/src/main/resources/mapper/SaleMaterialMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/.gitignore 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/pom.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java 63 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/controller/OrdersController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/controller/RawInsProductController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/mapper/OrdersMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/mapper/RawInsProductMapper.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/pojo/Device.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/pojo/Orders.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/pojo/RawInsProduct.java 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/service/DeviceService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/service/OrdersService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/service/RawInsProductService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/service/impl/OrdersServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/service/impl/RawInsProductServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/resources/mapper/DeviceMapper.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/resources/mapper/OrdersMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/resources/mapper/RawInsProductMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
system-run/pom.xml 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
system-run/src/main/java/com/yuanchu/mom/CodeGenerator.java 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
system-run/src/main/resources/application-dev.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/com/yuanchu/mom/config/WebMvcConfig.java
@@ -19,7 +19,6 @@
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
        //设置文件虚拟路径映射
        registry.addResourceHandler("/img/**").addResourceLocations("file:"+filePath+"/")
                .addResourceLocations("file:"+filePath+"/");
        registry.addResourceHandler("/img/**").addResourceLocations("file:"+filePath+"/");
    }
}
framework/src/main/java/com/yuanchu/mom/mybatis_config/MyBatisPlusConfig.java
@@ -2,7 +2,7 @@
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -11,21 +11,6 @@
@Configuration
public class MyBatisPlusConfig {
//     ä¹è§‚锁插件
    @Bean
    public OptimisticLockerInterceptor optimisticLockerInterceptor() {
        return new OptimisticLockerInterceptor();
    }
    /**
     * å¼€å¯æ‰¹é‡æ·»åŠ 
     * @return
     */
    @Bean
    public MySqlInjector sqlInjector() {
        return new MySqlInjector();
    }
    /**
     * éœ€è¦é…ç½®æ‹¦æˆªå™¨ï¼Œä¸ç„¶åœ¨AddDevice中的total无法获取到
     * @return
@@ -33,6 +18,9 @@
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        // ä¹è§‚锁
        interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
        // åˆ†é¡µé…ç½®
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }
framework/src/main/java/com/yuanchu/mom/mybatis_config/MySqlInjector.java
@@ -1,24 +1,24 @@
package com.yuanchu.mom.mybatis_config;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.core.injector.AbstractMethod;
import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
import com.baomidou.mybatisplus.core.metadata.TableInfo;
import com.baomidou.mybatisplus.extension.injector.methods.InsertBatchSomeColumn;
import org.springframework.stereotype.Component;
import java.util.List;
/**
 * æ‰¹é‡æ·»åŠ 
 */
@Component
public class MySqlInjector extends DefaultSqlInjector {
    @Override
    public List<AbstractMethod> getMethodList(Class<?> mapperClass) {
        List<AbstractMethod> methodList = super.getMethodList(mapperClass);
    public List<AbstractMethod> getMethodList(Class<?> mapperClass, TableInfo tableInfo) {
        List<AbstractMethod> methodList = super.getMethodList(mapperClass, tableInfo);
        //增加自定义方法,字段注解上不等于FieldFill.DEFAULT的字段才会插入
        methodList.add(new InsertBatchSomeColumn(i -> i.getFieldFill() != FieldFill.DEFAULT));
        methodList.add(new InsertBatchSomeColumn(t->!t.isLogicDelete()));
        return methodList;
    }
}
framework/src/main/java/com/yuanchu/mom/utils/MyUtil.java
@@ -62,4 +62,17 @@
        }
        return sb.toString();
    }
    public static String getTimeSixNumberCode(String prefix){
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        String format = simpleDateFormat.format(new Date());
        String timeStr = format.replace("-", "");
        long incrNum = RedisUtil.incr("num", 1);
        System.out.println(incrNum + "==============");
        if(incrNum == 1){
            RedisUtil.expire("num", 60 * 60 * 24);
        }
        String sixIncr = String.format("%06d", incrNum);
        return prefix + timeStr + sixIncr;
    }
}
inspect-server/.gitignore
ÎļþÒÑɾ³ý
inspect-server/pom.xml
@@ -21,16 +21,19 @@
            <artifactId>framework</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.yuanchu.mom</groupId>
            <artifactId>user-server</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.yuanchu.mom</groupId>
            <artifactId>standard-server</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.vaadin.external.google</groupId>
            <artifactId>android-json</artifactId>
@@ -42,13 +45,6 @@
        <dependency>
            <groupId>com.yuanchu.mom</groupId>
            <artifactId>user-server</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <!--标准模块-->
        <dependency>
            <groupId>com.yuanchu.mom</groupId>
            <artifactId>standard-server</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>
inspect-server/src/main/java/com/yuanchu/mom/controller/FinishedInspectController.java
@@ -44,12 +44,12 @@
    @Autowired
    private MaterialService materialService;
    @ApiOperation(value = "新增按钮-->1、新增过程检验单")
    @ApiOperation(value = "新增按钮-->1、新增成品检验单")
    @PostMapping("/add_process_inspection_sheet")
    public Result<?> addProcessInspectionSheet(@Validated @RequestBody FinishedInspect finishedInspect){
        Integer isInsertSuccess = finishedInspectService.addProcessInspectionSheet(finishedInspect);
        if (isInsertSuccess == 1){
            return Result.success("新增成功!");
            return Result.success("新增成功!", finishedInspect.getId());
        }
        return Result.fail("新增失败!");
    }
inspect-server/src/main/java/com/yuanchu/mom/controller/InspectUnacceptedController.java
@@ -36,17 +36,15 @@
            @ApiImplicitParam(name = "countSize",value = "条数/页",dataTypeClass  = Integer.class,required = true),
            @ApiImplicitParam(name = "formTime",value = "来料日期",dataTypeClass  = String.class),
            @ApiImplicitParam(name = "dealState",value = "处理状态(为空=全部)",dataTypeClass  = Integer.class),
            @ApiImplicitParam(name = "supplier",value = "供应商(为空=全部)",dataTypeClass  = String.class),
            @ApiImplicitParam(name = "type",value = "类型(为空=原材料2)",dataTypeClass  = Integer.class)
    })
    @GetMapping("/selectUnRawInspectsList")
    public Result selectUnRawInspectsList(int pageSize, int countSize, String formTime, Integer dealState,String supplier,Integer type){
        IPage<Map<String, Object>> inspectionPage = inspectUnacceptedService.selectUnRawInspectsList(new Page<Object>(pageSize, countSize), formTime,dealState,supplier,type);
    public Result selectUnRawInspectsList(int pageSize, int countSize, String formTime, Integer dealState,Integer type){
        IPage<Map<String, Object>> inspectionPage = inspectUnacceptedService.selectUnRawInspectsList(new Page<Object>(pageSize, countSize), formTime,dealState,type);
        Map<String, Object> map = new HashMap<>();
        map.put("total", inspectionPage.getTotal());
        map.put("row", inspectionPage.getRecords());
        return Result.success(map);
    }
}
inspect-server/src/main/java/com/yuanchu/mom/controller/OpinionController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
package com.yuanchu.mom.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.service.OpinionService;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
import java.util.HashMap;
import java.util.Map;
/**
 * <p>
 * ä¸åˆæ ¼å¤„理意见表 å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-08-07 01:54:28
 */
@Api(tags = "QMS管理-->不合格品处置")
@Controller
@RequestMapping("/opinion")
public class OpinionController {
    @Autowired
    private OpinionService opinionService;
    @ApiOperation(value = "主页分页")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "pageNo", value = "条数/页", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "pageSize", value = "页数", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "productName", value = "产品名称", dataTypeClass = String.class),
            @ApiImplicitParam(name = "specificationsModels", value = "规格型号", dataTypeClass = String.class)
    })
    @GetMapping("/list_page")
    public Result<?> selectOpinionPage(Integer pageNo, Integer pageSize, String productName, String specificationsModels){
        IPage<Map<String, Object>> page = opinionService.selectOpinionPage(new Page<Object>(pageNo, pageSize), productName, specificationsModels);
        Map<String, Object> map = new HashMap<>();
        map.put("total", page.getTotal());
        map.put("row", page.getRecords());
        return Result.success(map);
    }
}
inspect-server/src/main/java/com/yuanchu/mom/controller/RawInspectController.java
@@ -1,22 +1,17 @@
package com.yuanchu.mom.controller;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.yuanchu.mom.pojo.RawInspect;
import com.yuanchu.mom.pojo.vo.RawInsProductVo;
import com.yuanchu.mom.pojo.vo.RawInspectVo;
import com.yuanchu.mom.service.*;
import com.yuanchu.mom.utils.Jwt;
import com.yuanchu.mom.utils.MyUtil;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.*;
import org.json.JSONException;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
inspect-server/src/main/java/com/yuanchu/mom/mapper/InspectUnacceptedMapper.java
@@ -15,9 +15,9 @@
public interface InspectUnacceptedMapper extends BaseMapper<InspectUnaccepted> {
    //查询原材料不合格品检验单列表
    IPage<Map<String, Object>> selectUnRawInspectsList(Page<Object> page, String formTime, Integer dealState, String supplier, Integer type);
    IPage<Map<String, Object>> selectUnRawInspectsList(Page<Object> page, String formTime, Integer dealState, Integer type);
    //查询过程检验和成品检验中不合格品检验单列表
    IPage<Map<String, Object>> selectInsList(Page<Object> page, String formTime, Integer dealState, String supplier, Integer type);
    IPage<Map<String, Object>> selectInsList(Page<Object> page, String formTime, Integer dealState,  Integer type);
}
inspect-server/src/main/java/com/yuanchu/mom/mapper/OpinionMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.yuanchu.mom.mapper;
import com.yuanchu.mom.pojo.Opinion;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 * ä¸åˆæ ¼å¤„理意见表 Mapper æŽ¥å£
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-08-07 01:54:28
 */
public interface OpinionMapper extends BaseMapper<Opinion> {
}
inspect-server/src/main/java/com/yuanchu/mom/mapper/RawInsProductMapper.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/pojo/FinishedInspect.java
@@ -65,11 +65,14 @@
    @ApiModelProperty(value = "规格型号拼接字符", required = true, example = "8.7/15kV JLS-3.2")
    private String specificationsModel;
    @NotNull(message = "请选择规格型号!")
    @NotNull(message = "请选择型号ID!")
    @TableField(exist = false)
    @ApiModelProperty(value = "型号ID", required = true, example = "1")
    private Integer specificationsId;
    @ApiModelProperty(value = "项目编码", required = true, example = "GX20230807")
    private String materialCode;
    @NotNull(message = "请选择项目名称!")
    @ApiModelProperty(value = "项目名称", required = true, example = "光纤")
    private String material;
inspect-server/src/main/java/com/yuanchu/mom/pojo/InspectUnaccepted.java
@@ -81,10 +81,6 @@
     **/
    private Integer type;
    /**
     * ä¾›åº”商
     **/
    private String supplier;
    /**
     * çŽ°è±¡æè¿°
inspect-server/src/main/java/com/yuanchu/mom/pojo/InspectionItem.java
@@ -32,27 +32,21 @@
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "项目名称")
    private String name;
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "父名称")
    private String father;
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "单位")
    private String unit;
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "标准值")
    private String required;
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "内控值")
    private String internal;
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "成品检验单Id")
    private Integer finishInspectId;
@@ -68,6 +62,7 @@
    @ApiModelProperty(value = "检验人")
    private String username;
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "逻辑删除 æ­£å¸¸>=1,删除<=0", hidden = true)
    @TableLogic(value = "1", delval = "0")
    private Integer state;
inspect-server/src/main/java/com/yuanchu/mom/pojo/Opinion.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
package com.yuanchu.mom.pojo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/**
 * <p>
 * ä¸åˆæ ¼å¤„理意见表
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-08-07 01:54:28
 */
@Getter
@Setter
public class Opinion implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * æ„è§id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * éƒ¨é—¨ç±»åž‹ 0:技术部;1:生产部;2:质量部;3:总经办
     */
    private Integer type;
    /**
     * å¤„理意见
     */
    private String tell;
    /**
     * å¤„理方式 æ ¼å¼[1,2,3] 0:返工;1:返修;2:让步接收;3:拒收;4:降级使用;5:报废
     */
    private String way;
    private Integer state;
    /**
     * å¡«å†™æ—¥æœŸ
     */
    private LocalDateTime createTime;
    private LocalDateTime updateTime;
    /**
     * å…³è” å¡«å†™äººï¼ˆç”¨æˆ·id)
     */
    private Integer userId;
    /**
     * å…³è” ä¸åˆæ ¼ç»Ÿè®¡è¡¨id
     */
    private Integer rawUnacceptedId;
}
inspect-server/src/main/java/com/yuanchu/mom/service/InspectUnacceptedService.java
@@ -22,7 +22,7 @@
     * @param dealState
     * @return
     */
    IPage<Map<String, Object>> selectUnRawInspectsList(Page<Object> page, String formTime, Integer dealState, String supplier,Integer type);
    IPage<Map<String, Object>> selectUnRawInspectsList(Page<Object> page, String formTime, Integer dealState, Integer type);
}
inspect-server/src/main/java/com/yuanchu/mom/service/OpinionService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
package com.yuanchu.mom.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.pojo.Opinion;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Map;
/**
 * <p>
 * ä¸åˆæ ¼å¤„理意见表 æœåŠ¡ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-08-07 01:54:28
 */
public interface OpinionService extends IService<Opinion> {
    IPage<Map<String, Object>> selectOpinionPage(Page<Object> page, String productName, String specificationsModels);
}
inspect-server/src/main/java/com/yuanchu/mom/service/impl/FinishedInspectServiceImpl.java
@@ -11,8 +11,6 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.service.InspectionItemService;
import com.yuanchu.mom.service.ProductService;
import com.yuanchu.mom.service.SpecificationsService;
import com.yuanchu.mom.utils.MyUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -69,7 +67,6 @@
                    .reason(finishedInspect.getProjectName() + "不合格")  //暂且定义为工程名称不合格
                    .rawInspectId(finishedInspectId)
                    .type(finishedInspect.getType())
                    .supplier(finishedInspect.getCustomerName())
                    .build();
            inspectUnacceptedMapper.insert(inspectUnaccepted);
        }
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InspectUnacceptedServiceImpl.java
@@ -27,20 +27,20 @@
    //查询原材料不合格品检验单列表
    @Override
    public IPage<Map<String, Object>> selectUnRawInspectsList(Page<Object> page, String formTime, Integer dealState, String supplier,Integer type) {
    public IPage<Map<String, Object>> selectUnRawInspectsList(Page<Object> page, String formTime, Integer dealState, Integer type) {
        if (type==null){
            type=2;//为空是原材料2
        }
        switch (type) {
            case 2:
                //2是查询原材料不合格品
                return inspectUnacceptedMapper.selectUnRawInspectsList(page,formTime,dealState,supplier,0);
                return inspectUnacceptedMapper.selectUnRawInspectsList(page,formTime,dealState,2);
            case 1:
                //1是查询过程不合格品
                return inspectUnacceptedMapper.selectInsList(page,formTime,dealState,supplier,1);
                return inspectUnacceptedMapper.selectInsList(page,formTime,dealState,1);
            case 0:
                //0是查询成品不合格品
                return inspectUnacceptedMapper.selectInsList(page,formTime,dealState,supplier,2);
                return inspectUnacceptedMapper.selectInsList(page,formTime,dealState,0);
            default:
                return null;
        }
inspect-server/src/main/java/com/yuanchu/mom/service/impl/OpinionServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
package com.yuanchu.mom.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.pojo.Opinion;
import com.yuanchu.mom.mapper.OpinionMapper;
import com.yuanchu.mom.service.OpinionService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.utils.MyUtil;
import org.springframework.stereotype.Service;
import java.util.Map;
/**
 * <p>
 * ä¸åˆæ ¼å¤„理意见表 æœåŠ¡å®žçŽ°ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-08-07 01:54:28
 */
@Service
public class OpinionServiceImpl extends ServiceImpl<OpinionMapper, Opinion> implements OpinionService {
    @Override
    public IPage<Map<String, Object>> selectOpinionPage(Page<Object> page, String productName, String specificationsModels) {
        MyUtil.PrintLog(page +"=======" + productName + "===" + specificationsModels);
        return null;
    }
}
inspect-server/src/main/resources/mapper/FinishedInspectMapper.xml
@@ -3,7 +3,7 @@
<mapper namespace="com.yuanchu.mom.mapper.FinishedInspectMapper">
    <select id="selectFinishedInspectPage" resultType="map">
        SELECT f.`id`, f.`order_number`, f.`customer_name`, f.`project_name`, f.`quality_traceability`, f.`material`, f.`specifications_model`, f.`unit`,
        SELECT f.`id`, f.`order_number`, f.`customer_name`, f.`project_name`, f.`quality_traceability`, f.`material_code`, f.`material`, f.`specifications_model`, f.`unit`,
               f.`quantity`, u.`name`, DATE_FORMAT(f.`create_time`, '%Y-%m-%d') detectionPeriod, f.`result`
        FROM finished_inspect f, `user` u
        WHERE f.`user_id` = u.`id`
inspect-server/src/main/resources/mapper/InspectUnacceptedMapper.xml
@@ -3,7 +3,6 @@
<mapper namespace="com.yuanchu.mom.mapper.InspectUnacceptedMapper">
    <select id="selectUnRawInspectsList" resultType="java.util.Map">
        select DATE_FORMAT(form_time, '%Y-%m-%d') '来料日期',
        supplier,
        reason,
        code,
        name,
@@ -17,23 +16,21 @@
        deal_reasult,
        DATE_FORMAT(deal_time, '%Y-%m-%d') '处理日期'
        from mom_ocean.raw_inspect ri inner join mom_ocean.inspect_unaccepted ru on ri.id = ru.raw_inspect_id
        <where>
        <if test="dealState!=null">
            where deal_state=#{dealState}
           and deal_state=#{dealState}
        </if>
        <if test="formTime!=null">
            and form_time=#{formTime}
        </if>
        <if test="supplier!=null">
            and supplier=#{supplier}
        </if>
        <if test="type!=null">
            and ru.type=#{type}
        </if>
        and ru.state=1
        </where>
    </select>
    <select id="selectInsList" resultType="java.util.Map">
        select DATE_FORMAT(fi.create_time, '%Y-%m-%d') '来料日期',
        supplier,
        reason,
        material_code,
        name,
@@ -56,9 +53,6 @@
        </if>
        <if test="formTime!=null">
            and fi.create_time=#{formTime}
        </if>
        <if test="supplier!=null">
            and supplier=#{supplier}
        </if>
        <if test="type!=null">
            and ru.type=#{type}
inspect-server/src/main/resources/mapper/OpinionMapper.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="com.yuanchu.mom.mapper.OpinionMapper">
</mapper>
inspect-server/src/main/resources/mapper/RawInsProductMapper.xml
ÎļþÒÑɾ³ý
inventory-server/pom.xml
@@ -30,6 +30,13 @@
            <artifactId>standard-server</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <!--工具模块-->
        <dependency>
            <groupId>com.yuanchu.mom</groupId>
            <artifactId>framework</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>
inventory-server/src/main/java/com/yuanchu/mom/controller/RepertoryController.java
@@ -1,29 +1,16 @@
package com.yuanchu.mom.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.api.ApiController;
import java.util.HashMap;
import java.util.List;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.service.RepertoryService;
import javax.annotation.Resource;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
/**
@@ -32,7 +19,7 @@
 * @author zss
 * @since 2023-08-07 16:33:01
 */
@Api(tags = "库存表接口")
@Api(tags = "WMS管理-->库存")
@RestController
@RequestMapping("/repertory")
public class RepertoryController {
inventory-server/src/main/java/com/yuanchu/mom/mapper/RepertoryMapper.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.pojo.Repertory;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
inventory-server/src/main/resources/mapper/RepertoryMapper.xml
@@ -12,18 +12,20 @@
        DATE_FORMAT(create_time, '%Y-%m-%d') '入库日期',
        note
        from mom_ocean.repertory
        where state=1
        <if test="name!=null and name!=' '">
            and name LIKE CONCAT('%',#{name},'%')
        </if>
        <if test="specifications!=null and specifications!=' '">
            and specifications LIKE CONCAT('%',#{specifications},'%')
        </if>
        <if test="time!=null and time!=''">
            and create_time=#{time}
        </if>
        <if test="type!=null and type!=''">
            and type=#{type}
        </if>
        <where>
            and state=1
            <if test="name!=null">
                and name =#{name}
            </if>
            <if test="specifications!=null ">
                and specifications=#{specifications}
            </if>
            <if test="time!=null ">
                and create_time=#{time}
            </if>
            <if test="type!=null">
                and type=#{type}
            </if>
        </where>
    </select>
</mapper>
pom.xml
@@ -20,7 +20,9 @@
        <module>user-server</module>
        <module>standard-server</module>
        <module>inspect-server</module>
        <module>inventory-server</module>
        <module>system-run</module>
        <module>sale-server</module>
    </modules>
    <properties>
@@ -31,11 +33,12 @@
        <swagger.version>3.0.0</swagger.version>
        <knife4j-spring-ui.version>3.0.3</knife4j-spring-ui.version>
        <druid.version>1.2.18</druid.version>
        <mybatis-plus.version>3.4.0</mybatis-plus.version>
        <mybatis-plus.version>3.5.3.1</mybatis-plus.version>
        <openfeign.version>3.1.3</openfeign.version>
        <feign-okhttp.version>11.0</feign-okhttp.version>
        <shiro.version>1.5.3</shiro.version>
        <velocity-engine.version>2.3</velocity-engine.version>
        <!--提交前-->
        <!-- æ‰“包后导出的路径 -->
        <package.path>${project.build.directory}/BLOG</package.path>
    </properties>
@@ -62,6 +65,7 @@
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>${mybatis-plus.version}</version>
        </dependency>
        <!--Swagger3-->
@@ -115,13 +119,6 @@
                <version>${jwt.version}</version>
            </dependency>
            <!--mybatis-plus-->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>${mybatis-plus.version}</version>
            </dependency>
            <!--mybatis-plus代码生成器-->
            <dependency>
                <groupId>com.baomidou</groupId>
@@ -149,6 +146,13 @@
                <artifactId>shiro-spring-boot-starter</artifactId>
                <version>${shiro.version}</version>
            </dependency>
            <!-- ä»£ç ç”Ÿæˆå™¨æ¨¡æ¿ï¼Œç”¨äºŽç”Ÿæˆä»£ç  -->
            <dependency>
                <groupId>org.apache.velocity</groupId>
                <artifactId>velocity-engine-core</artifactId>
                <version>${velocity-engine.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
sale-server/pom.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>mom</artifactId>
        <groupId>com.yuanchu.mom</groupId>
        <version>1.0.0</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>sale-server</artifactId>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>com.yuanchu.mom</groupId>
            <artifactId>standard-server</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.yuanchu.mom</groupId>
            <artifactId>inventory-server</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.yuanchu.mom</groupId>
            <artifactId>user-server</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <!--工具模块-->
        <dependency>
            <groupId>com.yuanchu.mom</groupId>
            <artifactId>framework</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.vaadin.external.google</groupId>
            <artifactId>android-json</artifactId>
            <version>0.0.20131108.vaadin1</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
</project>
sale-server/src/main/java/com/yuanchu/mom/controller/SaleController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,132 @@
package com.yuanchu.mom.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.pojo.dto.vo.SaleVo;
import org.json.JSONException;
import org.json.JSONObject;
import com.yuanchu.mom.pojo.dto.SaleDto;
import com.yuanchu.mom.service.SaleService;
import com.yuanchu.mom.utils.Jwt;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
 * <p>
 * é”€å”®å• å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-08-08
 */
@Api(tags = "销售管理")
@RestController
@RequestMapping("/sale")
public class SaleController {
    @Resource
    SaleService saleService;
    @Resource
    Jwt jwt;
    @ApiOperation(value = "查询销售单列表")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "pageSize", value = "页数", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "countSize", value = "条数/页", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "orderNumber", value = "订单编号", dataTypeClass = String.class),
            @ApiImplicitParam(name = "name", value = "产品名称", dataTypeClass = String.class),
            @ApiImplicitParam(name = "type", value = "状态(为空=全部)", dataTypeClass = Integer.class),
            @ApiImplicitParam(name = "delTime", value = "交货日期", dataTypeClass = String.class)
    })
    @GetMapping("/selectSaleList")
    public Result selectSaleList(Integer pageSize, Integer countSize, String orderNumber, String name, Integer type, String delTime) {
        IPage<Map<String, Object>> salePage = saleService.selectSaleList(new Page<Object>(pageSize, countSize), orderNumber, name, type, delTime);
        Map<String, Object> map = new HashMap<>();
        map.put("total", salePage.getTotal());
        map.put("row", salePage.getRecords());
        return Result.success(map);
    }
    @ApiOperation(value = "新增销售单")
    @PostMapping("/addSale")
    public Result addSale(@RequestHeader("token") String token, @RequestBody SaleDto saleDto) throws JSONException {
        Map<String, String> map = jwt.readJWT(token);
        String data = map.get("data");
        JSONObject jsonObject = new JSONObject(data);
        String saleman = jsonObject.getString("name");
        saleService.addSale(saleman, saleDto);
        return Result.success("新增成功!");
    }
    @ApiOperation(value = "根据销售单id查看详情")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "id", value = "销售单id", dataTypeClass = Integer.class, required = true)
    })
    @GetMapping("/selectSaleDatilById")
    public Result selectSaleDatil(Integer id) {
        return Result.success(saleService.selectSaleDatil(id));
    }
    @ApiOperation(value = "根据销售单id修改详情信息")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "id", value = "销售单id", dataTypeClass = Integer.class, required = true)
    })
    @PostMapping("/updateSaleById")
    public Result updateSaleById(@RequestHeader("token") String token, Integer id, @RequestBody SaleVo saleVo) throws JSONException {
        Map<String, String> map = jwt.readJWT(token);
        String data = map.get("data");
        JSONObject jsonObject = new JSONObject(data);
        String saleman = jsonObject.getString("name");
        saleService.updateSaleById(saleman,id, saleVo);
        return Result.success("修改成功!");
    }
    @ApiOperation(value = "根据销售单id删除")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "id", value = "销售单id", dataTypeClass = Integer.class, required = true)
    })
    @PostMapping("/delSale")
    public Result delSale(Integer id) {
        saleService.delSale(id);
        return Result.success();
    }
    @ApiOperation(value = "批量删除")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "ids", value = "销售单id", dataTypeClass = String.class, dataType = "List", required = true)
    })
    @PostMapping("/delAllSale")
    public Result delAllSale( List<Integer> ids) {
        saleService.delAllSale(ids);
        return Result.success();
    }
    @ApiOperation(value = "审核")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "id", value = "销售单id", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "type", value = "状态", dataTypeClass = Integer.class, required = true)
    })
    @PostMapping("/check")
    public Result check(@RequestHeader("token") String token,Integer id,Integer type) throws JSONException {
        Map<String, String> map = jwt.readJWT(token);
        String data = map.get("data");
        JSONObject jsonObject = new JSONObject(data);
        String checkname = jsonObject.getString("name");
        saleService.check(checkname,id,type);
        return Result.success("审核成功");
    }
}
sale-server/src/main/java/com/yuanchu/mom/controller/SaleMaterialController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.yuanchu.mom.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 * é”€å”®äº§å“å• å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-08-08
 */
@RestController
@RequestMapping("/sale-material")
public class SaleMaterialController {
}
sale-server/src/main/java/com/yuanchu/mom/mapper/SaleMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
package com.yuanchu.mom.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.pojo.Sale;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.Map;
/**
 * <p>
 * é”€å”®å• Mapper æŽ¥å£
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-08-08
 */
public interface SaleMapper extends BaseMapper<Sale> {
    //查询销售单列表
    IPage<Map<String, Object>> selectSaleList(Page<Object> page, String orderNumber, String name, Integer type, String delTime);
}
sale-server/src/main/java/com/yuanchu/mom/mapper/SaleMaterialMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.yuanchu.mom.mapper;
import com.yuanchu.mom.pojo.SaleMaterial;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/**
 * <p>
 * é”€å”®äº§å“å• Mapper æŽ¥å£
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-08-08
 */
public interface SaleMaterialMapper extends BaseMapper<SaleMaterial> {
    //根据销售单id查询产品信息
    List<SaleMaterial> selectSaleDatil(Integer id);
}
sale-server/src/main/java/com/yuanchu/mom/pojo/Sale.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,95 @@
package com.yuanchu.mom.pojo;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
/**
 * <p>
 * é”€å”®å•
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-08-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="Sale对象", description="销售单")
public class Sale implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "销售id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "订单编号")
    private String orderNumber;
    @ApiModelProperty(value = "合同编号")
    private String code;
    @ApiModelProperty(value = "工程名称")
    private String name;
    @ApiModelProperty(value = "客户名称")
    private String proname;
    @ApiModelProperty(value = "收货地址")
    private String adress;
    @ApiModelProperty(value = "联系人")
    private String username;
    @ApiModelProperty(value = "联系电话")
    private String phone;
    @ApiModelProperty(value = "下单人")
    private String orderName;
    @ApiModelProperty(value = "业务员(新增时当前用户名)")
    private String saleman;
    @ApiModelProperty(value = "交货日期")
    @TableField("delTime")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date delTime;
    @ApiModelProperty(value = "审核人(审核时当前用户名)")
    private String checkname;
    @ApiModelProperty(value = "审核日期")
    @TableField("checkTime")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date checkTime;
    private Integer state;
    @TableField(fill = FieldFill.INSERT)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createTime;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date updateTime;
    @ApiModelProperty(value = "状态 0:不通过;1:通过")
    private Integer type;
}
sale-server/src/main/java/com/yuanchu/mom/pojo/SaleMaterial.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,69 @@
package com.yuanchu.mom.pojo;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
/**
 * <p>
 * é”€å”®äº§å“å•
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-08-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="SaleMaterial对象", description="销售产品单")
public class SaleMaterial implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "产品名称")
    private String name;
    @ApiModelProperty(value = "规格型号")
    private String specifications;
    @ApiModelProperty(value = "单位")
    private String unit;
    @ApiModelProperty(value = "数量")
    private Integer number;
    @ApiModelProperty(value = "单价")
    private String price;
    private Integer state;
    @TableField(fill = FieldFill.INSERT)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createTime;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date updateTime;
    @ApiModelProperty(value = "销售单id")
    private Integer saleId;
}
sale-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
package com.yuanchu.mom.pojo.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yuanchu.mom.pojo.SaleMaterial;
import lombok.Data;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;
@Data
@JsonSerialize
//新增销售单参数
public class SaleDto {
    //订单编号
    @JsonSerialize
    private String orderNumber;
    //工程名称
    @JsonSerialize
    private String name;
    //合同编号
    @JsonSerialize
    private String code;
    //客户名称
    @JsonSerialize
    private String proname;
    //收货地址
    @JsonSerialize
    private String adress;
    //联系人
    @JsonSerialize
    private String username;
    //联系电话
    @JsonSerialize
    private String phone;
    //下单人
    @JsonSerialize
    private String orderName;
    //交货日期
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date delTime;
    //产品信息
    @JsonSerialize
    private List<SaleMaterialDto> saleMaterialList;
}
sale-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleMaterialDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
package com.yuanchu.mom.pojo.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
@Data
@JsonSerialize
//新增产品信息参数
public class SaleMaterialDto {
    //产品名称
    @JsonSerialize
    private String name;
    //规格型号
    @JsonSerialize
    private String specifications;
    //单位
    @JsonSerialize
    private String unit;
    //数量
    @JsonSerialize
    private Integer number;
    //单价
    @JsonSerialize
    private String price;
}
sale-server/src/main/java/com/yuanchu/mom/pojo/dto/vo/SaleVo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
package com.yuanchu.mom.pojo.dto.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yuanchu.mom.pojo.dto.SaleDto;
import lombok.Data;
import java.util.Date;
@Data
@JsonSerialize
//销售单详情
public class SaleVo extends SaleDto {
    //状态0:不通过;1:通过
    @JsonSerialize
    private Integer type;
    //业务员
    @JsonSerialize
    private String saleman;
    //审核人
    @JsonSerialize
    private String checkname;
    //审核日期
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date checkTime;
}
sale-server/src/main/java/com/yuanchu/mom/service/SaleMaterialService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package com.yuanchu.mom.service;
import com.yuanchu.mom.pojo.SaleMaterial;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.stereotype.Service;
/**
 * <p>
 * é”€å”®äº§å“å• æœåŠ¡ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-08-08
 */
public interface SaleMaterialService extends IService<SaleMaterial> {
}
sale-server/src/main/java/com/yuanchu/mom/service/SaleService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,74 @@
package com.yuanchu.mom.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.pojo.Sale;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanchu.mom.pojo.dto.SaleDto;
import com.yuanchu.mom.pojo.dto.vo.SaleVo;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
 * <p>
 * é”€å”®å• æœåŠ¡ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-08-08
 */
public interface SaleService extends IService<Sale> {
    /**
     * æŸ¥è¯¢é”€å”®å•列表
     * @param page
     * @param orderNumber
     * @param name
     * @param type
     * @param delTime
     * @return
     */
    IPage<Map<String, Object>> selectSaleList(Page<Object> page, String orderNumber, String name, Integer type, String delTime);
    /**
     * æ–°å¢žé”€å”®å•
     * @param saleDto
     * @return
     */
    String addSale(String saleman,SaleDto saleDto);
    /**
     * æ ¹æ®é”€å”®å•id查询销售详情
     * @param id
     * @return
     */
    SaleVo selectSaleDatil(Integer id);
    /**
     * æ ¹æ®id删除销售单
     * @param id
     */
    void delSale(Integer id);
    /**
     * æ ¹æ®id批量删除
     * @param ids
     */
    void delAllSale(List<Integer> ids);
    /**
     *根据销售单id修改信息
     * @param saleman
     * @param saleVo
     */
    void updateSaleById(String saleman,Integer id, SaleVo saleVo);
    /**
     * å®¡æ ¸
     * @param id
     */
    void check(String checkname,Integer id,Integer type);
}
sale-server/src/main/java/com/yuanchu/mom/service/impl/SaleMaterialServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.yuanchu.mom.service.impl;
import com.yuanchu.mom.pojo.SaleMaterial;
import com.yuanchu.mom.mapper.SaleMaterialMapper;
import com.yuanchu.mom.service.SaleMaterialService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 * é”€å”®äº§å“å• æœåŠ¡å®žçŽ°ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-08-08
 */
@Service
public class SaleMaterialServiceImpl extends ServiceImpl<SaleMaterialMapper, SaleMaterial> implements SaleMaterialService {
}
sale-server/src/main/java/com/yuanchu/mom/service/impl/SaleServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,139 @@
package com.yuanchu.mom.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.mapper.SaleMaterialMapper;
import com.yuanchu.mom.pojo.Sale;
import com.yuanchu.mom.mapper.SaleMapper;
import com.yuanchu.mom.pojo.SaleMaterial;
import com.yuanchu.mom.pojo.dto.SaleDto;
import com.yuanchu.mom.pojo.dto.SaleMaterialDto;
import com.yuanchu.mom.pojo.dto.vo.SaleVo;
import com.yuanchu.mom.service.SaleMaterialService;
import com.yuanchu.mom.service.SaleService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/**
 * <p>
 * é”€å”®å• æœåŠ¡å®žçŽ°ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-08-08
 */
@Service
public class SaleServiceImpl extends ServiceImpl<SaleMapper, Sale> implements SaleService {
    @Resource
    SaleMapper saleMapper;
    @Resource
    SaleMaterialMapper saleMaterialMapper;
    //查询销售单列表
    @Override
    public IPage<Map<String, Object>> selectSaleList(Page<Object> page, String orderNumber, String name, Integer type, String delTime) {
        return saleMapper.selectSaleList(page,orderNumber,name,type,delTime);
    }
    //新增销售单
    @Override
    public String addSale(String saleman,SaleDto saleDto) {
        Sale sale = new Sale();
        BeanUtils.copyProperties(saleDto,sale);
        sale.setSaleman(saleman);
        saleMapper.insert(sale);
        //如果saleMaterialList有值,需要添加销售产品单
        List<SaleMaterialDto> saleMaterialDtoList = saleDto.getSaleMaterialList();
        for (SaleMaterialDto saleMaterialDto : saleMaterialDtoList) {
            SaleMaterial saleMaterial = new SaleMaterial();
            BeanUtils.copyProperties(saleMaterialDto,saleMaterial);
            saleMaterial.setSaleId(sale.getId());
            saleMaterialMapper.insert(saleMaterial);
        }
        return "新增成功";
    }
    //根据销售单id查询销售详情
    @Override
    public SaleVo selectSaleDatil(Integer id) {
        SaleVo saleVo = new SaleVo();
        Sale sale = saleMapper.selectById(id);
        BeanUtils.copyProperties(sale,saleVo);
        List<SaleMaterial> saleMaterialList = saleMaterialMapper.selectSaleDatil(id);//销售单id
        List<SaleMaterialDto> saleMaterialDtoList = saleMaterialList.stream().map(saleMaterial -> {
            SaleMaterialDto saleMaterialDto = new SaleMaterialDto();
            BeanUtils.copyProperties(saleMaterial, saleMaterialDto);
            return saleMaterialDto;
        }).collect(Collectors.toList());
        saleVo.setSaleMaterialList(saleMaterialDtoList);
        return saleVo;
    }
    //根据销售单id删除
    @Override
    public void delSale(Integer id) {
        Sale sale = saleMapper.selectById(id);
        sale.setState(0);
        saleMapper.updateById(sale);
        List<SaleMaterial> saleMaterials = saleMaterialMapper.selectSaleDatil(id);
        for (SaleMaterial saleMaterial : saleMaterials) {
            saleMaterial.setState(0);
            saleMaterialMapper.updateById(saleMaterial);
        }
    }
    //根据id批量删除
    @Override
    public void delAllSale(List<Integer> ids) {
        List<Sale> sales = saleMapper.selectBatchIds(ids);
        for (Sale sale : sales) {
            sale.setState(0);
            saleMapper.updateById(sale);
            List<SaleMaterial> saleMaterials = saleMaterialMapper.selectSaleDatil(sale.getId());
            for (SaleMaterial saleMaterial : saleMaterials) {
                saleMaterial.setState(0);
                saleMaterialMapper.updateById(saleMaterial);
            }
        }
    }
    //根据销售单id修改信息
    @Override
    public void updateSaleById(String saleman, Integer id, SaleVo saleVo) {
        Sale sale = saleMapper.selectById(id);
        sale.setSaleman(saleman);
        BeanUtils.copyProperties(saleVo,sale);
        //更新销售单
        saleMapper.updateById(sale);
        List<SaleMaterial> saleMaterials = saleMaterialMapper.selectSaleDatil(id);
        for (SaleMaterial saleMaterial : saleMaterials) {
            List<SaleMaterialDto> saleMaterialDtos = saleVo.getSaleMaterialList();
            for (SaleMaterialDto saleMaterialDto : saleMaterialDtos) {
                BeanUtils.copyProperties(saleMaterialDto,saleMaterial);
                //更新销售产品单
                saleMaterialMapper.updateById(saleMaterial);
            }
        }
    }
    //审核
    @Override
    public void check(String checkname,Integer id,Integer type) {
        Sale sale = saleMapper.selectById(id);
        sale.setType(type);
        sale.setCheckname(checkname);
        sale.setCheckTime(new Date());
        saleMapper.updateById(sale);
    }
}
sale-server/src/main/resources/mapper/SaleMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yuanchu.mom.mapper.SaleMapper">
    <select id="selectSaleList" resultType="java.util.Map">
        select order_number,
        code,
        name,
        proname,
        type,
        DATE_FORMAT(delTime, '%Y-%m-%d') '交货日期'
        from mom_ocean.sale
        <where>
            state=1
            <if test="orderNumber!=null">
                and order_number=#{orderNumber}
            </if>
            <if test="name!=null">
                and name=#{name}
            </if>
            <if test="type!=null">
                and type=#{type}
            </if>
            <if test="delTime!=null">
                and DATE_FORMAT(delTime, '%Y-%m-%d')=#{delTime}
            </if>
        </where>
    </select>
</mapper>
sale-server/src/main/resources/mapper/SaleMaterialMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yuanchu.mom.mapper.SaleMaterialMapper">
    <select id="selectSaleDatil" resultType="com.yuanchu.mom.pojo.SaleMaterial">
        select id, name, specifications, unit, number, price, state, create_time, update_time, sale_id
        from mom_ocean.sale_material
        where state=1
        <if test="id!=null">
            and sale_id=#{id}
        </if>
    </select>
</mapper>
standard-server/.gitignore
ÎļþÒÑɾ³ý
standard-server/pom.xml
@@ -20,5 +20,18 @@
            <artifactId>framework</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.vaadin.external.google</groupId>
            <artifactId>android-json</artifactId>
            <version>0.0.20131108.vaadin1</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.yuanchu.mom</groupId>
            <artifactId>user-server</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>
standard-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
@@ -1,20 +1,17 @@
package com.yuanchu.mom.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yuanchu.mom.pojo.Device;
import com.yuanchu.mom.pojo.dto.ProductDto;
import com.yuanchu.mom.service.DeviceService;
import com.yuanchu.mom.service.RawInsProductService;
import com.yuanchu.mom.service.UserService;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@@ -35,6 +32,12 @@
    @Autowired
    private DeviceService deviceService;
    @Autowired
    private UserService userService;
    @Autowired
    private RawInsProductService rawInsProductService;
    @ApiOperation(value = "点击表格中的选择")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "deviceGroup", value = "设备组", dataTypeClass = String.class, required = true)
@@ -44,4 +47,50 @@
        Map<String, Object> map = deviceService.selectTechnology(deviceGroup);
        return Result.success(map);
    }
    @ApiOperation(value = "新增仪器设备", tags = "QMS管理-->实验室管理")
    @PostMapping("/add")
    public Result<?> addDevice(@RequestBody Device device){
        Boolean isUpdateSuccess = deviceService.addDevice(device);
        if (isUpdateSuccess){
            return Result.success("添加成功!");
        }
        return Result.fail("添加失败!");
    }
    @ApiOperation(value = "新增仪器设备:保管人下拉框", tags = "QMS管理-->实验室管理")
    @GetMapping("/list_user")
    public Result<?> selectUserIdAndName(){
        List<Map<String, Object>> maps = userService.listUserIdAndName();
        return Result.success(maps);
    }
    @ApiOperation(value = "二级树", tags = "QMS管理-->实验室管理")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "type", value = "类型", dataTypeClass = String.class)
    })
    @GetMapping("/two_tree")
    public Result<?> deviceTwoTree(@RequestParam(defaultValue = "1") Integer type){
        List<Map<String, Object>> mapList= deviceService.deviceTwoTree(type);
        return Result.success(mapList);
    }
    @ApiOperation(value = "新增仪器设备:检验项目下拉框", tags = "QMS管理-->实验室管理")
    @GetMapping("/listInspect")
    public Result<?> selectInspectIdAndName(){
        List<Map<String, Object>> mapList = rawInsProductService.selectInspectIdAndName();
        return Result.success(mapList);
    }
    @ApiOperation(value = "新增仪器设备:检验项目下拉框", tags = "QMS管理-->实验室管理")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "pageNo", value = "条数/页", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "pageSize", value = "页数", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "codeOrNameOrModel", value = "编号名称规格型号", dataTypeClass = String.class)
    })
    @GetMapping("/page")
    public Result<?> selectPageDevice(Integer pageNo, Integer pageSize, String codeOrNameOrModel){
        IPage<Map<String, Object>> mapList = rawInsProductService.selectPageDevice(pageNo, pageSize, codeOrNameOrModel);
        return Result.success(mapList);
    }
}
standard-server/src/main/java/com/yuanchu/mom/controller/OrdersController.java
@@ -36,14 +36,14 @@
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "pageSize", value = "页数", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "countSize", value = "条数/页", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "id", value = "订单id", dataTypeClass = Integer.class),
            @ApiImplicitParam(name = "orderCode", value = "订单编号", dataTypeClass = String.class),
            @ApiImplicitParam(name = "name", value = "产品名称", dataTypeClass = String.class),
            @ApiImplicitParam(name = "state", value = "状态(为空=全部)", dataTypeClass = Integer.class),
            @ApiImplicitParam(name = "time", value = "下单时间", dataTypeClass = String.class)
    })
    @GetMapping("/selectAllOrder")
    public Result selectAllOrder(int pageSize, int countSize, Integer id, String name, Integer state ,String time) {
        IPage<Map<String, Object>> inspectionPage = ordersService.selectAllOrder(new Page<Object>(pageSize, countSize), id, name, state, time);
    public Result selectAllOrder(int pageSize, int countSize, String orderCode, String name, Integer state ,String time) {
        IPage<Map<String, Object>> inspectionPage = ordersService.selectAllOrder(new Page<Object>(pageSize, countSize), orderCode, name, state, time);
        Map<String, Object> map = new HashMap<>();
        map.put("total", inspectionPage.getTotal());
        map.put("row", inspectionPage.getRecords());
standard-server/src/main/java/com/yuanchu/mom/controller/RawInsProductController.java
ÎļþÃû´Ó inspect-server/src/main/java/com/yuanchu/mom/controller/RawInsProductController.java ÐÞ¸Ä
@@ -3,7 +3,6 @@
import com.yuanchu.mom.pojo.RawInsProduct;
import com.yuanchu.mom.service.DeviceService;
import com.yuanchu.mom.utils.Jwt;
import com.yuanchu.mom.utils.MyUtil;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
standard-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java
@@ -3,6 +3,9 @@
import com.yuanchu.mom.pojo.Device;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
/**
 * <p>
 *  Mapper æŽ¥å£
@@ -13,4 +16,5 @@
 */
public interface DeviceMapper extends BaseMapper<Device> {
    List<Map<String, Object>> deviceTwoTree(Integer type);
}
standard-server/src/main/java/com/yuanchu/mom/mapper/OrdersMapper.java
@@ -18,6 +18,6 @@
public interface OrdersMapper extends BaseMapper<Orders> {
    //查询所有订单列表
    IPage<Map<String, Object>> selectAllOrder(Page<Object> page, Integer id, String name, Integer state , String time);
    IPage<Map<String, Object>> selectAllOrder(Page<Object> page, String orderCode, String name, Integer state , String time);
}
standard-server/src/main/java/com/yuanchu/mom/mapper/RawInsProductMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
package com.yuanchu.mom.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yuanchu.mom.pojo.RawInsProduct;
import java.util.List;
import java.util.Map;
/**
 * åŽŸææ–™ç”³è¯·å•ä¸­çš„é¡¹ç›®åˆ—è¡¨(RawInsProduct)表数据库访问层
 *
 * @author zss
 * @since 2023-08-01 13:52:30
 */
public interface RawInsProductMapper extends BaseMapper<RawInsProduct> {
    List<Map<String, Object>> selectInspectIdAndName();
    IPage<Map<String, Object>> selectPageDevice(Integer pageNo, Integer pageSize, String codeOrNameOrModel);
}
standard-server/src/main/java/com/yuanchu/mom/pojo/Device.java
@@ -12,6 +12,8 @@
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
/**
 * <p>
 *
@@ -31,14 +33,33 @@
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "设备编码")
    @ApiModelProperty(value = "设备编码", example = "YQSB20230808000001")
    private String code;
    @ApiModelProperty(value = "设备名称")
    @ApiModelProperty(value = "设备名称", example = "发动机")
    private String name;
    @ApiModelProperty(value = "设备分组")
    @ApiModelProperty(value = "设备分组", example = "机器")
    private String father;
    @ApiModelProperty(value = "类型 1:生产设备;2:检测设备", example = "1")
    private String type;
    @ApiModelProperty(value = "保管人", example = "1")
    private Integer keeper;
    @ApiModelProperty(value = "计量截止有效期", example = "2023-08-09", dataType = "date")
    private Date endMeasure;
    @ApiModelProperty(value = "设备状态 1:运行;2:报废;3:检修;4:故障;5:空闲", example = "1")
    private Integer deviceStatus;
    @ApiModelProperty(value = "厂家", example = "江苏南通鵷雏工厂")
    private String factory;
    @ApiModelProperty(value = "原材料申请单中的项目列表ID", example = "7")
    @TableField(exist = false)
    private Integer rawInsProductId;
    @ApiModelProperty(value = "逻辑删除 æ­£å¸¸>=1,删除<=0", hidden = true)
    @TableLogic(value = "1", delval = "0")
@@ -53,6 +74,4 @@
    @ApiModelProperty(value = "更新时间", hidden = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
}
standard-server/src/main/java/com/yuanchu/mom/pojo/Orders.java
@@ -31,8 +31,16 @@
     * è®¢å•id
     */
    @ApiModelProperty(name = "订单id")
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    @TableId( type =IdType.AUTO)
    private Integer id;
    /**
     * è®¢å•编号
     */
    @ApiModelProperty(name = "订单编号")
    @TableField("order_code")
    private String orderCode;
    /**
     * å®¢æˆ·åç§°
     */
standard-server/src/main/java/com/yuanchu/mom/pojo/RawInsProduct.java
standard-server/src/main/java/com/yuanchu/mom/service/DeviceService.java
@@ -2,6 +2,7 @@
import com.yuanchu.mom.pojo.Device;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
@@ -25,4 +26,9 @@
     * @param id
     */
    String getDeviceNameById(Integer id);
    @Transactional(rollbackFor = Exception.class)
    Boolean addDevice(Device device);
    List<Map<String, Object>> deviceTwoTree(Integer type);
}
standard-server/src/main/java/com/yuanchu/mom/service/OrdersService.java
@@ -20,7 +20,7 @@
     * @param
     * @return
     */
    IPage<Map<String, Object>> selectAllOrder(Page<Object> page, Integer id, String name, Integer state , String time);
    IPage<Map<String, Object>> selectAllOrder(Page<Object> page, String orderCode, String name, Integer state , String time);
}
standard-server/src/main/java/com/yuanchu/mom/service/RawInsProductService.java
ÎļþÃû´Ó inspect-server/src/main/java/com/yuanchu/mom/service/RawInsProductService.java ÐÞ¸Ä
@@ -1,7 +1,11 @@
package com.yuanchu.mom.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanchu.mom.pojo.RawInsProduct;
import java.util.List;
import java.util.Map;
/**
 * åŽŸææ–™ç”³è¯·å•ä¸­çš„é¡¹ç›®åˆ—è¡¨(RawInsProduct)表服务接口
@@ -17,5 +21,9 @@
     * @param rawInsProduct
     */
    void updaterawInsProduct(int userId, RawInsProduct rawInsProduct);
    List<Map<String, Object>> selectInspectIdAndName();
    IPage<Map<String, Object>> selectPageDevice(Integer pageNo, Integer pageSize, String codeOrNameOrModel);
}
standard-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java
@@ -2,10 +2,13 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yuanchu.mom.pojo.Device;
import com.yuanchu.mom.mapper.DeviceMapper;
import com.yuanchu.mom.pojo.RawInsProduct;
import com.yuanchu.mom.service.DeviceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.service.RawInsProductService;
import com.yuanchu.mom.utils.MyUtil;
import org.springframework.stereotype.Service;
@@ -28,6 +31,9 @@
    @Resource
    private DeviceMapper deviceMapper;
    @Resource
    private RawInsProductService rawInsProductService;
    @Override
    public Map<String, Object> selectTechnology(String deviceGroup) {
@@ -56,4 +62,22 @@
        Device device = deviceMapper.selectById(id);
       return device.getName();
    }
    @Override
    public Boolean addDevice(Device device) {
        int insert = deviceMapper.insert(device);
        if (insert == 1){
            LambdaUpdateWrapper<RawInsProduct> updateWrapper = new LambdaUpdateWrapper<>();
            updateWrapper.eq(RawInsProduct::getId, device.getRawInsProductId());
            updateWrapper.set(RawInsProduct::getDeviceId, device.getId());
            return rawInsProductService.update(updateWrapper);
        }
        return false;
    }
    @Override
    public List<Map<String, Object>> deviceTwoTree(Integer type) {
        return deviceMapper.deviceTwoTree(type);
    }
}
standard-server/src/main/java/com/yuanchu/mom/service/impl/OrdersServiceImpl.java
@@ -27,8 +27,8 @@
    //查询所有订单列表
    @Override
    public IPage<Map<String, Object>> selectAllOrder(Page<Object> page, Integer id, String name, Integer state , String time) {
        return  orderMapper.selectAllOrder(page, id,name,state, time);
    public IPage<Map<String, Object>> selectAllOrder(Page<Object> page, String orderCode, String name, Integer state , String time) {
        return  orderMapper.selectAllOrder(page, orderCode,name,state, time);
    }
}
standard-server/src/main/java/com/yuanchu/mom/service/impl/RawInsProductServiceImpl.java
ÎļþÃû´Ó inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInsProductServiceImpl.java ÐÞ¸Ä
@@ -1,6 +1,7 @@
package com.yuanchu.mom.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.mapper.RawInsProductMapper;
import com.yuanchu.mom.pojo.RawInsProduct;
@@ -9,6 +10,8 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
 * åŽŸææ–™ç”³è¯·å•ä¸­çš„é¡¹ç›®åˆ—è¡¨(RawInsProduct)表服务实现类
@@ -39,6 +42,16 @@
        rawInsProductMapper.update(rawInsProduct, updateWrapper);
    }
    @Override
    public List<Map<String, Object>> selectInspectIdAndName() {
        return rawInsProductMapper.selectInspectIdAndName();
    }
    @Override
    public IPage<Map<String, Object>> selectPageDevice(Integer pageNo, Integer pageSize, String codeOrNameOrModel) {
        return rawInsProductMapper.selectPageDevice(pageNo, pageSize, codeOrNameOrModel);
    }
    /*判断检测值是否满足标准值和内控值的要求,如果不满足则检验结论为不合格*/
    private int checkValues(String standardValueStr, String controlValueStr, String detectionValueStr) {
        boolean isStandardValueSatisfied = isValueSatisfied(standardValueStr, detectionValueStr);
standard-server/src/main/resources/mapper/DeviceMapper.xml
@@ -8,4 +8,30 @@
        WHERE d.`state` = 1
          AND d.`id` = t.`device_id`
    </select>
    <resultMap id="deviceTwoTreeOneMap" type="map">
        <id property="father" column="father"/>
        <collection property="children" resultMap="deviceTwoTreeTwoMap" javaType="List"/>
    </resultMap>
    <resultMap id="deviceTwoTreeTwoMap" type="map">
        <id property="id" column="id"/>
        <result property="name" column="name"/>
    </resultMap>
    <select id="deviceTwoTree" resultMap="deviceTwoTreeOneMap">
        SELECT d.`id`, d.`name`, d.`father`
        FROM device d
        WHERE d.state = 1
        AND d.type = #{type}
    </select>
    <select id="DevicePageList" resultType="Map">
        SELECT * FROM device d
                          LEFT JOIN raw_ins_product r
                                    ON d.`id` = r.`device_id`
        WHERE r.`test_state` IS NULL
          AND d.`state` = 1
          AND (r.`state` = 1 OR r.`state` IS NULL)
    </select>
</mapper>
standard-server/src/main/resources/mapper/OrdersMapper.xml
@@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yuanchu.mom.mapper.OrdersMapper">
    <select id="selectAllOrder" resultType="java.util.Map">
        select o.id,
        select order_code,
        department,
        province,
        salesman,
@@ -17,8 +17,8 @@
        o.state
        from mom_ocean.orders o,mom_ocean.material m
        <where>
            <if test="id != null">
                and o.id = #{id}
            <if test="orderCode != null">
                and order_code = #{orderCode}
            </if>
            <if test="time != null">
                and o.create_time = #{time}
standard-server/src/main/resources/mapper/RawInsProductMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yuanchu.mom.mapper.RawInsProductMapper">
    <select id="selectInspectIdAndName" resultType="map">
        SELECT r.`id`, r.`name`
        FROM raw_ins_product r
                 LEFT JOIN device d
                           ON r.`device_id` = d.`id`
        WHERE r.`state` = 1
          AND ((r.`device_id` IS NULL
            OR (r.`device_id` IS NOT NULL AND r.`test_state` IS NOT NULL))
            OR (d.`state` = 0 AND r.`device_id` IS NOT NULL))
    </select>
    <select id="selectPageDevice" resultType="map">
    </select>
</mapper>
system-run/pom.xml
@@ -12,7 +12,7 @@
    <version>0.0.1-SNAPSHOT</version>
    <name>system-run</name>
    <description>system-run</description>
    <packaging>pom</packaging>
    <packaging>jar</packaging>
    <dependencies>
        <!--基础框架类-->
@@ -40,17 +40,26 @@
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.yuanchu.mom</groupId>
            <artifactId>inventory-server</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.yuanchu.mom</groupId>
            <artifactId>inventory-server</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.yuanchu.mom</groupId>
            <artifactId>sale-server</artifactId>
            <version>1.0.0</version>
        </dependency>
        <!--druid-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
        </dependency>
        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>
        <!--mybatis-plus代码生成器-->
@@ -59,10 +68,10 @@
            <artifactId>mybatis-plus-generator</artifactId>
        </dependency>
        <!-- framework: mybatis-plus代码生成需要一个模板引擎 -->
        <!-- ä»£ç ç”Ÿæˆå™¨æ¨¡æ¿ï¼Œç”¨äºŽç”Ÿæˆä»£ç  -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
        </dependency>
        <!--mysql-->
system-run/src/main/java/com/yuanchu/mom/CodeGenerator.java
@@ -1,110 +1,64 @@
package com.yuanchu.mom;
import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.util.ArrayList;
import java.util.List;
import java.util.Collections;
import java.util.Scanner;
// æ¼”示例子,执行 main æ–¹æ³•控制台输入模块表名回车自动生成对应项目目录中
public class CodeGenerator {
    public static String database_url = "jdbc:mysql://localhost:3306/mom_ocean?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai";
    public static String database_driver_name = "com.mysql.cj.jdbc.Driver";
    public static String database_username = "root";
    public static String database_password= "123456";
    public static String author = "江苏鵷雏网络科技有限公司";
    public static String model_name = "/inspect-server"; // å¦‚果为分布式填子模块名称,如果不是分布式为空即可
    public static String model_name = "/sale-server"; // å¦‚果为分布式填子模块名称,如果不是分布式为空即可
    public static String setParent = "com.yuanchu.mom"; // åŒ…路径
    public static Boolean Override = false; // æ˜¯å¦è¦†ç›–原来的文件?
    public static void main(String[] args) {
        // ä»£ç ç”Ÿæˆå™¨
        AutoGenerator mpg = new AutoGenerator();
        String projectPath = System.getProperty("user.dir");
        System.out.println(projectPath+"===================");
        GlobalConfig gc = new GlobalConfig() // å…¨å±€é…ç½®
                .setOutputDir(projectPath + model_name + "/src/main/java") // è¾“出路径
                .setAuthor(author) // ä½œè€…注释
                .setOpen(false) // æ˜¯å¦æ‰“å¼€
                .setSwagger2(true) //实体属性 Swagger2 æ³¨è§£
                .setServiceName("%sService") // è®¾ç½®serviceName的名称去大写I
                .setFileOverride(Override);// æ˜¯å¦è¦†ç›–已生成文件
        mpg.setGlobalConfig(gc);
        // æ•°æ®æºé…ç½® æ•°æ®åº“名 è´¦å·å¯†ç 
        DataSourceConfig dsc = new DataSourceConfig()
                .setUrl(database_url)
                .setDriverName(database_driver_name)
                .setUsername(database_username)
                .setPassword(database_password);
        mpg.setDataSource(dsc);
        // åŒ…配置
        PackageConfig pc = new PackageConfig()
                .setModuleName(null)
                .setParent(setParent)
                .setEntity("pojo");// åŒ…路径
        mpg.setPackageInfo(pc);
        // è‡ªå®šä¹‰é…ç½®
        InjectionConfig cfg = new InjectionConfig() {
            @Override
            public void initMap() {
                // to do nothing
            }
        };
        // å¦‚果模板引擎是 freemarker
        String templatePath = "/templates/mapper.xml.ftl";
        // å¦‚果模板引擎是 velocity
        // String templatePath = "/templates/mapper.xml.vm";
        // è‡ªå®šä¹‰è¾“出配置
        List<FileOutConfig> focList = new ArrayList<>();
        // è‡ªå®šä¹‰é…ç½®ä¼šè¢«ä¼˜å…ˆè¾“出
        focList.add(new FileOutConfig(templatePath) {
            @Override
            public String outputFile(TableInfo tableInfo) {
                // è‡ªå®šä¹‰è¾“出文件名 ï¼Œ å¦‚果你 Entity è®¾ç½®äº†å‰åŽç¼€ã€æ­¤å¤„注意 xml çš„名称会跟着发生变化!
                return projectPath + model_name + "/src/main/resources/mapper/"
                        + "/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
            }
        });
        cfg.setFileOutConfigList(focList);
        mpg.setCfg(cfg);
        // é…ç½®æ¨¡æ¿
        TemplateConfig templateConfig = new TemplateConfig()
                .setXml(null);
        mpg.setTemplate(templateConfig);
        // ç­–略配置
        StrategyConfig strategy = new StrategyConfig()
                .setNaming(NamingStrategy.underline_to_camel)
                .setColumnNaming(NamingStrategy.underline_to_camel)
                .setEntityLombokModel(true)
                .setRestControllerStyle(true)
                .setInclude(scanner("表名,多个空格分割").split(" "))
                .setControllerMappingHyphenStyle(true)
                .setTablePrefix("m_");
        mpg.setStrategy(strategy);
        mpg.setTemplateEngine(new FreemarkerTemplateEngine());
        //如果不调用该方法、就会使用MyBatis-Plus默认的文件生成路径和包路径生成文件、但可以使用上面的PackageConfig做一些简单的配置
        mpg.execute();
        FastAutoGenerator.create(database_url, database_username, database_password)
                // å…¨å±€é…ç½®
                .globalConfig(builder -> {
                    builder.author(author) // è®¾ç½®ä½œè€…
                            .commentDate("yyyy-MM-dd hh:mm:ss")   //注释日期
                            .outputDir(projectPath + model_name + "/src/main/java") // æŒ‡å®šè¾“出目录
                            .disableOpenDir() //禁止打开输出目录,默认打开
                    ;
                })
                // åŒ…配置
                .packageConfig(builder -> {
                    builder.entity("pojo");
                    builder.parent(setParent) // è®¾ç½®çˆ¶åŒ…名
                            .pathInfo(Collections.singletonMap(OutputFile.xml, projectPath + model_name +  "/src/main/resources/mapper")); // è®¾ç½®mapperXml生成路径
                })
                // ç­–略配置
                .strategyConfig(builder -> {
                    builder.addInclude(scanner("表名,多个空格分割").split(" ")) // è®¾ç½®éœ€è¦ç”Ÿæˆçš„表名
                            .addTablePrefix("sys_") // è®¾ç½®è¿‡æ»¤è¡¨å‰ç¼€
                            // Entity ç­–略配置
                            .entityBuilder()
                            .enableLombok() //开启 Lombok
                            .naming(NamingStrategy.underline_to_camel)  //数据库表映射到实体的命名策略:下划线转驼峰命
                            .columnNaming(NamingStrategy.underline_to_camel)    //数据库表字段映射到实体的命名策略:下划线转驼峰命
                            // Mapper ç­–略配置
                            .mapperBuilder()
                            .enableFileOverride() // è¦†ç›–已生成文件
                            // Service ç­–略配置
                            .serviceBuilder()
                            .enableFileOverride() // è¦†ç›–已生成文件
                            .formatServiceFileName("%sService") //格式化 service æŽ¥å£æ–‡ä»¶åç§°ï¼Œ%s进行匹配表名,如 UserService
                            .formatServiceImplFileName("%sServiceImpl") //格式化 service å®žçŽ°ç±»æ–‡ä»¶åç§°ï¼Œ%s进行匹配表名,如 UserServiceImpl
                            // Controller ç­–略配置
                            .controllerBuilder()
                            .enableFileOverride() // è¦†ç›–已生成文件
                    ;
                })
                .execute();
    }
    /**
system-run/src/main/resources/application-dev.yml
@@ -32,8 +32,8 @@
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mom_ocean?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
    username: root
    url: jdbc:mysql://192.168.110.209:3306/mom_ocean?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
    username: user
    password: 123456
    druid:
      #   Druid数据源配置
system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
@@ -1,5 +1,6 @@
package com.yuanchu.mom;
import com.yuanchu.mom.utils.MyUtil;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@@ -8,50 +9,6 @@
    @Test
    void contextLoads() {
        int i = checkValues(">=2", "=0", "0");
        System.out.println(i);
    }
    public int checkValues(String standardValueStr, String controlValueStr, String detectionValueStr) {
        boolean isStandardValueSatisfied = isValueSatisfied(standardValueStr, detectionValueStr);
        boolean isControlValueSatisfied = isValueSatisfied(controlValueStr, detectionValueStr);
        if (isStandardValueSatisfied && isControlValueSatisfied) {
            return 1;
        } else {
            return 0;
        }
    }
    private boolean isValueSatisfied(String valueStr, String detectionValueStr) {
        String substring = valueStr.substring(1,2);
        if (substring.equals("=")) {
            String operator = valueStr.substring(0, 2);
            Double standardValue = Double.parseDouble(valueStr.substring(2));
            Double detectionValue = Double.parseDouble(detectionValueStr);
            switch (operator){
                case ">=":
                    return detectionValue >= standardValue;
                case "<=":
                    return detectionValue <= standardValue;
                default:
                    return false;
            }
        }else {
            String operator = valueStr.substring(0,1);
            Double standardValue = Double.parseDouble(valueStr.substring(1));
            Double detectionValue = Double.parseDouble(detectionValueStr);
            switch (operator){
                case ">":
                    return detectionValue > standardValue;
                case "<":
                    return detectionValue < standardValue;
                case "=":
                    return detectionValue.equals(standardValue);
                default:
                    return false;
            }
        }
    }
}