| | |
| | | private String matnr; |
| | | |
| | | /** |
| | | * 批号 |
| | | * 序列码 |
| | | */ |
| | | @ApiModelProperty(value= "批号") |
| | | @ApiModelProperty(value= "序列码") |
| | | private String batch; |
| | | |
| | | /** |
| | |
| | | // AdjDetl adjDetl = new AdjDetl( |
| | | // null, // 库位号[非空] |
| | | // null, // 物料编号[非空] |
| | | // null, // 批号 |
| | | // null, // 序列码 |
| | | // null, // 原箱数 |
| | | // null, // 原数量 |
| | | // null, // 原重量 |
| | |
| | | @ExcelProperty("商品名称") |
| | | private String maktx; |
| | | |
| | | @ApiModelProperty(value= "批号") |
| | | @ExcelProperty("批号") |
| | | @ApiModelProperty(value= "序列码") |
| | | @ExcelProperty("序列码") |
| | | private String batch; |
| | | |
| | | @ApiModelProperty(value= "单据编号") |
| | |
| | | private String maktx; |
| | | |
| | | /** |
| | | * 批号 |
| | | * 序列码 |
| | | */ |
| | | @ApiModelProperty(value= "批号") |
| | | @ApiModelProperty(value= "序列码") |
| | | private String batch; |
| | | |
| | | /** |
| | |
| | | private String matnr; |
| | | |
| | | /** |
| | | * 批号 |
| | | * 序列码 |
| | | */ |
| | | @ApiModelProperty(value= "批号") |
| | | @ApiModelProperty(value= "序列码") |
| | | private String batch; |
| | | |
| | | /** |
| | |
| | | // Pack pack = new Pack( |
| | | // null, // 条码[非空] |
| | | // null, // 商品编号 |
| | | // null, // 批号 |
| | | // null, // 序列码 |
| | | // null, // 订单状态 |
| | | // null, // 状态 |
| | | // null, // 添加时间 |
| | |
| | | @ApiModelProperty(value= "商品名称") |
| | | private String maktx; |
| | | |
| | | @ApiModelProperty(value= "批号") |
| | | @ApiModelProperty(value= "序列码") |
| | | private String batch; |
| | | |
| | | @ApiModelProperty(value= "单据编号") |
| | |
| | | @ApiModelProperty(value= "商品名称") |
| | | private String maktx; |
| | | |
| | | @ApiModelProperty(value= "批号") |
| | | @ApiModelProperty(value= "序列码") |
| | | private String batch; |
| | | |
| | | @ApiModelProperty(value= "单据编号") |
| | |
| | | @ApiModelProperty(value= "商品名称") |
| | | private String maktx; |
| | | |
| | | @ApiModelProperty(value= "批号") |
| | | @ApiModelProperty(value= "序列码") |
| | | private String batch; |
| | | |
| | | @ApiModelProperty(value= "单据编号") |
| | |
| | | @ApiModelProperty(value= "商品名称") |
| | | private String maktx; |
| | | |
| | | @ApiModelProperty(value= "批号") |
| | | @ApiModelProperty(value= "序列码") |
| | | private String batch; |
| | | |
| | | @ApiModelProperty(value= "单据编号") |
| | |
| | | private String maktx; |
| | | |
| | | /** |
| | | * 批号 |
| | | * 序列码 |
| | | */ |
| | | @ApiModelProperty(value= "批号") |
| | | @ApiModelProperty(value= "序列码") |
| | | private String batch; |
| | | |
| | | /** |
| | |
| | | private String maktx; |
| | | |
| | | /** |
| | | * 批号 |
| | | * 序列码 |
| | | */ |
| | | @ApiModelProperty(value= "批号") |
| | | @ApiModelProperty(value= "序列码") |
| | | private String batch; |
| | | |
| | | /** |
| | |
| | | // 物料编号 |
| | | private String matnr; |
| | | |
| | | // 批号 |
| | | // 序列码 |
| | | private String batch; |
| | | |
| | | // 物料数量 |
| | |
| | | // 物料编号 |
| | | private String matnr; |
| | | |
| | | // 批号 |
| | | // 序列码 |
| | | private String batch; |
| | | |
| | | // 物料数量 |
| | |
| | | // 商品编号 |
| | | private String matnr; |
| | | |
| | | // 批号 |
| | | // 序列码 |
| | | private String batch; |
| | | |
| | | // 变更数量 |
| | |
| | | // 商品编号 |
| | | private String matnr; |
| | | |
| | | // 批号 |
| | | // 序列码 |
| | | private String batch; |
| | | |
| | | // 数量 |
| | |
| | | WaitPakin waitPakin = new WaitPakin(); |
| | | waitPakin.sync(mat); |
| | | waitPakin.setOrderNo(order.getOrderNo()); // 单据编号 |
| | | waitPakin.setBatch(detlDto.getBatch()); // 批号 |
| | | waitPakin.setBatch(detlDto.getBatch()); // 序列码 |
| | | waitPakin.setZpallet(param.getBarcode()); // 托盘码 |
| | | waitPakin.setIoStatus("N"); // 入出状态 |
| | | waitPakin.setAnfme(detlDto.getAnfme()); // 数量 |
| | |
| | | // todo 盘点记录、保存调整记录 |
| | | // 修改明细 |
| | | if (!wrkDetlService.updateAnfme(wrkDetl1.getAnfme(), wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { |
| | | throw new CoolException(wrkMast.getWrkNo() + "盘点任务," + wrkDetl.getMatnr() + "商品," + wrkDetl.getBatch() + "批号修改数量失败"); |
| | | throw new CoolException(wrkMast.getWrkNo() + "盘点任务," + wrkDetl.getMatnr() + "商品," + wrkDetl.getBatch() + "序列码修改数量失败"); |
| | | } |
| | | } |
| | | iterator.remove(); |
| | |
| | | for (WrkDetl wrkDetl : wrkDetls) { |
| | | // todo 盘点记录、保存调整记录 |
| | | if (!wrkDetlService.updateAnfme(-1.0D, wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { |
| | | throw new CoolException("删除" + wrkMast.getWrkNo() + "盘点任务," + wrkDetl.getMatnr() + "商品," + wrkDetl.getBatch() + "批号任务明细失败"); |
| | | throw new CoolException("删除" + wrkMast.getWrkNo() + "盘点任务," + wrkDetl.getMatnr() + "商品," + wrkDetl.getBatch() + "序列码任务明细失败"); |
| | | } |
| | | } |
| | | |
| | |
| | | wrkDetl.setAppeTime(now); |
| | | wrkDetl.setAppeUser(userId); |
| | | if (!wrkDetlService.insert(wrkDetl)) { |
| | | throw new CoolException("添加" + wrkMast.getWrkNo() + "盘点任务," + wrkDetl.getMatnr() + "商品," + wrkDetl.getBatch() + "批号任务明细失败"); |
| | | throw new CoolException("添加" + wrkMast.getWrkNo() + "盘点任务," + wrkDetl.getMatnr() + "商品," + wrkDetl.getBatch() + "序列码任务明细失败"); |
| | | } |
| | | } |
| | | |
| | |
| | | pack = new Pack( |
| | | param.getBarcode(), // 条码[非空] |
| | | analyse.getMatnr(), // 商品编号 |
| | | analyse.getBarcode(), // 批号 |
| | | analyse.getBarcode(), // 序列码 |
| | | 1L, // 订单状态 |
| | | 1, // 状态 |
| | | now, // 添加时间 |
| | |
| | | // todo 盘点记录 |
| | | // 修改库存 |
| | | if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) { |
| | | throw new CoolException(locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "批号修改数量失败"); |
| | | throw new CoolException(locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "序列码修改数量失败"); |
| | | } |
| | | // 保存调整记录 |
| | | AdjDetl adjDetl = new AdjDetl(); |
| | |
| | | for (LocDetl locDetl : locDetls) { |
| | | // todo 盘点记录 |
| | | if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) { |
| | | throw new CoolException("删除" + locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "批号库存明细失败"); |
| | | throw new CoolException("删除" + locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "序列码库存明细失败"); |
| | | } |
| | | // 保存调整记录 |
| | | AdjDetl adjDetl = new AdjDetl(); |
| | |
| | | locDetl.setAppeUser(userId); |
| | | locDetl.setAppeTime(now); |
| | | if (!locDetlService.insert(locDetl)) { |
| | | throw new CoolException("添加" + locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "批号库存明细失败"); |
| | | throw new CoolException("添加" + locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "序列码库存明细失败"); |
| | | } |
| | | // 保存调整记录 |
| | | AdjDetl adjDetl = new AdjDetl(); |
| | |
| | | // wrkDetl.setLgnum(matCode.getStr2()); // 规格 |
| | | // wrkDetl.setType(matCode.getStr5()); // 型号 |
| | | // wrkDetl.setColor(matCode.getBarcode()); // 条码 |
| | | // wrkDetl.setSupplier(matCode.getStr6()); // 批号 |
| | | // wrkDetl.setSupplier(matCode.getStr6()); // 序列码 |
| | | // wrkDetl.setWarehouse(matCode.getStr7()); // 单据编号 |
| | | // wrkDetl.setBrand(matCode.getStr3()); // 品项数 |
| | | // wrkDetl.setAltme(matCode.getStr1()); // 单位 |
| | |
| | | // wrkDetl.setLgnum(locDetl.getLgnum()); // 规格 |
| | | // wrkDetl.setType(locDetl.getType()); // 型号 |
| | | // wrkDetl.setColor(locDetl.getColor()); // 条码 |
| | | // wrkDetl.setSupplier(locDetl.getSupplier()); // 批号 |
| | | // wrkDetl.setSupplier(locDetl.getSupplier()); // 序列码 |
| | | // wrkDetl.setWarehouse(locDetl.getWarehouse()); // 单据编号 |
| | | // wrkDetl.setBrand(locDetl.getBrand()); // 品项数 |
| | | // wrkDetl.setAltme(locDetl.getAltme()); // 单位 |
| | |
| | | // locDetl.setLgnum(matCode.getStr2()); // 规格 |
| | | // locDetl.setType(matCode.getStr5()); // 型号 |
| | | // locDetl.setColor(matCode.getBarcode()); // 条码 |
| | | // locDetl.setSupplier(matCode.getStr6()); // 批号 |
| | | // locDetl.setSupplier(matCode.getStr6()); // 序列码 |
| | | // locDetl.setWarehouse(matCode.getStr7()); // 单据编号 |
| | | // locDetl.setBrand(matCode.getStr3()); // 品项数 |
| | | // locDetl.setAltme(matCode.getStr1()); // 单位 |
| | |
| | | // locDetl.setLgnum(wrkDetl.getLgnum()); // 规格 |
| | | // locDetl.setType(wrkDetl.getType()); // 型号 |
| | | // locDetl.setColor(wrkDetl.getColor()); // 条码 |
| | | // locDetl.setSupplier(wrkDetl.getSupplier()); // 批号 |
| | | // locDetl.setSupplier(wrkDetl.getSupplier()); // 序列码 |
| | | // locDetl.setWarehouse(wrkDetl.getWarehouse()); // 单据编号 |
| | | // locDetl.setBrand(wrkDetl.getBrand()); // 品项数 |
| | | // locDetl.setAltme(wrkDetl.getAltme()); // 单位 |
| | |
| | | // waitPakIn.setLgnum(matCode.getStr2()); // 规格 |
| | | // waitPakIn.setType(matCode.getStr5()); // 型号 |
| | | // waitPakIn.setColor(matCode.getBarcode()); // 条码 |
| | | // waitPakIn.setSupplier(matCode.getStr6()); // 批号 |
| | | // waitPakIn.setSupplier(matCode.getStr6()); // 序列码 |
| | | // waitPakIn.setWarehouse(matCode.getStr7()); // 单据编号 |
| | | // waitPakIn.setBrand(matCode.getStr3()); // 品项数 |
| | | // waitPakIn.setAltme(matCode.getStr1()); // 单位 |
| | |
| | | // orderDetl.setMatnr(matCode.getMatNo()); // 物料编号 |
| | | // orderDetl.setMaktx(matCode.getMatName()); // 物料描述 |
| | | // orderDetl.setSpecs(matCode.getStr2()); // 规格 |
| | | // orderDetl.setSupplier(matCode.getStr6()); // 批号 |
| | | // orderDetl.setSupplier(matCode.getStr6()); // 序列码 |
| | | // } |
| | | // |
| | | // public static void setWaitPakIn(WaitPakin waitPakIn, OrderDetl orderDetl) { |
| | |
| | | // waitPakIn.setOrderNo(orderDetl.getOrderNo()); |
| | | // waitPakIn.setLgnum(orderDetl.getSpecs()); // 规格 |
| | | // waitPakIn.setType(orderDetl.getModel()); // 型号 |
| | | // waitPakIn.setSupplier(orderDetl.getSupplier()); // 批号 |
| | | // waitPakIn.setSupplier(orderDetl.getSupplier()); // 序列码 |
| | | // waitPakIn.setAltme(orderDetl.getUnit()); // 单位 |
| | | // } |
| | | // |
| | |
| | | // wrkDetl.setOrderNo(orderDetl.getOrderNo()); |
| | | // wrkDetl.setLgnum(orderDetl.getSpecs()); // 规格 |
| | | // wrkDetl.setType(orderDetl.getModel()); // 型号 |
| | | // wrkDetl.setSupplier(orderDetl.getSupplier()); // 批号 |
| | | // wrkDetl.setSupplier(orderDetl.getSupplier()); // 序列码 |
| | | // wrkDetl.setAltme(orderDetl.getUnit()); // 单位 |
| | | // } |
| | | |
| | |
| | | } |
| | | |
| | | public boolean isAll(){ |
| | | // 汇总不考虑批号 |
| | | // 汇总不考虑序列码 |
| | | List<DetlDto> detlDtos = new ArrayList<>(); |
| | | for (LocDto locDto : this.getLocDtos()) { |
| | | DetlDto dto = new DetlDto(locDto.getMatnr(), locDto.getBatch(), locDto.getAnfme()); |
| | |
| | | // {field: 'adjId', align: 'center',title: '序号'} |
| | | {field: 'locNo', align: 'center',title: '库位号'} |
| | | ,{field: 'matnr', align: 'center',title: '商品编号'} |
| | | ,{field: 'batch', align: 'center',title: '批号'} |
| | | ,{field: 'batch', align: 'center',title: '序列码'} |
| | | // ,{field: 'oriCtns', align: 'center',title: '原箱数'} |
| | | ,{field: 'oriQty', align: 'center',title: '原数量'} |
| | | // ,{field: 'oriWt', align: 'center',title: '原重量'} |
| | |
| | | {field: 'matnr', align: 'center',title: '商品编号'} |
| | | ,{field: 'maktx', align: 'center',title: '商品名称'} |
| | | ,{field: 'orderNo', align: 'center',title: '单据编号', hide: false} |
| | | ,{field: 'batch', align: 'center',title: '批号'} |
| | | ,{field: 'batch', align: 'center',title: '序列码'} |
| | | ,{field: 'anfme', align: 'center',title: '数量'} |
| | | ,{field: 'zpallet', align: 'center',title: '托盘条码'} |
| | | |
| | |
| | | {type: 'numbers'}, |
| | | {field: 'matnr', title: '商品编码'}, |
| | | {field: 'maktx', title: '商品名称', width: 160}, |
| | | {field: 'batch', title: '批号'}, |
| | | {field: 'batch', title: '序列码'}, |
| | | {field: 'anfme', title: '数量'}, |
| | | {field: 'qty', title: '作业数量', style: 'font-weight: bold'}, |
| | | {field: 'unit', title: '单位'}, |
| | |
| | | {type: 'numbers', title: '#'}, |
| | | {field: 'matnr', title: '商品编码', width: 160}, |
| | | {field: 'maktx', title: '商品名称', width: 200}, |
| | | {field: 'batch', title: '批号', edit: true}, |
| | | {field: 'batch', title: '序列码', edit: true}, |
| | | {field: 'specs', title: '规格'}, |
| | | {field: 'anfme', title: '数量(修改)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110}, |
| | | // {field: 'inQty', title: '已入库量', minWidth: 100, width: 100}, |
| | |
| | | ,{field: 'orderNo', align: 'center',title: '单据编号', templet: '#orderNoTpl', width: 160} |
| | | ,{field: 'matnr', align: 'center',title: '商品编码', width: 160} |
| | | ,{field: 'maktx', align: 'center',title: '商品名称', width: 200} |
| | | ,{field: 'batch', align: 'center',title: '批号'} |
| | | ,{field: 'batch', align: 'center',title: '序列码'} |
| | | ,{field: 'specs', align: 'center',title: '规格'} |
| | | // ,{field: 'anfme', align: 'center',title: '数量'} |
| | | // ,{field: 'qty', align: 'center',title: '作业数量', style: 'font-weight: bold'} |
| | |
| | | // {type: 'checkbox', merge: ['orderNo']}, |
| | | {field: 'orderNo', title: '单据编号', merge: true, align: 'center'}, |
| | | {field: 'title', title: '商品', merge: true, align: 'center', width: 350}, |
| | | {field: 'batch', title: '批号', align: 'center'}, |
| | | {field: 'batch', title: '序列码', align: 'center'}, |
| | | {field: 'anfme', title: '数量', align: 'center', width: 90, style: 'font-weight: bold'}, |
| | | {field: 'locNo', title: '货位', align: 'center', width: 100, templet: '#locNoTpl'}, |
| | | {field: 'staNos', align: 'center', title: '出库站', merge: ['locNo'], templet: '#tbBasicTbStaNos'}, |
| | |
| | | ,{field: 'name', align: 'center',title: '名称'} |
| | | ,{field: 'specs', align: 'center',title: '规格'} |
| | | ,{field: 'model', align: 'center',title: '型号'} |
| | | ,{field: 'batch', align: 'center',title: '批号'} |
| | | ,{field: 'batch', align: 'center',title: '序列码'} |
| | | ,{field: 'unit', align: 'center',title: '单位'} |
| | | ,{field: 'barcode', align: 'center',title: '商品条码'} |
| | | ,{field: 'supplier', align: 'center',title: '供应商'} |
| | |
| | | // ,{field: 'id', align: 'center',title: 'ID'} |
| | | ,{field: 'barcode',title: '条码'} |
| | | ,{field: 'matnr', align: 'center',title: '商品编号', minWidth: 250, width: 250} |
| | | ,{field: 'batch', align: 'center',title: '批号', hide: true} |
| | | ,{field: 'batch', align: 'center',title: '序列码', hide: true} |
| | | ,{field: 'settle$', align: 'center',title: '状态', templet: '#settleTpl', minWidth: 160, width: 160} |
| | | // ,{field: 'status$', align: 'center',title: '状态'} |
| | | // ,{field: 'createTime$', align: 'center',title: '添加时间'} |
| | |
| | | function getCol() { |
| | | var cols = [ |
| | | {fixed: 'left', field: 'anfme', title: '数量(必填)', align: 'center', edit:'text', width: 120, style:'color: blue;font-weight: bold'}, |
| | | {field: 'batch', title: '批号(选填)', align: 'center', edit:'text', width: 200, style:'color: block;font-weight: bold'} |
| | | {field: 'batch', title: '序列码(选填)', align: 'center', edit:'text', width: 200, style:'color: block;font-weight: bold'} |
| | | ]; |
| | | cols.push.apply(cols, matCols); |
| | | cols.push({fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width: 80}) |
| | |
| | | var cols = [ |
| | | {fixed: 'left', field: 'count', title: '实际数量', align: 'center', edit:'text', width: 120, style:'color: blue;font-weight: bold'} |
| | | ,{field: 'anfme', align: 'center',title: '数量'} |
| | | ,{field: 'batch', align: 'center',title: '批号(编辑)', edit: true, style: 'font-weight:bold'} |
| | | ,{field: 'batch', align: 'center',title: '序列码(编辑)', edit: true, style: 'font-weight:bold'} |
| | | ]; |
| | | arrRemove(detlCols, "field", "anfme"); |
| | | arrRemove(detlCols, "field", "batch"); |
| | |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">批号:</label> |
| | | <label class="layui-form-label">序列码:</label> |
| | | <div class="layui-input-inline"> |
| | | <input name="batch" class="layui-input" placeholder="批号"/> |
| | | <input name="batch" class="layui-input" placeholder="序列码"/> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="layui-inline">--> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">批号: </label> |
| | | <label class="layui-form-label">序列码: </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" name="batch" placeholder="请输入批号"> |
| | | <input class="layui-input" name="batch" placeholder="请输入序列码"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">批号: </label> |
| | | <label class="layui-form-label">序列码: </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" name="batch" placeholder="请输入批号"> |
| | | <input class="layui-input" name="batch" placeholder="请输入序列码"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |