Skip to content

净菜迭代后半部分

净菜迭代后半部分


退料批次表(MYSQL)
CREATE TABLE `return_batch` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `return_id` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '退料id',
  `return_amount` decimal(15,4) NOT NULL DEFAULT '0' COMMENT '领料数',
  `batch_number` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '退料批次',
  `station_id` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '站点id',
  `group_id` int(11) NOT NULL COMMENT 'group id',
  `create_time` datetime NOT NULL,
  `modify_time` datetime NOT NULL,
  `delete_time` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '删除时间',
  `pstatus` int(11) NOT NULL DEFAULT '0' COMMENT '物理状态,0:正常--默认,1:已删除',
  `extra1` int(11) NOT NULL DEFAULT '0',
  `extra2` int(11) NOT NULL DEFAULT '0',
  `extra3` int(11) NOT NULL DEFAULT '0',
  `extra4` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
  `extra5` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
  `extra6` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
  `extra7` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
  `extra8` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
  `extra9` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
  `extra10` decimal(15,4) NOT NULL DEFAULT '0.0000',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='退料批次表';

process/process_order/ingredient_return/create 新建退料 (修改)

接口描述: 修改新建退料接口,可同时退多个批次

请求方法: POST

请求参数:
        return_list(修改)         M           list<dict>           退料列表
            【
                {
                    recv_id         M           int           领料id
                    batch_number            M           str         批次号
                    amount                  M           Double      退料数
                    }
                。。。
                】

响应: 
    ok

process/process_order/ingredient_return/list 搜索退料(修改)

接口描述: 修改新建退料接口,可同时退多个批次

请求方法: POST

请求参数:
        不变

响应: 
        code: 0
        msg: ok
        data: [
              {
                id          M           int         ID
                recv_id     M           int         领料ID
                spu_id      M           string          spu
                spu_name    M           string          spu名
                type        int         M               类型 1原料2半成品
                proc_order_id   M           int             加工单ID
                return_amount   float           M           退领数
                unit_name   str          M           单位
                shelf_name  str          M           退货货位
                batch(修改batch_num)   M           list<dict>          退货批次
                    【
                        {   
                            batch_number        M       str         退户批次号
                            amount              M       Double      退货数量
                            }
                        。。。
                        】
              }
        。。。
        ]
        pagination: { M   dict    分页信息
            more     O   bool    是否到头,1:没有更多数据,0:有更多(默认)
            page_obj    M   string  当前页面对象,是一个字符串,作为下次查询的传入串,调用方不需要关心内容
        }

process/process_order/check 新建退料搜索加工计划 (修改)

接口描述: 新建退料搜索加工计划,增加剩余可退数量这个字段

请求方法: POST

请求参数:
        不变

响应: 
    【{
        valuable_return     M       Double          剩余可退数量
        }】

process/report/list 生产报表

接口描述: 拉取生产报表条目

请求方法: GET

请求参数:
    begin       M           str         查询时间起始日(格式:YYYY-MM-DD)
    end         M           str         查询时间截止日(格式:YYYY-MM-DD)
    q                       O          str             筛选条件,这里是:商品名
    category1_ids           O          list            一级分类id
    category2_ids           O          list            二级分类id
    page_obj    O           str         起始页对象,不传默认第0页
    reverse     O           bool        是否反向查询。1:是,0:不是。默认为否。
    limit       O           int         返回条数,默认10,limit必须大于0


响应: 
    code : 0
    msg : "ok"
    data:[
            {
                sku_id                            M         str             sku id
                name                              M         str             商品名称
                sale_unit_name                    M         str             销售单位
                std_unit_name                     M         str             基本单位
                ratio                             M         Double          销售ratio
                ingredients_money                 M         Double          用料金额
                product_amount                    M         Double          产出数量
                ingredients(物料详情)              M         list  
                    【
                        {
                            name                M           str         物料名
                            sku_id              M           str         sku_id
                            goods_type          M           str         商品类型
                            std_unit_name       M           str         基本单位
                            recv_amount         M           Double      领料数量
                            return_amount       M           Double      退料数量
                            product_amount      M           Double      产出数量
                            waste_amount        M           Double      损耗数量
                            ingredients_money   M           Double      用料金额
                        }
                        】
            }
        ]
    pagination: {                                M   dict
            more                                 M   bool    是否有更多数据
            page_obj                             M   str
        }
    }

process/report/export 生产报表导出

接口描述: 生产报表导出

请求方法: GET

请求参数:
    begin       M           str         查询时间起始日(格式:YYYY-MM-DD)
    end         M           str         查询时间截止日(格式:YYYY-MM-DD)
    q                       O          str             筛选条件,这里是:商品名
    category1_ids           O          list            一级分类id
    category2_ids           O          list            二级分类id
    page_obj    O           str         起始页对象,不传默认第0页
    reverse     O           bool        是否反向查询。1:是,0:不是。默认为否。
    limit       O           int         返回条数,默认10,limit必须大于0


响应: 
    excel文件

process/report/process_order/get 生产报表-商品关联加工单

接口描述: 拉取商品的关联加工单

请求方法: GET

请求参数:
    begin       M           str         查询时间起始日(格式:YYYY-MM-DD)
    end         M           str         查询时间截止日(格式:YYYY-MM-DD)
    sku_id         M           str         查询的sku id



响应: 
    code : 0
    msg : "ok"
    data:
        【
            {
                process_order_id        M           str         计划编号
                name                    M           str         商品名
                sku_id                  M           str         sku_id
                sale_unit_name          M           str             销售单位
                std_unit_name           M           str             基本单位
                ratio                   M           Double          销售ratio
                plan_amount             M           Double          计划生产数
                finished_amount             M           Double          已完成数
                }
            】

process/report/technic/get 生产报表-商品关联加工单

接口描述: 拉取商品的关联加工单

请求方法: GET

请求参数:
    begin       M           str         查询时间起始日(格式:YYYY-MM-DD)
    end         M           str         查询时间截止日(格式:YYYY-MM-DD)
    sku_id         M           str         查询的sku id



响应: 
    code : 0
    msg : "ok"
    data:
         {
            name                    M           str         商品名
            sku_id                  M           str         sku_id
            std_unit_name           M           str             基本单位
            technics                M           list<dict>      工艺
                【
                    {
                        technic        M           str         工艺名称
                        recv_amount             M           Double          领料数
                        product_amount             M           Double          产出数量
                        }
                    】
            }
车间表(MYSQL)
CREATE TABLE `workshop` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `station_id` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '站点ID',
  `group_id` int(11) NOT NULL COMMENT 'group id',
  `custom_id` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '自定义ID',
  `name` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '车间名字',
  `create_time` datetime NOT NULL,
  `modify_time` datetime NOT NULL,
  `delete_time` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '删除时间',
  `pstatus` int(11) NOT NULL DEFAULT '0' COMMENT '物理状态,0:正常--默认,1:已删除',
  `extra1` int(11) NOT NULL DEFAULT '0',
  `extra2` int(11) NOT NULL DEFAULT '0',
  `extra3` int(11) NOT NULL DEFAULT '0',
  `extra4` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
  `extra5` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
  `extra6` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
  `extra7` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
  `extra8` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
  `extra9` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
  `extra10` decimal(15,4) NOT NULL DEFAULT '0.0000',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_name` (`station_id`,`name`,`pstatus`),
  UNIQUE KEY `uk_custom_id` (`station_id`,`custom_id`,`pstatus`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车间表';

车间与工艺关联关系表(MYSQL)
CREATE TABLE `workshop_technic` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `workshop_id` int(20) NOT NULL COMMENT '车间id',
  `technic_id` int(20) NOT NULL COMMENT '工艺id',
  `station_id` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '站点id',
  `group_id` int(11) NOT NULL COMMENT 'group id',
  `create_time` datetime NOT NULL,
  `modify_time` datetime NOT NULL,
  `delete_time` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '删除时间',
  `pstatus` int(11) NOT NULL DEFAULT '0' COMMENT '物理状态,0:正常--默认,1:已删除',
  `extra1` int(11) NOT NULL DEFAULT '0',
  `extra2` int(11) NOT NULL DEFAULT '0',
  `extra3` int(11) NOT NULL DEFAULT '0',
  `extra4` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
  `extra5` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
  `extra6` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
  `extra7` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
  `extra8` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
  `extra9` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
  `extra10` decimal(15,4) NOT NULL DEFAULT '0.0000',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车间与工艺关系表';

process/workshop/create 新建车间

接口描述: 新建车间

请求方法: POST

请求参数:
        custom_id           M           str                车间编号
        name                M           str                车间名称
        technics             O           list<int>                工艺id


响应: 
    ok

process/workshop/list 查看车间

接口描述: 查看车间

请求方法: GET

请求参数:
    q                       O          str             筛选条件,模糊搜索,这里是:车间名称
    page_obj    O           str         起始页对象,不传默认第0页
    reverse     O           bool        是否反向查询。1:是,0:不是。默认为否。
    limit       O           int         返回条数,默认10,limit必须大于0


响应: 
    data:【
        {   
            workshop_id                  M           int         车间id
            custom_id           M           str         车间编号
            name                M           str         车间名称
            technics                M           list<dict>         工艺
                [{
                    technic_id      M       int         工艺id
                    name      M       str         工艺名称
                    }。。。]
            }
        】

    pagination: {                                M   dict
        more                                 M   bool    是否有更多数据
        page_obj                             M   str
    }

process/workshop/update 修改车间

接口描述: 修改车间

请求方法: POST

请求参数:
        workshop_id                  M           int         车间id
        custom_id           O           str                车间编号
        name                O           str                车间名称
        technics             O           list<int>                工艺id

响应: 
    ok

process/workshop/get 车间详情

接口描述: 车间详情

请求方法: GET

请求参数:
        workshop_id                  M           int         车间id

响应: 
    {   
        workshop_id                  M           int         车间id
        custom_id           M           str         车间编号
        name                M           str         车间名称
        technics                M           list<dict>         工艺
            [{
                technic_id      M       int         工艺id
                name      M       str         工艺名称
                }。。。]
    }

process/workshop/delete 删除车间

接口描述: 删除车间

请求方法: POST

请求参数:
        workshop_id                  M           int         车间id

响应: ok

工艺自定义字段表(MYSQL)
CREATE TABLE `technic_col` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '自定义参数名',
  `technic_id` int(11) NOT NULL COMMENT '工艺id',
  `station_id` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '站点id',
  `group_id` int(11) NOT NULL COMMENT 'group id',
  `create_time` datetime NOT NULL,
  `modify_time` datetime NOT NULL,
  `delete_time` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '删除时间',
  `pstatus` int(11) NOT NULL DEFAULT '0' COMMENT '物理状态,0:正常--默认,1:已删除',
  `extra1` int(11) NOT NULL DEFAULT '0',
  `extra2` int(11) NOT NULL DEFAULT '0',
  `extra3` int(11) NOT NULL DEFAULT '0',
  `extra4` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
  `extra5` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
  `extra6` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
  `extra7` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
  `extra8` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
  `extra9` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
  `extra10` decimal(15,4) NOT NULL DEFAULT '0.0000',
  PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT '工艺自定义字段表';

自定义字段参数表(MYSQL)
CREATE TABLE `col_param` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '参数名',
  `col_id` int(11) NOT NULL COMMENT '自定义字段id',
  `station_id` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '站点id',
  `group_id` int(11) NOT NULL COMMENT 'group id',
  `create_time` datetime NOT NULL,
  `modify_time` datetime NOT NULL,
  `delete_time` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '删除时间',
  `pstatus` int(11) NOT NULL DEFAULT '0' COMMENT '物理状态,0:正常--默认,1:已删除',
  `extra1` int(11) NOT NULL DEFAULT '0',
  `extra2` int(11) NOT NULL DEFAULT '0',
  `extra3` int(11) NOT NULL DEFAULT '0',
  `extra4` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
  `extra5` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
  `extra6` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
  `extra7` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
  `extra8` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
  `extra9` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
  `extra10` decimal(15,4) NOT NULL DEFAULT '0.0000',
  PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT '自定义字段参数表';

process/technic/import 批量导入工艺

接口描述: 批量导入工艺

请求方法: POST

请求参数:
        technics           M           list<dict>          工艺列表
            【
                {
                    name        M           str             工艺名称
                    custom_id        M           str             工艺编号
                    desc        O           str             工艺描述
                    custom_cols       M           list<list>             自定义字段,
                           例如  
                                [["清洗时长",["2min", "4min"]], ["沥水程度",["干", "湿"]]]
                    }
                】

响应: 
    ok

逻辑:
    工艺名称不能重复且工艺编号不能重复,校验两层
    重复的数据返回给前端,用工艺名称+工艺编号区分,且其他导入失败
    失败返回案例
    code:1 data: [{"name": "清洗", "custom_id": "A-1"}, {"name": "打包", "custom_id": "B-1"}]
    当成功时
        "code": 0
        "data": {
                    task_id         M       int         批量任务task_id
        }


process/technic/create 新建工艺(修改)

接口描述: 新建工艺修改custom_cols字段

请求方法: POST

请求参数:
        {
            custom_cols(修改)        O           list<list>             自定义字段,
                   例如[["清洗时长",["2min", "4min"]], ["沥水程度",["干", "湿"]]]
            }

响应: 
    不变

/process/technic/delete 删除工艺

接口描述: 删除成品入库单、只能删除未入库的单据

Method: POST

请求:
    id          M       int         工艺id

响应:
    ok

/process/technic/update 更新工艺(修改)

接口描述: 更新工艺,custom_cols 字段格式不同,前端需要限制无法输入空格,自定义字段名可以重复,字符不能超过8

Method: POST

请求:
    technic_id          M       int         工艺id
    name          O       str         工艺名
    desc          O       str         描述
    default_role          O       int         默认角色
    custom_cols          O       list<dict>         自定义字段,分成四种操作增加、删除、修改、不变
           例如[
                增加自定义字段 {name: "增加自定义字段", params: ["a", "b"]},
                修改以及不变的自定义字段 {col_id: 333, col_name: "修改以及不变的自定义字段",
                                        params:[{param_name: "增加自定义字段"}, {id: 333, param_name: "修改以及不变的自定义字段"]},
                删除自定义字段 不传对应的col_id
                ]

响应:
    ok

/process/technic/get 工艺详情(修改)

接口描述: 获取工艺详情

Method: GET

请求:
    不变

响应:
    custom_cols(修改)          O       list<dict>         自定义字段
           例如[
                {col_id         M       int          自定义字段id
                 col_name         M     str           自定义字段名称
                 params         M           list<dict>      设置参数
                    [{
                        param_id            M       int         参数id
                        param_name            M       str         参数名称
                        }]
                    }
                ]

stock/in_stock_sheet/product/delete 删除成品入库单

接口描述: 删除成品入库单、只能删除未入库的单据

Method: POST

请求:
    batch_number          M             str         入库批次号

响应:
    ok

逻辑:
    直接将未入库状态的成品入库的status置为-1

stock/in_stock_sheet/semi_product/list 搜索半成品及成品(修改)

接口描述: 搜索半成品及成品入库单时增加状态过滤字段

Method: GET

请求:
    status(新增)          M             int            入库单状态,1:未入库, 2:已入库

响应:
    status(新增)          M             int            入库单状态,1:未入库, 2:已入库


stock/in_stock_sheet/product/submit 提交成品入库单

接口描述: 提交成品入库单

Method: POST

请求:
    batch_number          M             str         入库批次号
    price          O             str         入库单价(单位:元)
    amount          O             str         入库数量(基本单位)
    shelf_id          O             int         货位id
    proc_order_finish       O       int         是否完成加工单0:未完成,1:已完成


响应:
    ok

逻辑:
    检查入库数量和单价是否>=0
    检查入库单是否存在以及提交状态
    更新入库单
    增加批次变动记录
    更新库存
    更新加工单完成数量以及加工单状态


stock/in_stock_sheet/product/get 查看成品入库单

接口描述: 查看成品入库单

Method: GET

请求:
    batch_number          M             str         入库批次号

响应:
    {
        batch_number          M             str         入库批次号
        status          M             int         入库单状态,1:未入库,2:已入库
        process_order        O           str         关联加单单
        sku_id                  M           str         销售规格
        sku_name                  M           str         商品名称
        sale_unit_name          M           str         销售单位
        std_unit_name           M           str         基本单位
        ratio                   M           str         销售ratio
        price          M             str         入库单价(单位:元)
        amount          M             str         入库数量(基本单位)
        shelf_id          O             int         货位id
        shelf_name          O             int         货位名称
    }

5-9计划进度

入库单相关   11.1 
车间相关、导入工艺、删除、更新工艺   11.4 - 11.6
新建退料、搜索退料   11.7-11.8
生产报表    3天  11.11-11.13
自测、联调  11.14-11.15