XiaoRuby
2023-08-17 66ff6f509bbbba04cffc428e7e1c886b534b4f13
Merge remote-tracking branch 'origin/master'

# Conflicts:
# standard-server/src/main/java/com/yuanchu/mom/service/DeviceService.java
# standard-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java
已添加14个文件
已修改22个文件
901 ■■■■ 文件已修改
inventory-server/pom.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/controller/ConsignmentController.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/controller/ImportRepertoryController.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/controller/OrdersController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleMaterialDto.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/service/ConsignmentService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/service/ImportRepertoryService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/service/OrdersService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/service/impl/ConsignmentServiceImpl.java 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/service/impl/ImportRepertoryServiceImpl.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/service/impl/OrdersServiceImpl.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/service/impl/SaleServiceImpl.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/resources/mapper/RepertoryMapper.xml 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/resources/mapper/SaleMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/pom.xml 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/src/main/java/com/yuanchu/mom/controller/ManualTechnologyController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/src/main/java/com/yuanchu/mom/controller/ManufactureOrderController.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/src/main/java/com/yuanchu/mom/mapper/ManualTechnologyMapper.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/src/main/java/com/yuanchu/mom/mapper/ManufactureOrderMapper.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/src/main/java/com/yuanchu/mom/pojo/ManualTechnology.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/src/main/java/com/yuanchu/mom/pojo/ManufactureOrder.java 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/src/main/java/com/yuanchu/mom/pojo/dto/ManualTechnologyDto.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/src/main/java/com/yuanchu/mom/service/ManualTechnologyService.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderService.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/src/main/java/com/yuanchu/mom/service/impl/ManualTechnologyServiceImpl.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderServiceImpl.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/src/main/resources/mapper/ManualTechnologyMapper.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/src/main/resources/mapper/ManufactureOrderMapper.xml 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/pojo/Technology.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/service/DeviceService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/mom/service/impl/TechnologyServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/resources/mapper/DeviceMapper.xml 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
system-run/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/pom.xml
@@ -37,6 +37,13 @@
            <artifactId>framework</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <!--生产模块-->
        <dependency>
            <groupId>com.yuanchu.mom</groupId>
            <artifactId>production-server</artifactId>
            <version>1.0.0</version>
        </dependency>
    </dependencies>
</project>
inventory-server/src/main/java/com/yuanchu/mom/controller/ConsignmentController.java
@@ -52,11 +52,6 @@
    })
    @GetMapping("/selSale")
    public Result selSale(String orderNumber) {
        //只有销售单审核通过之后才能发货
        Sale sale = saleService.getOne(Wrappers.<Sale>query().eq("order_number", orderNumber));
        if (ObjectUtils.isEmpty(sale.getType()) || sale.getType() != 1  ) {
            return Result.fail("只有销售单审核通过之后才能发货!");
        }
        return Result.success(saleService.selSale(orderNumber));
    }
@@ -85,25 +80,7 @@
        return Result.success(map);
    }
    @ApiOperation(value = "根据发货id删除")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "id", value = "发货id", dataTypeClass = Integer.class, required = true)
    })
    @PostMapping("/delCon")
    public Result delCon(Integer id) {
        consignmentService.delCon(id);
        return Result.success();
    }
    @ApiOperation(value = "批量删除")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "ids", value = "ids", dataTypeClass = Integer.class, dataType = "List", required = true)
    })
    @PostMapping("/delAllCon")
    public Result delAllCon(@RequestParam("ids") List<Integer> ids) {
        consignmentService.delAllCon(ids);
        return Result.success();
    }
}
inventory-server/src/main/java/com/yuanchu/mom/controller/ImportRepertoryController.java
@@ -37,16 +37,6 @@
    @Autowired
    private ImportRepertoryService importRepertoryService;
    @Resource
    Jwt jwt;
    @ApiOperation(value = "新增成品入库")
    @PostMapping("/addImpRep")
    public Result addSale(@RequestHeader("token") String token,@Validated @RequestBody ImportRepertoryDto importRepertoryDto) throws Exception {
        Map<String, String> data = JackSonUtil.unmarshal(jwt.readJWT(token).get("data"), Map.class);
        importRepertoryService.addImpRep(data.get("name").replaceAll("\"", ""), importRepertoryDto);
        return Result.success("新增成功!");
    }
    @ApiOperation("查询所有入库列表")
    @ApiImplicitParams(value = {
@@ -74,25 +64,6 @@
        return Result.success(importRepertoryService.getById(id));
    }
    @ApiOperation(value = "根据入库id删除")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "id", value = "入库id", dataTypeClass = Integer.class, required = true)
    })
    @PostMapping("/delImpRep")
    public Result delImpRep(Integer id) {
        importRepertoryService.delImpRep(id);
        return Result.success();
    }
    @ApiOperation(value = "批量删除")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "ids", value = "ids", dataTypeClass = Integer.class, dataType = "List", required = true)
    })
    @PostMapping("/delAllImpRep")
    public Result delAllImpRep(@RequestParam("ids") List<Integer> ids) {
        importRepertoryService.delAllImpRep(ids);
        return Result.success();
    }
}
inventory-server/src/main/java/com/yuanchu/mom/controller/OrdersController.java
@@ -57,8 +57,8 @@
    })
    @PostMapping("/compile")
    public Result compile(Integer id) {
        //未完待续......
        return Result.success();
        ordersService.compile(id);
        return Result.success("编制完成!");
    }
}
inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleMaterialDto.java
@@ -4,12 +4,18 @@
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
@JsonSerialize
//新增产品信息参数
public class SaleMaterialDto {
    //产品id
    @NotNull(message = "产品id不能为空")
    @JsonSerialize
    private Integer id;
    //产品名称
    @NotBlank(message = "产品名称不能为空")
    @JsonSerialize
inventory-server/src/main/java/com/yuanchu/mom/service/ConsignmentService.java
@@ -34,16 +34,5 @@
     */
    IPage<Map<String, Object>> selectAllCon(Page<Object> page, String name, String specifications, String time);
    /**
     * æ ¹æ®id删除
     * @param id
     */
    void delCon(Integer id);
    /**
     * æ‰¹é‡åˆ é™¤
     * @param ids
     */
    void delAllCon(List<Integer> ids);
}
inventory-server/src/main/java/com/yuanchu/mom/service/ImportRepertoryService.java
@@ -17,8 +17,6 @@
 */
public interface ImportRepertoryService extends IService<ImportRepertory> {
    //新增成品入库
    void addImpRep(String name, ImportRepertoryDto importRepertoryDto);
    /**
     * æŸ¥è¯¢å…¥åº“列表
@@ -30,16 +28,6 @@
     */
    IPage<Map<String, Object>> selectAllImpRep(Page<Object> page, String orderCode, String name, String time);
    /**
     * æ ¹æ®id删除
     * @param id
     */
    void delImpRep(Integer id);
    /**
     * æ‰¹é‡åˆ é™¤
     * @param ids
     */
    void delAllImpRep(List<Integer> ids);
}
inventory-server/src/main/java/com/yuanchu/mom/service/OrdersService.java
@@ -22,5 +22,10 @@
    IPage<Map<String, Object>> selectAllOrder(Page<Object> page, String orderCode, String name, Integer type , String time);
    /**
     * ç¼–制订单BOM
     * @param id
     */
    void compile(Integer id);
}
inventory-server/src/main/java/com/yuanchu/mom/service/impl/ConsignmentServiceImpl.java
@@ -2,6 +2,8 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.mapper.ConsignmentMapper;
@@ -16,6 +18,7 @@
import com.yuanchu.mom.utils.MyUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
@@ -43,6 +46,7 @@
    //新增成品发货
    @Override
    @Transactional(rollbackFor = Exception.class)
    public String addCon(String name, ConsignmentDto consignmentDto) {
        //生成一个押运单编号
        String escortCode = MyUtil.getTimeSixNumberCode("YY", "num");
@@ -70,61 +74,21 @@
        return consignmentMapper.selectAllCon(page, name, specifications, time);
    }
    //根据id删除
    @Override
    public void delCon(Integer id) {
        //删除发货记录
        Consignment consignment = consignmentMapper.selectById(id);
        consignment.setState(0);
        consignmentMapper.updateById(consignment);
        //库存也要新增
        LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Repertory::getQualityTraceability, consignment.getQualityTraceability())
                .eq(Repertory::getName, consignment.getName())
                .eq(Repertory::getSpecifications, consignment.getSpecifications())
                .eq(Repertory::getUnit, consignment.getUnit())
                .eq(Repertory::getType, 0); //成品发货
        Repertory repertory = repertoryMapper.selectOne(queryWrapper);
        repertory.setNumber(repertory.getNumber() + consignment.getNumber());
        repertoryMapper.updateById(repertory);
    }
    //批量删除
    @Override
    public void delAllCon(List<Integer> ids) {
        List<Consignment> consignments = consignmentMapper.selectBatchIds(ids);
        for (Consignment consignment : consignments) {
            consignment.setState(0);
            //删除发货记录
            consignmentMapper.updateById(consignment);
            //库存新增
            LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
            queryWrapper.eq(Repertory::getQualityTraceability, consignment.getQualityTraceability())
                    .eq(Repertory::getName, consignment.getName())
                    .eq(Repertory::getSpecifications, consignment.getSpecifications())
                    .eq(Repertory::getUnit, consignment.getUnit())
                    .eq(Repertory::getType, 0); //成品发货
            Repertory repertory = repertoryMapper.selectOne(queryWrapper);
            repertory.setNumber(repertory.getNumber() + consignment.getNumber());
            repertoryMapper.updateById(repertory);
        }
    }
    //新增发货一系列操作
    private String addConsign(String name, ConsignmentDto consignmentDto, String escortCode) {
        /*新增成品发货*/
        List<ConsignmentDto2> messages = consignmentDto.getMessages();
        for (ConsignmentDto2 message : messages) {
            //查询产品编码(通过在成品库存表中的产品名称,规格型号以及单位进行查找)
            //查询产品库存数量
            LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
            queryWrapper.eq(Repertory::getName, message.getName())
                    .eq(Repertory::getSpecifications, message.getSpecifications())
                    .eq(Repertory::getUnit, message.getUnit())
                    .eq(Repertory::getType, 0);
                    .eq(Repertory::getType, 0)
                    .eq(Repertory::getOrderCode, consignmentDto.getOrderCode());
            Repertory repertory = repertoryMapper.selectOne(queryWrapper);
            //该成品库存的数量大于等于发货的数量才能进行发货
            if (repertory.getNumber() < message.getNumber()) {
            //该成品库存不为空且数量大于等于发货的数量才能进行发货
            if (ObjectUtils.isNotEmpty(repertory) && repertory.getNumber() < message.getNumber()) {
                return "库存不足,无法发货!";
            }
            //构造成品发货实体类
inventory-server/src/main/java/com/yuanchu/mom/service/impl/ImportRepertoryServiceImpl.java
@@ -30,41 +30,6 @@
    @Resource
    ImportRepertoryMapper importRepertoryMapper;
    @Resource
    RepertoryMapper repertoryMapper;
    //新增成品入库
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void addImpRep(String name, ImportRepertoryDto importRepertoryDto) {
        //新增成品入库
        ImportRepertory importRepertory = new ImportRepertory();
        BeanUtils.copyProperties(importRepertoryDto, importRepertory);
        importRepertory.setUserName(name);
        importRepertoryMapper.insert(importRepertory);
        /*新增成品库存(未检验)*/
        //如果入库的信息一样只有库存不一样,则在原来的库存数量上加上相应的数量
        LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Repertory::getOrderCode, importRepertoryDto.getOrderCode())
                .eq(Repertory::getQualityTraceability, importRepertoryDto.getQualityTraceability())
                .eq(Repertory::getName, importRepertoryDto.getName())
                .eq(Repertory::getSpecifications, importRepertoryDto.getSpecifications())
                .eq(Repertory::getUnit, importRepertoryDto.getUnit())
                .eq(Repertory::getType, 0);
        Repertory rep = repertoryMapper.selectOne(queryWrapper);
        if (rep != null ) {
            rep.setNumber(rep.getNumber() + importRepertoryDto.getNumber());
            rep.setUserName(name);
            repertoryMapper.updateById(rep);
        } else {
            //如果除了库存别的信息有任何一个不一样,则新增一条成品库存
            Repertory repertory = new Repertory();
            BeanUtils.copyProperties(importRepertoryDto, repertory);
            repertory.setUserName(name);
            repertory.setType(0);
            repertoryMapper.insert(repertory);
        }
    }
    //查询入库列表
    @Override
@@ -72,46 +37,5 @@
        return importRepertoryMapper.selectAllImpRep(page, orderCode, name, time);
    }
    //根据id删除
    @Override
    public void delImpRep(Integer id) {
        //删除入库记录
        ImportRepertory importRepertory = importRepertoryMapper.selectById(id);
        importRepertory.setState(0);
        importRepertoryMapper.updateById(importRepertory);
        //库存也要减少
        LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Repertory::getOrderCode, importRepertory.getOrderCode())
                .eq(Repertory::getQualityTraceability, importRepertory.getQualityTraceability())
                .eq(Repertory::getName, importRepertory.getName())
                .eq(Repertory::getSpecifications, importRepertory.getSpecifications())
                .eq(Repertory::getUnit, importRepertory.getUnit())
                .eq(Repertory::getType, 0);
        Repertory rep = repertoryMapper.selectOne(queryWrapper);
        rep.setNumber(rep.getNumber() - importRepertory.getNumber());
        repertoryMapper.updateById(rep);
    }
    //批量删除
    @Override
    public void delAllImpRep(List<Integer> ids) {
        List<ImportRepertory> importRepertories = importRepertoryMapper.selectBatchIds(ids);
        for (ImportRepertory importRepertory : importRepertories) {
            importRepertory.setState(0);
            //删除入库记录
            importRepertoryMapper.updateById(importRepertory);
            //减少库存
            LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
            queryWrapper.eq(Repertory::getOrderCode, importRepertory.getOrderCode())
                    .eq(Repertory::getQualityTraceability, importRepertory.getQualityTraceability())
                    .eq(Repertory::getName, importRepertory.getName())
                    .eq(Repertory::getSpecifications, importRepertory.getSpecifications())
                    .eq(Repertory::getUnit, importRepertory.getUnit())
                    .eq(Repertory::getType, 0);
            Repertory rep = repertoryMapper.selectOne(queryWrapper);
            rep.setNumber(rep.getNumber() - importRepertory.getNumber());
            repertoryMapper.updateById(rep);
        }
    }
}
inventory-server/src/main/java/com/yuanchu/mom/service/impl/OrdersServiceImpl.java
@@ -1,13 +1,19 @@
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.mapper.SaleMapper;
import com.yuanchu.mom.mapper.*;
import com.yuanchu.mom.pojo.*;
import com.yuanchu.mom.service.ManufactureOrderService;
import com.yuanchu.mom.service.OrdersService;
import com.yuanchu.mom.utils.MyUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
@@ -22,11 +28,70 @@
    @Resource
    SaleMapper saleMapper;
    @Resource
    SaleMaterialMapper saleMaterialMapper;
    @Resource
    ManufactureOrderMapper manufactureOrderMapper;
    @Resource
    ManualTechnologyMapper manualTechnologyMapper;
    @Resource
    SpecificationsMapper specificationsMapper;
    @Resource
    TechnologyMapper technologyMapper;
    //查询所有订单列表
    @Override
    public IPage<Map<String, Object>> selectAllOrder(Page<Object> page, String orderCode, String name, Integer type , String time) {
        return saleMapper.selectAllOrder(page, orderCode,name,type, time);
    }
    //编制订单BOM
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void compile(Integer id) {
        /*更改订单BOM的状态为已编制1*/
        SaleMaterial saleMaterial = saleMaterialMapper.selectById(id);
        saleMaterial.setType(1);
        saleMaterialMapper.updateById(saleMaterial);
        /*新增生产订单+编制工序*/
        //查询订单信息
        Sale sale = saleMapper.selectById(saleMaterial.getSaleId());
        ManufactureOrder manufactureOrder = ManufactureOrder.builder()
                .orderCode(sale.getOrderNumber())
                .customerCode(sale.getCode())
                .proname(sale.getProname())
                .saleman(sale.getSaleman())
                .name(saleMaterial.getName())
                .specifications(saleMaterial.getSpecifications())
                .unit(saleMaterial.getUnit())
                .number(saleMaterial.getNumber())
                .downtime(sale.getCreateTime())
                .deltime(sale.getDelTime())
                .qualityTraceability(MyUtil.getTimeSixNumberCode("GPT"))
                .build();
        //新增生产订单
        manufactureOrderMapper.insert(manufactureOrder);
        //查询产品的工序
        String[] split = manufactureOrder.getSpecifications().split("-");
        Specifications specifications = specificationsMapper.selectOne(Wrappers.<Specifications>query().eq("name", split[1]));
        List<Technology> technologyList = technologyMapper.selectList(Wrappers.<Technology>query().eq("specifications_id", specifications.getId()));
        for (Technology technology : technologyList) {
            ManualTechnology manualTechnology = ManualTechnology.builder()
                    .techname(technology.getName())
                    .techfather(technology.getFather())
                    .deviceGroup(technology.getDeviceGroup())
                    .manufactureOrderId(manufactureOrder.getId())
                    .build();
            //新增编制工序表
            manualTechnologyMapper.insert(manualTechnology);
        }
    }
}
inventory-server/src/main/java/com/yuanchu/mom/service/impl/SaleServiceImpl.java
@@ -116,14 +116,11 @@
        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) {
            SaleMaterial saleMaterial = new SaleMaterial();
                BeanUtils.copyProperties(saleMaterialDto, saleMaterial);
                //更新销售产品单
                saleMaterialMapper.updateById(saleMaterial);
            }
        }
    }
inventory-server/src/main/resources/mapper/RepertoryMapper.xml
@@ -6,9 +6,9 @@
        name,
        specifications,
        quality_traceability,
        check_result,
        user_name,
        DATE_FORMAT(create_time, '%Y-%m-%d') '入库日期',
        check_result,
        note
        from mom_ocean.repertory
        <where>
@@ -24,9 +24,6 @@
            </if>
            <if test="type!=null ">
                and type=#{type}
            </if>
            <if test="result!=null ">
                and check_result=#{result}
            </if>
            order by id desc
        </where>
inventory-server/src/main/resources/mapper/SaleMapper.xml
@@ -56,6 +56,5 @@
            and s.create_time=#{time}
        </if>
        order by delTime
    </select>
</mapper>
pom.xml
@@ -22,6 +22,7 @@
        <module>inspect-server</module>
        <module>inventory-server</module>
        <module>system-run</module>
        <module>production-server</module>
    </modules>
    <properties>
production-server/pom.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
<?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>production-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>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>
    </dependencies>
</project>
production-server/src/main/java/com/yuanchu/mom/controller/ManualTechnologyController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
package com.yuanchu.mom.controller;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.yuanchu.mom.service.ManualTechnologyService;
/**
 * ç¼–制工序表(ManualTechnology)表控制层
 *
 * @author zss
 * @since 2023-08-17 14:16:46
 */
@Api(tags = "编制工序表接口")
@RestController
@RequestMapping("/manualTechnology")
public class ManualTechnologyController {
    @Autowired
    private ManualTechnologyService manualTechnologyService;
}
production-server/src/main/java/com/yuanchu/mom/controller/ManufactureOrderController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,87 @@
package com.yuanchu.mom.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.mapper.ManualTechnologyMapper;
import com.yuanchu.mom.pojo.ManualTechnology;
import com.yuanchu.mom.service.DeviceService;
import com.yuanchu.mom.service.ManualTechnologyService;
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.*;
import com.yuanchu.mom.service.ManufactureOrderService;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
/**
 * ç”Ÿäº§è®¢å•表(ManufactureOrder)表控制层
 *
 * @author zss
 * @since 2023-08-17 14:16:24
 */
@Api(tags = "生产管理-->生产订单")
@RestController
@RequestMapping("/manufactureOrder")
public class ManufactureOrderController {
    @Autowired
    private ManufactureOrderService manufactureOrderService;
    @Resource
    ManualTechnologyService manualTechnologyService;
    @Resource
    DeviceService deviceService;
    @ApiOperation(value = "查询生产订单列表")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "pageSize", value = "页数", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "countSize", value = "条数/页", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "downTime", value = "下单日期", dataTypeClass = String.class),
            @ApiImplicitParam(name = "delTime", value = "交货日期", dataTypeClass = String.class),
            @ApiImplicitParam(name = "customerCode", value = "合同编号", dataTypeClass = String.class),
            @ApiImplicitParam(name = "type", value = "状态(为空=全部)", dataTypeClass = Integer.class)
    })
    @GetMapping("/selectAllManord")
    public Result selectAllManord(int pageSize, int countSize, String downTime, String delTime, String customerCode, Integer type) {
        IPage<Map<String, Object>> manufactureOrderPage = manufactureOrderService.selectAllManord(new Page<Object>(pageSize, countSize), downTime, delTime, customerCode, type);
        Map<String, Object> map = new HashMap<>();
        map.put("total", manufactureOrderPage.getTotal());
        map.put("row", manufactureOrderPage.getRecords());
        return Result.success(map);
    }
    @ApiOperation(value = "排产-->1.查看")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "manOrdId", value = "生产订单id", dataTypeClass = Integer.class, required = true)
    })
    @GetMapping("/seleDatil")
    public Result seleDatil(Integer manOrdId) {
        return Result.success(manualTechnologyService.seleDatil(manOrdId));
    }
    @ApiOperation(value = "排产-->2.选择设备")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "deviceGroup", value = "设备组", dataTypeClass = String.class, required = true)
    })
    @GetMapping("/seleDevice")
    public Result seleDevice(String deviceGroup) {
        return Result.success(deviceService.getDeviceNameByGroup(deviceGroup));
    }
    @ApiOperation(value = "排产-->3.更新")
    @PostMapping("/output")
    public Result output(String deviceGroup) {
        return Result.success();
    }
}
production-server/src/main/java/com/yuanchu/mom/mapper/ManualTechnologyMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.yuanchu.mom.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yuanchu.mom.pojo.ManualTechnology;
import java.util.List;
import java.util.Map;
/**
 * ç¼–制工序表(ManualTechnology)表数据库访问层
 *
 * @author zss
 * @since 2023-08-17 14:16:46
 */
public interface ManualTechnologyMapper extends BaseMapper<ManualTechnology> {
    //排产-->查看
    List<Map<String, Object>> seleDatil(Integer manOrdId);
}
production-server/src/main/java/com/yuanchu/mom/mapper/ManufactureOrderMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
package com.yuanchu.mom.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.pojo.ManufactureOrder;
import java.util.Map;
/**
 * ç”Ÿäº§è®¢å•表(ManufactureOrder)表数据库访问层
 *
 * @author zss
 * @since 2023-08-17 14:16:25
 */
public interface ManufactureOrderMapper extends BaseMapper<ManufactureOrder> {
    //查询生产订单列表
    IPage<Map<String, Object>> selectAllManord(Page<Object> page, String downTime, String delTime, String customerCode, Integer type);
}
production-server/src/main/java/com/yuanchu/mom/pojo/ManualTechnology.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,73 @@
package com.yuanchu.mom.pojo;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.io.Serializable;
/**
 * ç¼–制工序表(ManualTechnology)表实体类
 *
 * @author zss
 * @since 2023-08-17 14:16:46
 */
@Data
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@Builder
@TableName("manual_technology")
public class ManualTechnology implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * id
     **/
    @TableId(type = IdType.AUTO)
    private Integer id;
    /**
     * å·¥åºåç§°
     **/
    private String techname;
    /**
     * å·¥åºçˆ¶ç±»
     **/
    private String techfather;
    /**
     * è®¾å¤‡ç»„
     **/
    private String deviceGroup;
    /**
     * å…³è” è®¾å¤‡id
     **/
    private String deviceId;
    /**
     * å…³è” ç”Ÿäº§è®¢å•id
     **/
    private Integer manufactureOrderId;
    @ApiModelProperty(value = "逻辑删除 æ­£å¸¸>=1,删除<=0", hidden = true)
    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;
}
production-server/src/main/java/com/yuanchu/mom/pojo/ManufactureOrder.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,112 @@
package com.yuanchu.mom.pojo;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.io.Serializable;
/**
 * ç”Ÿäº§è®¢å•表(ManufactureOrder)表实体类
 *
 * @author zss
 * @since 2023-08-17 14:16:25
 */
@Data
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@Builder
@TableName("manufacture_order")
public class ManufactureOrder implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * id
     **/
    @TableId(type = IdType.AUTO)
    private Integer id;
    /**
     * è®¢å•编号
     **/
    private String orderCode;
    /**
     * åˆåŒç¼–号(客户订单号)
     **/
    private String customerCode;
    /**
     * å®¢æˆ·åç§°
     **/
    private String proname;
    /**
     * ä¸šåŠ¡ç»ç†(业务员)
     **/
    private String saleman;
    /**
     * äº§å“åç§°
     **/
    private String name;
    /**
     * è§„格型号
     **/
    private String specifications;
    /**
     * å•位
     **/
    private String unit;
    /**
     * æ•°é‡
     **/
    private Integer number;
    /**
     * ä¸‹å•日期
     **/
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date downtime;
    /**
     * äº¤è´§æ—¥æœŸ
     **/
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date deltime;
    /**
     * çŠ¶æ€0:待排产;1:已排产
     **/
    private Integer type;
    /**
     * è´¨é‡è¿½æº¯å·
     **/
    private String qualityTraceability;
    @ApiModelProperty(value = "逻辑删除 æ­£å¸¸>=1,删除<=0", hidden = true)
    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;
}
production-server/src/main/java/com/yuanchu/mom/pojo/dto/ManualTechnologyDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
package com.yuanchu.mom.pojo.dto;
import lombok.Data;
@Data
//更新排产(选择设备)
public class ManualTechnologyDto {
    private Integer id;
}
production-server/src/main/java/com/yuanchu/mom/service/ManualTechnologyService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
package com.yuanchu.mom.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanchu.mom.pojo.ManualTechnology;
import java.util.List;
import java.util.Map;
/**
 * ç¼–制工序表(ManualTechnology)表服务接口
 *
 * @author zss
 * @since 2023-08-17 14:16:46
 */
public interface ManualTechnologyService extends IService<ManualTechnology> {
    /**
     * æŽ’产-->1.查看
     * @param manOrdId
     * @return
     */
    List<Map<String,Object>> seleDatil(Integer manOrdId);
}
production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
package com.yuanchu.mom.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanchu.mom.pojo.ManufactureOrder;
import java.util.Map;
/**
 * ç”Ÿäº§è®¢å•表(ManufactureOrder)表服务接口
 *
 * @author zss
 * @since 2023-08-17 14:16:25
 */
public interface ManufactureOrderService extends IService<ManufactureOrder> {
    /**
     * æŸ¥è¯¢ç”Ÿäº§è®¢å•列表
     * @param page
     * @param downTime
     * @param delTime
     * @param customerCode
     * @param type
     * @return
     */
    IPage<Map<String, Object>> selectAllManord(Page<Object> page, String downTime, String delTime, String customerCode, Integer type);
}
production-server/src/main/java/com/yuanchu/mom/service/impl/ManualTechnologyServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
package com.yuanchu.mom.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.mapper.DeviceMapper;
import com.yuanchu.mom.mapper.ManualTechnologyMapper;
import com.yuanchu.mom.pojo.ManualTechnology;
import com.yuanchu.mom.service.ManualTechnologyService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
 * ç¼–制工序表(ManualTechnology)表服务实现类
 *
 * @author zss
 * @since 2023-08-17 14:16:46
 */
@Service
public class ManualTechnologyServiceImpl extends ServiceImpl<ManualTechnologyMapper, ManualTechnology> implements ManualTechnologyService {
    @Resource
    ManualTechnologyMapper manualTechnologyMapper;
    @Resource
    DeviceMapper deviceMapper;
    //排产-->查看
    @Override
    public List<Map<String,Object>> seleDatil(Integer manOrdId) {
        return manualTechnologyMapper.seleDatil(manOrdId);
    }
}
production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
package com.yuanchu.mom.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.mapper.ManufactureOrderMapper;
import com.yuanchu.mom.pojo.ManufactureOrder;
import com.yuanchu.mom.service.ManufactureOrderService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Map;
/**
 * ç”Ÿäº§è®¢å•表(ManufactureOrder)表服务实现类
 *
 * @author zss
 * @since 2023-08-17 14:16:25
 */
@Service
public class ManufactureOrderServiceImpl extends ServiceImpl<ManufactureOrderMapper, ManufactureOrder> implements ManufactureOrderService {
    @Resource
    ManufactureOrderMapper manufactureOrderMapper;
    //查询生产订单的列表
    @Override
    public IPage<Map<String, Object>> selectAllManord(Page<Object> page, String downTime, String delTime, String customerCode, Integer type) {
        return manufactureOrderMapper.selectAllManord(page,downTime,delTime,customerCode,type);
    }
}
production-server/src/main/resources/mapper/ManualTechnologyMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
<?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.ManualTechnologyMapper">
    <select id="seleDatil" resultType="java.util.Map">
        select manual_technology.id,
               techfather,
               techname,
               device_group,
               name
        from mom_ocean.manual_technology
                 left join mom_ocean.device
                           on device.id = device_id
        where manufacture_order_id=#{manOrdId}
    </select>
</mapper>
production-server/src/main/resources/mapper/ManufactureOrderMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
<?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.ManufactureOrderMapper">
    <!--查询生产订单的列表-->
    <select id="selectAllManord" resultType="java.util.Map">
        select id,
        order_code,
        customer_code,
        saleman,
        proname,
        name,
        specifications,
        unit,
        number,
        DATE_FORMAT(downTime, '%Y-%m-%d') '下单日期',
        DATE_FORMAT(delTime, '%Y-%m-%d') '交货日期',
        type
        from mom_ocean.manufacture_order
        where state=1
        <if test="downTime!=null and downTime!=''">
            and downTime=#{downTime}
        </if>
        <if test="delTime!=null and delTime!=''">
            and delTime=#{delTime}
        </if>
        <if test="customerCode!=null and customerCode!=''">
            and customer_code like concat('%',#{customerCode},'%')
        </if>
        <if test="type!=null">
            and type=#{type}
        </if>
    </select>
</mapper>
standard-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java
@@ -19,4 +19,6 @@
    List<Map<String, Object>> deviceTwoTree(Integer type, String search_class);
    List<Map<String, Object>> DevicePageList(String codeNameModel, Integer type, Integer deviceStatue, Integer deviceId, String fatherName);
    List<Map<String, Object>> getDeviceNameByGroup(String deviceGroup);
}
standard-server/src/main/java/com/yuanchu/mom/pojo/Technology.java
@@ -34,7 +34,8 @@
    @ApiModelProperty(value = "工艺名称")
    private String name;
    private String quota;
    @ApiModelProperty(value = "父级")
    private String father;
    @ApiModelProperty(value = "设备组")
    private String deviceGroup;
@@ -56,8 +57,6 @@
    @ApiModelProperty(value = "关联 è§„æ ¼id")
    private Integer specificationsId;
    @ApiModelProperty(value = "关联 è®¾å¤‡id")
    private Integer deviceId;
}
standard-server/src/main/java/com/yuanchu/mom/service/DeviceService.java
@@ -36,6 +36,10 @@
    Integer deviceDelete(Integer deviceId);
    Integer deviceDeleteIdOrFather(Integer id, String deviceFather);
    List<Map<String, Object>> getDeviceNameByGroup(String deviceGroup);
    Integer deviceDeleteIdOrFather(Integer id, Integer type, String deviceFather);
    List<Map<String, Object>> selectDeviceIdAndName();
standard-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java
@@ -109,6 +109,12 @@
        return deviceMapper.update(new Device(), updateWrapper);
    }
    //根据分组查询设备名
    @Override
    public List<Map<String, Object>> getDeviceNameByGroup(String deviceGroup) {
        return deviceMapper.getDeviceNameByGroup(deviceGroup);
    }
    @Override
    public List<Map<String, Object>> selectDeviceIdAndName() {
        LambdaQueryWrapper<Device> wrapper = new LambdaQueryWrapper<>();
standard-server/src/main/java/com/yuanchu/mom/service/impl/TechnologyServiceImpl.java
@@ -32,7 +32,7 @@
        if (!ObjectUtils.isEmpty(technologyName)){
            wrapper.like(Technology::getName, technologyName);
        }
        wrapper.select(Technology::getId, Technology::getName, Technology::getDeviceGroup, Technology::getQuota);
        wrapper.select(Technology::getId, Technology::getName, Technology::getDeviceGroup, Technology::getFather);
        return technologyMapper.selectMaps(wrapper);
    }
}
standard-server/src/main/resources/mapper/DeviceMapper.xml
@@ -1,10 +1,10 @@
<?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.DeviceMapper">
    <select id="selectDeviceTables" resultType="map">
        SELECT d.`id`, d.`name`, d.`father`,t.`quota`
        FROM device d, technology t
        FROM device d,
             technology t
        WHERE d.`state` = 1
          AND d.`id` = t.`device_id`
    </select>
@@ -30,7 +30,8 @@
    </select>
    <select id="DevicePageList" resultType="Map">
        SELECT d.id, d.`code`, d.`name`, u.`name` keeper, DATE_FORMAT(d.`end_measure`,'%Y-%m-%d') end_measure, d.`device_status`, d.`factory`, r.`name` inspectProject, i.`name` testSample, i.`user_name`
        SELECT d.id, d.`code`, d.`name`, u.`name` keeper, DATE_FORMAT(d.`end_measure`,'%Y-%m-%d') end_measure,
        d.`device_status`, d.`factory`, r.`name` inspectProject, i.`name` testSample, i.`user_name`
        FROM (device d, `user` u)
                 LEFT JOIN raw_ins_product r
                           ON d.`id` = r.`device_id`
@@ -42,7 +43,8 @@
          AND d.`keeper` = u.`id`
          AND d.type = #{type}
        <if test="codeNameModel != null and codeNameModel != ''">
            AND (d.`name` LIKE CONCAT('%',#{codeNameModel},'%') OR d.`code` LIKE CONCAT('%',#{codeNameModel},'%') OR i.`specifications` LIKE CONCAT('%',#{codeNameModel},'%'))
            AND (d.`name` LIKE CONCAT('%',#{codeNameModel},'%') OR d.`code` LIKE CONCAT('%',#{codeNameModel},'%') OR
            i.`specifications` LIKE CONCAT('%',#{codeNameModel},'%'))
        </if>
        <if test="deviceStatue != null and deviceStatue != ''">
            AND d.`device_status` = #{deviceStatue}
@@ -54,4 +56,10 @@
            AND d.`father` = #{fatherName}
        </if>
    </select>
    <select id="getDeviceNameByGroup" resultType="java.util.Map">
        select id, name
        from mom_ocean.device
        where state=1
        and father=#{deviceGroup}
    </select>
</mapper>
system-run/pom.xml
@@ -45,6 +45,11 @@
            <artifactId>inventory-server</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.yuanchu.mom</groupId>
            <artifactId>production-server</artifactId>
            <version>1.0.0</version>
        </dependency>
        <!--druid-->
        <dependency>