zss
2023-08-17 35091697a5421218d31e7e2d2c58b6a5385cc663
改动
已修改35个文件
328 ■■■■ 文件已修改
inspect-server/src/main/java/com/yuanchu/mom/controller/InspectUnacceptedController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/InspectUnacceptedMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/InspectUnaccepted.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/InspectUnacceptedService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/FinishedInspectServiceImpl.java 74 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InspectUnacceptedServiceImpl.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInspectServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InspectUnacceptedMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/controller/OrdersController.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/controller/RepertoryController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/controller/SaleController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/mapper/RepertoryMapper.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/mapper/SaleMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/pojo/Consignment.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/pojo/ImportRepertory.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/pojo/Repertory.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/pojo/Sale.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/pojo/SaleMaterial.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/ConsignmentDto.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/ConsignmentDto2.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/ImportRepertoryDto.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleMaterialDto.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/service/OrdersService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/service/RepertoryService.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/service/impl/ConsignmentServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/service/impl/ImportRepertoryServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/service/impl/OrdersServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/service/impl/RepertoryServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/java/com/yuanchu/mom/service/impl/SaleServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/resources/mapper/ConsignmentMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/resources/mapper/ImportRepertoryMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/resources/mapper/RepertoryMapper.xml 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inventory-server/src/main/resources/mapper/SaleMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
system-run/src/main/resources/application-dev.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/InspectUnacceptedController.java
@@ -30,17 +30,16 @@
    private InspectUnacceptedService inspectUnacceptedService;
    @ApiOperation(value = "查询原材料不合格品检验单列表")
    @ApiOperation(value = "查询成品不合格品检验单列表")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "pageSize",value = "页数",dataTypeClass  = Integer.class,required = true),
            @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 = "type",value = "类型(为空=原材料2)",dataTypeClass  = Integer.class)
            @ApiImplicitParam(name = "dealState",value = "处理状态(为空=全部)",dataTypeClass  = Integer.class)
    })
    @GetMapping("/selectUnRawInspectsList")
    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);
    public Result selectUnRawInspectsList(int pageSize, int countSize, String formTime, Integer dealState){
        IPage<Map<String, Object>> inspectionPage = inspectUnacceptedService.selectUnRawInspectsList(new Page<Object>(pageSize, countSize), formTime,dealState);
        Map<String, Object> map = new HashMap<>();
        map.put("total", inspectionPage.getTotal());
        map.put("row", inspectionPage.getRecords());
inspect-server/src/main/java/com/yuanchu/mom/mapper/InspectUnacceptedMapper.java
@@ -14,10 +14,8 @@
 */
public interface InspectUnacceptedMapper extends BaseMapper<InspectUnaccepted> {
    //查询原材料不合格品检验单列表
    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,  Integer type);
    //查询成品检验中不合格品检验单列表
    IPage<Map<String, Object>> selectInsList(Page<Object> page, String formTime, Integer dealState);
}
inspect-server/src/main/java/com/yuanchu/mom/pojo/InspectUnaccepted.java
@@ -58,9 +58,7 @@
    @TableLogic(value = "1", delval = "0")
    private Integer state;
    /**
     * ${column.comment}
     **/
    @TableField(fill = FieldFill.INSERT)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@@ -76,10 +74,6 @@
     **/
    private Integer rawInspectId;
    /**
     * 0:成品;1:过程;2:原材料
     **/
    private Integer type;
    /**
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, Integer type);
    IPage<Map<String, Object>> selectUnRawInspectsList(Page<Object> page, String formTime, Integer dealState);
}
inspect-server/src/main/java/com/yuanchu/mom/service/impl/FinishedInspectServiceImpl.java
@@ -75,26 +75,31 @@
        updateWrapper.set(FinishedInspect::getResult, result);
        finishedInspectMapper.update(new FinishedInspect(), updateWrapper);
        FinishedInspect finishedInspect = finishedInspectMapper.selectById(finishedInspectId);
        //如果检验结论为不合格,则需要新增不合格检验单,还需要新增半成品库存
        /*检验结论为不合格*/
        if (result == 0) {
            /*新增不合格检验单*/
            //如果是成品的结论为不合格,需要新增成品不合格检验单
            if (finishedInspect.getType() == 0) {
                /*新增成品不合格检验单*/
            InspectUnaccepted inspectUnaccepted = InspectUnaccepted.builder()
                    .reason(finishedInspect.getProjectName() + "不合格")  //暂且定义为工程名称不合格
                    .rawInspectId(finishedInspectId)
                    .type(finishedInspect.getType())
                    .build();
            inspectUnacceptedMapper.insert(inspectUnaccepted);
            }
            //如果是过程检验的结论为不合格,需要新增半成品库存且检验结果为不合格
            if (finishedInspect.getType() == 1) {
            /*新增半成品(1)库存*/
            //如果入库的信息一样只有库存不一样,则在原来的库存数量上加上相应的数量
            LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
            queryWrapper.eq(Repertory::getOrderCode, finishedInspect.getOrderNumber())
                    .eq(Repertory::getCode, finishedInspect.getMaterialCode())
                        .eq(Repertory::getQualityTraceability, finishedInspect.getQualityTraceability())
                    .eq(Repertory::getName, finishedInspect.getMaterial())
                    .eq(Repertory::getSpecifications, finishedInspect.getSpecificationsModel())
                    .eq(Repertory::getUnit, finishedInspect.getUnit())
                    .eq(Repertory::getType, 1);
                        .eq(Repertory::getType, 1)
                        .eq(Repertory::getCheckResult, 0);
            Repertory rep = repertoryMapper.selectOne(queryWrapper);
            if (rep != null && rep.getCheckState()==1) {
                if (rep != null) {
                rep.setNumber(rep.getNumber() + finishedInspect.getQuantity());
                rep.setUserName(username);
                repertoryMapper.updateById(rep);
@@ -102,24 +107,27 @@
                //如果除了库存别的信息有任何一个不一样,则新增一条半成品库存
                Repertory repertory = Repertory.builder()
                        .orderCode(finishedInspect.getOrderNumber())
                        .code(finishedInspect.getMaterialCode())
                            .qualityTraceability(finishedInspect.getQualityTraceability())
                        .name(finishedInspect.getMaterial())
                        .specifications(finishedInspect.getSpecificationsModel())
                        .unit(finishedInspect.getUnit())
                        .number(finishedInspect.getQuantity())
                        .userName(username)
                        .type(1)
                        .checkState(1)
                            .checkResult(0)//检验结果为不合格
                        .build();
                repertoryMapper.insert(repertory);
            }
        }
        //如果检验合格,需要新增成品(0)库存和入库记录
        }
        /*检验结论为合格*/
        if (result == 1) {
            //如果是成品检验合格,,需要新增成品(0)库存和入库记录
            if (finishedInspect.getType() == 0) {
            /*新增成品入库记录*/
            ImportRepertory importRepertory = ImportRepertory.builder()
                    .orderCode(finishedInspect.getOrderNumber())
                    .code(finishedInspect.getMaterialCode())
                        .qualityTraceability(finishedInspect.getQualityTraceability())
                    .name(finishedInspect.getMaterial())
                    .specifications(finishedInspect.getSpecificationsModel())
                    .unit(finishedInspect.getUnit())
@@ -131,13 +139,14 @@
            //如果入库的信息一样只有库存不一样,则在原来的库存数量上加上相应的数量
            LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
            queryWrapper.eq(Repertory::getOrderCode, finishedInspect.getOrderNumber())
                    .eq(Repertory::getCode, finishedInspect.getMaterialCode())
                        .eq(Repertory::getQualityTraceability, finishedInspect.getQualityTraceability())
                    .eq(Repertory::getName, finishedInspect.getMaterial())
                    .eq(Repertory::getSpecifications, finishedInspect.getSpecificationsModel())
                    .eq(Repertory::getUnit, finishedInspect.getUnit())
                    .eq(Repertory::getType, 0);
                        .eq(Repertory::getType, 0)
                        .eq(Repertory::getCheckResult, 1);
            Repertory rep = repertoryMapper.selectOne(queryWrapper);
            if (rep != null && rep.getCheckState()==1) {
                if (rep != null) {
                rep.setNumber(rep.getNumber() + finishedInspect.getQuantity());
                rep.setUserName(username);
                repertoryMapper.updateById(rep);
@@ -145,18 +154,53 @@
                //如果除了库存别的信息有任何一个不一样,则新增一条成品库存
                Repertory repertory = Repertory.builder()
                        .orderCode(finishedInspect.getOrderNumber())
                        .code(finishedInspect.getMaterialCode())
                            .qualityTraceability(finishedInspect.getQualityTraceability())
                        .name(finishedInspect.getMaterial())
                        .specifications(finishedInspect.getSpecificationsModel())
                        .unit(finishedInspect.getUnit())
                        .number(finishedInspect.getQuantity())
                        .userName(username)
                        .type(0)
                        .checkState(1)
                            .checkResult(1)   //库存检验结果为合格
                        .build();
                repertoryMapper.insert(repertory);
            }
        }
            //如果是过程检验合格,需要新增半成品(1)库存,检验结果为合格1
            if (finishedInspect.getType()==1) {
                /*新增半成品(1)库存*/
                //如果入库的信息一样只有库存不一样,则在原来的库存数量上加上相应的数量
                LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
                queryWrapper.eq(Repertory::getOrderCode, finishedInspect.getOrderNumber())
                        .eq(Repertory::getQualityTraceability, finishedInspect.getQualityTraceability())
                        .eq(Repertory::getName, finishedInspect.getMaterial())
                        .eq(Repertory::getSpecifications, finishedInspect.getSpecificationsModel())
                        .eq(Repertory::getUnit, finishedInspect.getUnit())
                        .eq(Repertory::getType, 1)
                        .eq(Repertory::getCheckResult, 1);
                Repertory rep = repertoryMapper.selectOne(queryWrapper);
                if (rep != null) {
                    rep.setNumber(rep.getNumber() + finishedInspect.getQuantity());
                    rep.setUserName(username);
                    repertoryMapper.updateById(rep);
                } else {
                    //如果除了库存别的信息有任何一个不一样,则新增一条半成品库存
                    Repertory repertory = Repertory.builder()
                            .orderCode(finishedInspect.getOrderNumber())
                            .qualityTraceability(finishedInspect.getQualityTraceability())
                            .name(finishedInspect.getMaterial())
                            .specifications(finishedInspect.getSpecificationsModel())
                            .unit(finishedInspect.getUnit())
                            .number(finishedInspect.getQuantity())
                            .userName(username)
                            .type(1)
                            .checkResult(1)//检验结果为合格
                            .build();
                    repertoryMapper.insert(repertory);
                }
            }
        }
        return 1;
    }
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InspectUnacceptedServiceImpl.java
@@ -25,25 +25,10 @@
    @Resource
    InspectUnacceptedMapper inspectUnacceptedMapper;
    //查询原材料不合格品检验单列表
    //查询成品不合格品检验单列表
    @Override
    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,2);
            case 1:
                //1是查询过程不合格品
                return inspectUnacceptedMapper.selectInsList(page,formTime,dealState,1);
            case 0:
                //0是查询成品不合格品
                return inspectUnacceptedMapper.selectInsList(page,formTime,dealState,0);
            default:
                return null;
        }
    public IPage<Map<String, Object>> selectUnRawInspectsList(Page<Object> page, String formTime, Integer dealState) {
        return inspectUnacceptedMapper.selectInsList(page, formTime, dealState);
    }
}
inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInspectServiceImpl.java
@@ -110,7 +110,9 @@
                .judgeState(rawInspectVo.getJudgeState())
                .build();
        rawInspectMapper.updateById(rawInspect);
        //如果检验结论为不合格,则需要新增不合格检验单
        //不管检验合格与不合格,都要新增到原材料库存
       /* //如果检验结论为不合格,则需要新增不合格检验单
        if (rawInspectVo.getJudgeState() == 0) {
            InspectUnaccepted rawUnaccepted = InspectUnaccepted.builder()
                    .reason(rawInspectVo.getName() + "不合格")  //暂且定义为原材料不合格
@@ -118,7 +120,7 @@
                    .type(2)        //类型为原材料
                    .build();
            inspectUnacceptedMapper.insert(rawUnaccepted);
        }
        }*/
        return true;
    }
inspect-server/src/main/resources/mapper/InspectUnacceptedMapper.xml
@@ -24,9 +24,6 @@
        <if test="formTime!=null and formTime!=''">
            and form_time=#{formTime}
        </if>
        <if test="type!=null and type!=''">
            and ru.type=#{type}
        </if>
        and ru.state=1
        </where>
        order by ru.id desc
@@ -56,9 +53,6 @@
        </if>
        <if test="formTime!=null and formTime!=''">
            and fi.create_time=#{formTime}
        </if>
        <if test="type!=null and type!=''">
            and ru.type=#{type}
        </if>
        and ru.state=1
        order by ru.id desc
inventory-server/src/main/java/com/yuanchu/mom/controller/OrdersController.java
@@ -32,23 +32,34 @@
    @Resource
    OrdersService ordersService;
    @ApiOperation("查询所有订单列表")
    //订单BOM是销售单通过之后的
    @ApiOperation("查询所有订单BOM列表")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "pageSize", value = "页数", dataTypeClass = Integer.class, required = true),
            @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 = "编制状态(为空=待编制0+已编制1)", dataTypeClass = Integer.class),
            @ApiImplicitParam(name = "type", value = "编制状态(为空=全部)", dataTypeClass = Integer.class),
            @ApiImplicitParam(name = "time", value = "下单时间", dataTypeClass = String.class)
    })
    @GetMapping("/selectAllOrder")
    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);
    public Result selectAllOrder(int pageSize, int countSize, String orderCode, String name, Integer type ,String time) {
        IPage<Map<String, Object>> inspectionPage = ordersService.selectAllOrder(new Page<Object>(pageSize, countSize), orderCode, name, type, time);
        Map<String, Object> map = new HashMap<>();
        map.put("total", inspectionPage.getTotal());
        map.put("row", inspectionPage.getRecords());
        return Result.success(map);
    }
    @ApiOperation("编制")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "id", value = "销售产品id", dataTypeClass = Integer.class,required = true)
    })
    @PostMapping("/compile")
    public Result compile(Integer id) {
        //未完待续......
        return Result.success();
    }
}
inventory-server/src/main/java/com/yuanchu/mom/controller/RepertoryController.java
@@ -35,11 +35,11 @@
            @ApiImplicitParam(name = "specifications", value = "产品型号", dataTypeClass = String.class),
            @ApiImplicitParam(name = "time", value = "入库日期", dataTypeClass = String.class),
            @ApiImplicitParam(name = "type", value = "类型(为空=全部)", dataTypeClass = Integer.class),
            @ApiImplicitParam(name = "checkState", value = "检验状态(为空=全部)", dataTypeClass = Integer.class)
            @ApiImplicitParam(name = "result", value = "检验结果(为空=全部)", dataTypeClass = Integer.class)
    })
    @GetMapping("/selectAllRepertory")
    public Result selectAllRepertory(int pageSize, int countSize, String name, String specifications, String time, Integer type,Integer checkState) {
        IPage<Map<String, Object>> repertoryPage = repertoryService.selectAllRepertory(new Page<Object>(pageSize, countSize), name, specifications, time, type,checkState);
    public Result selectAllRepertory(int pageSize, int countSize, String name, String specifications, String time, Integer type,Integer result) {
        IPage<Map<String, Object>> repertoryPage = repertoryService.selectAllRepertory(new Page<Object>(pageSize, countSize), name, specifications, time, type,result);
        Map<String, Object> map = new HashMap<>();
        map.put("total", repertoryPage.getTotal());
        map.put("row", repertoryPage.getRecords());
inventory-server/src/main/java/com/yuanchu/mom/controller/SaleController.java
@@ -60,12 +60,6 @@
        return Result.success(map);
    }
    @ApiOperation(value = "新增销售单-->添加产品-->查询成品库存已检验的产品")
    @PostMapping("/seleRepe")
    public Result seleRepe() {
        return Result.success(repertoryService.getSale());
    }
    @ApiOperation(value = "新增销售单")
    @PostMapping("/addSale")
    public Result addSale(@RequestHeader("token") String token,@Validated @RequestBody SaleDto saleDto) throws Exception {
inventory-server/src/main/java/com/yuanchu/mom/mapper/RepertoryMapper.java
@@ -18,10 +18,7 @@
public interface RepertoryMapper extends BaseMapper<Repertory> {
    //查询所有库存列表
    IPage<Map<String, Object>> selectAllRepertory(Page<Object> page, String name, String specifications, String time, Integer type,Integer checkState);
    //查询库存三个字段给添加销售单
    List<Map<String, Object>> getSale();
    IPage<Map<String, Object>> selectAllRepertory(Page<Object> page, String name, String specifications, String time, Integer type,Integer result);
}
inventory-server/src/main/java/com/yuanchu/mom/mapper/SaleMapper.java
@@ -21,5 +21,5 @@
    IPage<Map<String, Object>> selectSaleList(Page<Object> page, String orderNumber, String name, Integer type, String delTime);
    //查询订单bom列表
    IPage<Map<String, Object>> selectAllOrder(Page<Object> page, String orderCode, String name, Integer state, String time);
    IPage<Map<String, Object>> selectAllOrder(Page<Object> page, String orderCode, String name, Integer type, String time);
}
inventory-server/src/main/java/com/yuanchu/mom/pojo/Consignment.java
@@ -48,9 +48,9 @@
    private String orderCode;
    /**
     * 材料编码
     * 质量追溯号
     **/
    private String code;
    private String qualityTraceability;
    /**
     * 材料名称
inventory-server/src/main/java/com/yuanchu/mom/pojo/ImportRepertory.java
@@ -38,9 +38,9 @@
    private String orderCode;
    /**
     * 材料编码
     * 质量追溯号
     **/
    private String code;
    private String qualityTraceability;
    /**
     * 材料名称
inventory-server/src/main/java/com/yuanchu/mom/pojo/Repertory.java
@@ -38,9 +38,9 @@
    private String orderCode;
    /**
     * 产品编码
     * 质量追溯号
     **/
    private String code;
    private String qualityTraceability;
    /**
     * 产品名称
@@ -59,7 +59,7 @@
    private String unit;
    /**
     * 数量
     * 实际数量
     **/
    private Integer number;
@@ -80,9 +80,6 @@
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createTime;
    /**
     * ${column.comment}
     **/
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@@ -99,8 +96,9 @@
    private Integer type;
    /**
     *检验状态0:未检验;1:已检验
     * 检验结果0:不合格;1:合格(成品库存该字段为空)
     **/
    private Integer checkState;
    private Integer checkResult;
}
inventory-server/src/main/java/com/yuanchu/mom/pojo/Sale.java
@@ -90,8 +90,6 @@
    @ApiModelProperty(value = "状态 0:不通过;1:通过")
    private Integer type;
    @ApiModelProperty(value = "编制状态0:待编制;1已编制;2:无编制    通过就是已编制,不通过就是无编制")
    private Integer bianzhiState;
}
inventory-server/src/main/java/com/yuanchu/mom/pojo/SaleMaterial.java
@@ -64,5 +64,8 @@
    @ApiModelProperty(value = "销售单id")
    private Integer saleId;
    @ApiModelProperty(value = "编制状态0:待编制;1已编制;")
    private Integer type;
}
inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/ConsignmentDto.java
@@ -48,7 +48,6 @@
    private String phone ;
    //产品信息
    @NotBlank(message = "产品信息不能为空")
    @JsonSerialize
    private List<ConsignmentDto2> messages;
inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/ConsignmentDto2.java
@@ -4,23 +4,29 @@
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
@Data
@NoArgsConstructor
public class ConsignmentDto2 {
    //产品信息
    @NotBlank(message = "产品信息不能为空")
    @JsonSerialize
    private String name;
    //规格型号
    @NotBlank(message = "规格型号不能为空")
    @JsonSerialize
    private String specifications;
    //单位
    @NotBlank(message = "单位不能为空")
    @JsonSerialize
    private String unit;
    //发货数量
    @NotBlank(message = "发货数量不能为空")
    @JsonSerialize
    private Integer number;
}
inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/ImportRepertoryDto.java
@@ -16,11 +16,11 @@
    private String orderCode;
    /**
     * 材料编码
     * 质量追溯号
     **/
    @NotBlank(message = "材料编码不能为空")
    @NotBlank(message = "质量追溯号不能为空")
    @JsonSerialize
    private String code;
    private String qualityTraceability;
    /**
     * 材料名称
inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleDto.java
@@ -6,6 +6,7 @@
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;
@@ -56,12 +57,11 @@
    private String orderName;
    //交货日期
    @NotBlank(message = "交货日期不能为空")
    @NotNull(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/pojo/dto/SaleMaterialDto.java
@@ -3,28 +3,35 @@
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
@JsonSerialize
//新增产品信息参数
public class SaleMaterialDto {
    //产品名称
    @NotBlank(message = "产品名称不能为空")
    @JsonSerialize
    private String name;
    //规格型号
    @NotBlank(message = "规格型号不能为空")
    @JsonSerialize
    private String specifications;
    //单位
    @NotBlank(message = "单位不能为空")
    @JsonSerialize
    private String unit;
    //数量
    @NotBlank(message = "数量不能为空")
    @JsonSerialize
    private Integer number;
    //单价
    @NotBlank(message = "单价不能为空")
    @JsonSerialize
    private String price;
}
inventory-server/src/main/java/com/yuanchu/mom/service/OrdersService.java
@@ -19,7 +19,7 @@
     * @param
     * @return
     */
    IPage<Map<String, Object>> selectAllOrder(Page<Object> page, String orderCode, String name, Integer state , String time);
    IPage<Map<String, Object>> selectAllOrder(Page<Object> page, String orderCode, String name, Integer type , String time);
}
inventory-server/src/main/java/com/yuanchu/mom/service/RepertoryService.java
@@ -25,12 +25,7 @@
     * @param type
     * @return
     */
    IPage<Map<String, Object>> selectAllRepertory(Page<Object> page, String name, String specifications, String time, Integer type,Integer checkState);
    IPage<Map<String, Object>> selectAllRepertory(Page<Object> page, String name, String specifications, String time, Integer type,Integer result);
    /**
     * 查询库存三个字段给添加销售单
     * @return
     */
    List<Map<String,Object>> getSale();
}
inventory-server/src/main/java/com/yuanchu/mom/service/impl/ConsignmentServiceImpl.java
@@ -79,12 +79,11 @@
        consignmentMapper.updateById(consignment);
        //库存也要新增
        LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Repertory::getCode, consignment.getCode())
        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) //成品发货
                .eq(Repertory::getCheckState, 1); //只有已检验才能发货
                .eq(Repertory::getType, 0); //成品发货
        Repertory repertory = repertoryMapper.selectOne(queryWrapper);
        repertory.setNumber(repertory.getNumber() + consignment.getNumber());
        repertoryMapper.updateById(repertory);
@@ -100,12 +99,11 @@
            consignmentMapper.updateById(consignment);
            //库存新增
            LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
            queryWrapper.eq(Repertory::getCode, consignment.getCode())
            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) //成品发货
                    .eq(Repertory::getCheckState, 1); //只有已检验才能发货
                    .eq(Repertory::getType, 0); //成品发货
            Repertory repertory = repertoryMapper.selectOne(queryWrapper);
            repertory.setNumber(repertory.getNumber() + consignment.getNumber());
            repertoryMapper.updateById(repertory);
@@ -125,10 +123,6 @@
                    .eq(Repertory::getUnit, message.getUnit())
                    .eq(Repertory::getType, 0);
            Repertory repertory = repertoryMapper.selectOne(queryWrapper);
            //该成品的检验状态是已检验1才能进行发货
            if (repertory.getCheckState() != 1) {
                return "该产品还未检验,不能发货!";
            }
            //该成品库存的数量大于等于发货的数量才能进行发货
            if (repertory.getNumber() < message.getNumber()) {
                return "库存不足,无法发货!";
@@ -145,7 +139,7 @@
                    .specifications(message.getSpecifications())
                    .unit(message.getUnit())
                    .number(message.getNumber())
                    .code(repertory.getCode())
                    .qualityTraceability(repertory.getQualityTraceability())
                    .build();
            consignmentMapper.insert(consig);
            /*减少对应的库存*/
inventory-server/src/main/java/com/yuanchu/mom/service/impl/ImportRepertoryServiceImpl.java
@@ -46,13 +46,13 @@
        //如果入库的信息一样只有库存不一样,则在原来的库存数量上加上相应的数量
        LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Repertory::getOrderCode, importRepertoryDto.getOrderCode())
                .eq(Repertory::getCode, importRepertoryDto.getCode())
                .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.getCheckState() == 0) {
        if (rep != null ) {
            rep.setNumber(rep.getNumber() + importRepertoryDto.getNumber());
            rep.setUserName(name);
            repertoryMapper.updateById(rep);
@@ -62,7 +62,6 @@
            BeanUtils.copyProperties(importRepertoryDto, repertory);
            repertory.setUserName(name);
            repertory.setType(0);
            repertory.setCheckState(0);
            repertoryMapper.insert(repertory);
        }
    }
@@ -83,12 +82,11 @@
        //库存也要减少
        LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Repertory::getOrderCode, importRepertory.getOrderCode())
                .eq(Repertory::getCode, importRepertory.getCode())
                .eq(Repertory::getQualityTraceability, importRepertory.getQualityTraceability())
                .eq(Repertory::getName, importRepertory.getName())
                .eq(Repertory::getSpecifications, importRepertory.getSpecifications())
                .eq(Repertory::getUnit, importRepertory.getUnit())
                .eq(Repertory::getType, 0)
                .eq(Repertory::getCheckState, 0);
                .eq(Repertory::getType, 0);
        Repertory rep = repertoryMapper.selectOne(queryWrapper);
        rep.setNumber(rep.getNumber() - importRepertory.getNumber());
        repertoryMapper.updateById(rep);
@@ -105,12 +103,11 @@
            //减少库存
            LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
            queryWrapper.eq(Repertory::getOrderCode, importRepertory.getOrderCode())
                    .eq(Repertory::getCode, importRepertory.getCode())
                    .eq(Repertory::getQualityTraceability, importRepertory.getQualityTraceability())
                    .eq(Repertory::getName, importRepertory.getName())
                    .eq(Repertory::getSpecifications, importRepertory.getSpecifications())
                    .eq(Repertory::getUnit, importRepertory.getUnit())
                    .eq(Repertory::getType, 0)
                    .eq(Repertory::getCheckState, 0);
                    .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
@@ -24,8 +24,8 @@
    //查询所有订单列表
    @Override
    public IPage<Map<String, Object>> selectAllOrder(Page<Object> page, String orderCode, String name, Integer state , String time) {
        return saleMapper.selectAllOrder(page, orderCode,name,state, time);
    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);
    }
}
inventory-server/src/main/java/com/yuanchu/mom/service/impl/RepertoryServiceImpl.java
@@ -26,14 +26,8 @@
    //查询所有库存列表
    @Override
    public IPage<Map<String, Object>> selectAllRepertory(Page<Object> page, String name, String specifications, String time, Integer type,Integer checkState) {
        return repertoryMapper.selectAllRepertory(page,name,specifications,time,type,checkState);
    }
    //查询库存三个字段给添加销售单
    @Override
    public List<Map<String, Object>> getSale() {
        return repertoryMapper.getSale();
    public IPage<Map<String, Object>> selectAllRepertory(Page<Object> page, String name, String specifications, String time, Integer type,Integer result) {
        return repertoryMapper.selectAllRepertory(page,name,specifications,time,type,result);
    }
}
inventory-server/src/main/java/com/yuanchu/mom/service/impl/SaleServiceImpl.java
@@ -134,14 +134,17 @@
        sale.setType(type);
        sale.setCheckname(checkname);
        sale.setCheckTime(new Date());
        if (type == 1) {
            //如果审核通过
            sale.setBianzhiState(1);
        } else {
            //如果审核不通过
            sale.setBianzhiState(2);//无编制
        }
        saleMapper.updateById(sale);
        //审核通过的销售单将销售单中的产品的状态改为待编制0
        List<SaleMaterial> saleMaterials = saleMaterialMapper.selectList(Wrappers.<SaleMaterial>query()
                .eq("sale_id", id)
                .eq("state", 1));
        if (type == 1) {
            for (SaleMaterial saleMaterial : saleMaterials) {
                saleMaterial.setType(0);
                saleMaterialMapper.updateById(saleMaterial);
            }
        }
    }
    //根据订单号查询销售信息
inventory-server/src/main/resources/mapper/ConsignmentMapper.xml
@@ -10,7 +10,7 @@
        select id,
               name,
               specifications,
               code,
               quality_traceability,
               customer_code,
               unit,
               number,
inventory-server/src/main/resources/mapper/ImportRepertoryMapper.xml
@@ -4,7 +4,7 @@
    <select id="selectAllImpRep" resultType="java.util.Map">
        select id,
        order_code,
        code,
        quality_traceability,
        name,
        specifications,
        unit,
inventory-server/src/main/resources/mapper/RepertoryMapper.xml
@@ -5,8 +5,8 @@
        select id,
        name,
        specifications,
        code,
        check_state,
        quality_traceability,
        check_result,
        user_name,
        DATE_FORMAT(create_time, '%Y-%m-%d') '入库日期',
        note
@@ -25,18 +25,10 @@
            <if test="type!=null ">
                and type=#{type}
            </if>
            <if test="checkState!=null ">
                and check_state=#{checkState}
            <if test="result!=null ">
                and check_result=#{result}
            </if>
            order by id desc
        </where>
    </select>
    <!--查询库存三个字段给添加销售单-->
    <select id="getSale" resultType="java.util.Map">
        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
@@ -28,7 +28,7 @@
    <!--查询订单BOM列表-->
    <select id="selectAllOrder" resultType="java.util.Map">
        select s.id ,
        select sm.id,
        order_number,
        saleman,
        proname,
@@ -38,22 +38,24 @@
        number,
        DATE_FORMAT(s.create_time, '%Y-%m-%d') '下单日期',
        DATE_FORMAT(delTime, '%Y-%m-%d') '交货日期',
        bianzhi_state
        sm.type
        from mom_ocean.sale s ,mom_ocean.sale_material sm
        where s.id=sm.sale_id
        and s.state=1
        and bianzhi_state!=2
        and s.type=1
        <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 bianzhi_state=#{state}
        <if test="type!=null ">
            and sm.type=#{type}
        </if>
        <if test="time!=null and time!=''">
            and s.create_time=#{time}
        </if>
        order by delTime
    </select>
</mapper>
system-run/src/main/resources/application-dev.yml
@@ -65,11 +65,11 @@
    # redis访问密码(默认为空)
    password: null
    # redis连接超时时间(单位毫秒)
    timeout: 10
    timeout: 50
    # redis连接池配置
    pool:
      # 最大可用连接数(默认为8,负数表示无限)
      max-active: 8
      max-active: 20
      # 最大空闲连接数(默认为8,负数表示无限)
      max-idle: 8
      # 最小空闲连接数(默认为0,该值只有为正数才有用)