zss
2023-08-15 772ce1ff99b32e0d8c5ee1135f8a9fb03eb9fc60
添加校验
已修改14个文件
已删除1个文件
200 ■■■■ 文件已修改
inspect-server/src/main/java/com/yuanchu/mom/service/impl/FinishedInspectServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InspectUnacceptedMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/controller/ConsignmentController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/controller/OrdersController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/controller/SaleController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/controller/SaleMaterialController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/pojo/Sale.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/ConsignmentDto1.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/ImportRepertoryDto.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleDto.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/service/impl/ConsignmentServiceImpl.java 78 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/service/impl/ImportRepertoryServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/service/impl/SaleServiceImpl.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/resources/mapper/RepertoryMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/resources/mapper/SaleMapper.xml 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/FinishedInspectServiceImpl.java
@@ -111,6 +111,7 @@
        }
        //如果检验合格,需要新增成品(0)库存
        if (result == 1) {
            /*新增成品(0)库存*/
            //如果入库的信息一样只有库存不一样,则在原来的库存数量上加上相应的数量
            LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
            queryWrapper.eq(Repertory::getOrderCode, finishedInspect.getOrderNumber())
inspect-server/src/main/resources/mapper/InspectUnacceptedMapper.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.InspectUnacceptedMapper">
    <select id="selectUnRawInspectsList" resultType="java.util.Map">
        select ru.id
        select ru.id,
        DATE_FORMAT(form_time, '%Y-%m-%d') '来料日期',
        reason,
        code,
@@ -32,7 +32,7 @@
        order by ru.id desc
    </select>
    <select id="selectInsList" resultType="java.util.Map">
        select ru.id
        select ru.id,
        DATE_FORMAT(fi.create_time, '%Y-%m-%d') '来料日期',
        reason,
        material_code,
inventory-server/src/main/java/com/yuanchu/mom/controller/ConsignmentController.java
@@ -2,7 +2,10 @@
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.yuanchu.mom.pojo.Sale;
import com.yuanchu.mom.pojo.dto.ConsignmentDto;
import com.yuanchu.mom.service.SaleService;
import com.yuanchu.mom.utils.JackSonUtil;
@@ -17,6 +20,7 @@
import com.yuanchu.mom.service.ConsignmentService;
import javax.annotation.Resource;
import java.sql.Wrapper;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -47,6 +51,11 @@
    })
    @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));
    }
@@ -74,6 +83,7 @@
        map.put("row", consignmentPage.getRecords());
        return Result.success(map);
    }
    @ApiOperation(value = "根据发货id删除")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "id", value = "发货id", dataTypeClass = Integer.class, required = true)
inventory-server/src/main/java/com/yuanchu/mom/controller/OrdersController.java
@@ -38,7 +38,7 @@
            @ApiImplicitParam(name = "countSize", value = "条数/页", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "orderCode", value = "订单编号", dataTypeClass = String.class),
            @ApiImplicitParam(name = "name", value = "产品名称", dataTypeClass = String.class),
            @ApiImplicitParam(name = "state", value = "编制状态(为空=全部)", dataTypeClass = Integer.class),
            @ApiImplicitParam(name = "state", value = "编制状态(为空=待编制0+已编制1)", dataTypeClass = Integer.class),
            @ApiImplicitParam(name = "time", value = "下单时间", dataTypeClass = String.class)
    })
    @GetMapping("/selectAllOrder")
inventory-server/src/main/java/com/yuanchu/mom/controller/SaleController.java
@@ -59,7 +59,7 @@
        return Result.success(map);
    }
    @ApiOperation(value = "新增销售单-->添加产品-->查询成品库存")
    @ApiOperation(value = "新增销售单-->添加产品-->查询成品库存已检验的产品")
    @PostMapping("/seleRepe")
    public Result seleRepe() {
        return Result.success(repertoryService.getSale());
inventory-server/src/main/java/com/yuanchu/mom/controller/SaleMaterialController.java
ÎļþÒÑɾ³ý
inventory-server/src/main/java/com/yuanchu/mom/pojo/Sale.java
@@ -90,7 +90,7 @@
    @ApiModelProperty(value = "状态 0:不通过;1:通过")
    private Integer type;
    @ApiModelProperty(value = "编制状态0:待编制;1已编制    é€šè¿‡å°±æ˜¯å·²ç¼–制,没有状态就是待编制")
    @ApiModelProperty(value = "编制状态0:待编制;1已编制;2:无编制    é€šè¿‡å°±æ˜¯å·²ç¼–制,不通过就是无编制")
    private Integer bianzhiState;
inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/ConsignmentDto1.java
@@ -14,7 +14,7 @@
    @JsonSerialize
    private String orderCode;
    //合同编号
    //合同编号(客户订单号)
    @JsonSerialize
    private String customerCode;
inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/ImportRepertoryDto.java
@@ -4,6 +4,7 @@
import lombok.Data;
@Data
//新增成品入库
public class ImportRepertoryDto {
    /**
     * è®¢å•编码
inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleDto.java
@@ -5,6 +5,7 @@
import com.yuanchu.mom.pojo.SaleMaterial;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;
@@ -15,42 +16,52 @@
public class SaleDto {
    //订单编号
    @NotBlank(message = "订单编号不能为空")
    @JsonSerialize
    private String orderNumber;
    //工程名称
    @NotBlank(message = "工程名称不能为空")
    @JsonSerialize
    private String name;
    //合同编号
    @NotBlank(message = "合同编号不能为空")
    @JsonSerialize
    private String code;
    //客户名称
    @NotBlank(message = "客户名称不能为空")
    @JsonSerialize
    private String proname;
    //收货地址
    @NotBlank(message = "收货地址不能为空")
    @JsonSerialize
    private String adress;
    //联系人
    @NotBlank(message = "联系人不能为空")
    @JsonSerialize
    private String username;
    //联系电话
    @NotBlank(message = "联系电话不能为空")
    @JsonSerialize
    private String phone;
    //下单人
    @JsonSerialize
    @NotBlank(message = "下单人不能为空")
    private String orderName;
    //交货日期
    @NotBlank(message = "交货日期不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date delTime;
    //产品信息
    @NotBlank(message = "产品信息不能为空")
    @JsonSerialize
    private List<SaleMaterialDto> saleMaterialList;
}
inventory-server/src/main/java/com/yuanchu/mom/service/impl/ConsignmentServiceImpl.java
@@ -21,6 +21,7 @@
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * æˆå“å‘货表(Consignment)表服务实现类
@@ -45,25 +46,22 @@
    public String addCon(String name, ConsignmentDto consignmentDto) {
        //生成一个押运单编号
        String escortCode = MyUtil.getTimeSixNumberCode("YY");
        //如果该订单已经发过货了不能再发货
        List<Consignment> consignments = consignmentMapper.selectAll();
        //如果没有发货表中没有数据也可以发货
        if (consignments.size()==0) {
        //如果发货表中没有数据也可以发货
        if (consignments.size() == 0) {
            /*新增成品发货*/
            String mes1 = addConsign(name, consignmentDto, escortCode);
            return mes1;
        } else {
            for (Consignment consignment : consignments) {
                if (consignment.getCustomerCode().equals(consignmentDto.getCustomerCode())) {
                    return "该合同订单已发过货,无法再次发货!";
                } else {
                    /*新增成品发货*/
                    String mes2 = addConsign(name, consignmentDto, escortCode);
                    return mes2;
                }
            }
            return addConsign(name, consignmentDto, escortCode);
        }
        return null;
        //获取发货表中的合同编号集合
        List<String> customerCodeList = consignments.stream().map(consignment -> {
            String customerCode = consignment.getCustomerCode();
            return customerCode;
        }).distinct().collect(Collectors.toList());
        if (customerCodeList.contains(consignmentDto.getCustomerCode())) {
            return "该合同订单已发过货,无法再次发货!";
        }
        /*新增成品发货*/
        return addConsign(name, consignmentDto, escortCode);
    }
    //查询发货记录列表
@@ -128,29 +126,31 @@
                    .eq(Repertory::getType, 0);
            Repertory repertory = repertoryMapper.selectOne(queryWrapper);
            //该成品的检验状态是已检验1才能进行发货
            if (repertory.getCheckState() == 1) {
                //该成品库存的数量大于等于发货的数量才能进行发货
                if (repertory.getNumber() >= message.getNumber()) {
                    //构造成品发货实体类
                    Consignment consig = Consignment.builder()
                            .customerCode(consignmentDto.getCustomerCode())
                            .escortCode(escortCode)
                            .orderCode(consignmentDto.getOrderCode())
                            .userName(name)
                            .checkName(consignmentDto.getCheckName())
                            .fitName(consignmentDto.getFitName())
                            .name(message.getName())
                            .specifications(message.getSpecifications())
                            .unit(message.getUnit())
                            .number(message.getNumber())
                            .code(repertory.getCode())
                            .build();
                    consignmentMapper.insert(consig);
                    /*减少对应的库存*/
                    repertory.setNumber(repertory.getNumber() - consig.getNumber());
                    repertoryMapper.updateById(repertory);
                } else return "库存不足,无法发货!";
            } else return "该产品还未检验,不能发货!";
            if (repertory.getCheckState() != 1) {
                return "该产品还未检验,不能发货!";
            }
            //该成品库存的数量大于等于发货的数量才能进行发货
            if (repertory.getNumber() < message.getNumber()) {
                return "库存不足,无法发货!";
            }
            //构造成品发货实体类
            Consignment consig = Consignment.builder()
                    .customerCode(consignmentDto.getCustomerCode())
                    .escortCode(escortCode)
                    .orderCode(consignmentDto.getOrderCode())
                    .userName(name)
                    .checkName(consignmentDto.getCheckName())
                    .fitName(consignmentDto.getFitName())
                    .name(message.getName())
                    .specifications(message.getSpecifications())
                    .unit(message.getUnit())
                    .number(message.getNumber())
                    .code(repertory.getCode())
                    .build();
            consignmentMapper.insert(consig);
            /*减少对应的库存*/
            repertory.setNumber(repertory.getNumber() - consig.getNumber());
            repertoryMapper.updateById(repertory);
        }
        /*发货成功之后需要新增一张回单*/
        Receipt receipt = new Receipt();
inventory-server/src/main/java/com/yuanchu/mom/service/impl/ImportRepertoryServiceImpl.java
@@ -42,7 +42,7 @@
        BeanUtils.copyProperties(importRepertoryDto, importRepertory);
        importRepertory.setUserName(name);
        importRepertoryMapper.insert(importRepertory);
        //新增成品库存
        /*新增成品库存(未检验)*/
        //如果入库的信息一样只有库存不一样,则在原来的库存数量上加上相应的数量
        LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Repertory::getOrderCode, importRepertoryDto.getOrderCode())
inventory-server/src/main/java/com/yuanchu/mom/service/impl/SaleServiceImpl.java
@@ -43,21 +43,21 @@
    //查询销售单列表
    @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);
        return saleMapper.selectSaleList(page, orderNumber, name, type, delTime);
    }
    //新增销售单
    @Override
    public String addSale(String saleman,SaleDto saleDto) {
    public String addSale(String saleman, SaleDto saleDto) {
        Sale sale = new Sale();
        BeanUtils.copyProperties(saleDto,sale);
        BeanUtils.copyProperties(saleDto, sale);
        sale.setSaleman(saleman);
        saleMapper.insert(sale);
        //添加销售产品单
        List<SaleMaterialDto> saleMaterialDtoList = saleDto.getSaleMaterialList();
        for (SaleMaterialDto saleMaterialDto : saleMaterialDtoList) {
            SaleMaterial saleMaterial = new SaleMaterial();
            BeanUtils.copyProperties(saleMaterialDto,saleMaterial);
            BeanUtils.copyProperties(saleMaterialDto, saleMaterial);
            saleMaterial.setSaleId(sale.getId());
            saleMaterialMapper.insert(saleMaterial);
        }
@@ -69,7 +69,7 @@
    public SaleVo selectSaleDatil(Integer id) {
        SaleVo saleVo = new SaleVo();
        Sale sale = saleMapper.selectById(id);
        BeanUtils.copyProperties(sale,saleVo);
        BeanUtils.copyProperties(sale, saleVo);
        List<SaleMaterial> saleMaterialList = saleMaterialMapper.selectSaleDatil(id);//销售单id
        List<SaleMaterialDto> saleMaterialDtoList = saleMaterialList.stream().map(saleMaterial -> {
            SaleMaterialDto saleMaterialDto = new SaleMaterialDto();
@@ -113,14 +113,14 @@
    public void updateSaleById(String saleman, Integer id, SaleVo saleVo) {
        Sale sale = saleMapper.selectById(id);
        sale.setSaleman(saleman);
        BeanUtils.copyProperties(saleVo,sale);
        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);
                BeanUtils.copyProperties(saleMaterialDto, saleMaterial);
                //更新销售产品单
                saleMaterialMapper.updateById(saleMaterial);
            }
@@ -129,17 +129,17 @@
    //审核
    @Override
    public void check(String checkname,Integer id,Integer type) {
    public void check(String checkname, Integer id, Integer type) {
        Sale sale = saleMapper.selectById(id);
        sale.setType(type);
        sale.setCheckname(checkname);
        sale.setCheckTime(new Date());
        if (type==1) {
        if (type == 1) {
            //如果审核通过
            sale.setBianzhiState(1);
        }else {
        } else {
            //如果审核不通过
            sale.setBianzhiState(null);
            sale.setBianzhiState(2);//无编制
        }
        saleMapper.updateById(sale);
    }
@@ -147,8 +147,14 @@
    //根据订单号查询销售信息
    @Override
    public ConsignmentDto1 selSale(String orderNumber) {
        Sale sale = saleMapper.selectOne(Wrappers.<Sale>query().eq("order_number", orderNumber));
        List<SaleMaterial> saleMaterials = saleMaterialMapper.selectList(Wrappers.<SaleMaterial>query().eq("sale_id", sale.getId()));
        Sale sale = saleMapper.selectOne(Wrappers.<Sale>query()
                .eq("order_number", orderNumber)
                .eq("type", 1)
                .eq("state", 1));
        //查询销售单中产品信息
        List<SaleMaterial> saleMaterials = saleMaterialMapper.selectList(Wrappers.<SaleMaterial>query()
                .eq("sale_id", sale.getId())
                .eq("state", 1));
        List<ConsignmentDto2> dto2List = saleMaterials.stream().map(saleMaterial -> {
            ConsignmentDto2 consignmentDto2 = new ConsignmentDto2();
            BeanUtils.copyProperties(saleMaterial, consignmentDto2);
inventory-server/src/main/resources/mapper/RepertoryMapper.xml
@@ -22,10 +22,10 @@
            <if test="time!=null and time!=''">
                and create_time=#{time}
            </if>
            <if test="type!=null and type!=''">
            <if test="type!=null ">
                and type=#{type}
            </if>
            <if test="checkState!=null and checkState!=''">
            <if test="checkState!=null ">
                and check_state=#{checkState}
            </if>
            order by id desc
@@ -36,5 +36,7 @@
        select id, name, specifications, unit
        from mom_ocean.repertory
        where state = 1
          and check_state = 1
          and type = 0
    </select>
</mapper>
inventory-server/src/main/resources/mapper/SaleMapper.xml
@@ -17,7 +17,7 @@
        <if test="name!=null and name!=''">
            and name LIKE CONCAT('%',#{name},'%')
        </if>
        <if test="type!=null and type!=''">
        <if test="type!=null ">
            and type=#{type}
        </if>
        <if test="delTime!=null and delTime!=''">
@@ -29,26 +29,27 @@
    <!--查询订单BOM列表-->
    <select id="selectAllOrder" resultType="java.util.Map">
        select s.id ,
            order_number,
            saleman,
            proname,
            sm.name,
            specifications,
            unit,
            number,
            DATE_FORMAT(s.create_time, '%Y-%m-%d') '下单日期',
            DATE_FORMAT(delTime, '%Y-%m-%d') '交货日期',
            bianzhi_state
            from mom_ocean.sale s ,mom_ocean.sale_material sm
        order_number,
        saleman,
        proname,
        sm.name,
        specifications,
        unit,
        number,
        DATE_FORMAT(s.create_time, '%Y-%m-%d') '下单日期',
        DATE_FORMAT(delTime, '%Y-%m-%d') '交货日期',
        bianzhi_state
        from mom_ocean.sale s ,mom_ocean.sale_material sm
        where s.id=sm.sale_id
        and s.state=1
        and bianzhi_state!=2
        <if test="orderCode!=null and orderCode!=''">
            and order_number like concat('%',#{orderCode},'%')
        </if>
        <if test="name!=null and name!=''">
            and sm.name like concat('%',#{name},'%')
        </if>
        <if test="state!=null and state!=''">
        <if test="state!=null ">
            and bianzhi_state=#{state}
        </if>
        <if test="time!=null and time!=''">