| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 移动端服务核心类 |
| | | * Created by vincent on 2020/6/28 |
| | |
| | | @Override |
| | | @Transactional |
| | | public void stockOut(OrderDetl orderDetl, BasDevp staNo, LocDetl locDetl, |
| | | Double curOutQty, Integer ioType, Long userId, Date now) { |
| | | Double curOutQty, Integer ioType, Long userId, Date now) { |
| | | // 获取库位 |
| | | LocMast locMast = locMastService.selectById(locDetl.getLocNo()); |
| | | // 获取路径 |
| | |
| | | // throw new CoolException("AGV任务完成失败!!"); |
| | | // } |
| | | |
| | | |
| | | List<WaitPakin> waitPakins = waitPakinService |
| | | .selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode())); |
| | | if (Objects.isNull(waitPakins) || waitPakins.isEmpty()) { |
| | | throw new CoolException("数据错误,组拖档已不存在!!"); |
| | | } |
| | | |
| | | //修改单据执行数量 |
| | | waitPakins.forEach(waitPakin -> { |
| | | OrderDetlPakin detlPakin = orderDetlPakinService.selectOne(new EntityWrapper<OrderDetlPakin>() |
| | | .eq("matnr", waitPakin.getMatnr()) |
| | | .eq("barcode", waitPakin.getZpallet()) |
| | | .eq("order_no", waitPakin.getOrderNo())); |
| | | if (Objects.isNull(detlPakin)) { |
| | | throw new CoolException("单据明细不存在!!"); |
| | | } |
| | | detlPakin.setWorkQty(waitPakin.getAnfme()); |
| | | |
| | | if (!orderDetlPakinService.updateById(detlPakin)) { |
| | | throw new CoolException("单据明细修改失败!!"); |
| | | } |
| | | }); |
| | | |
| | | |
| | | generateCrnInTask(waitPakins, param.getStation(), param.getLocType1(), userId); |
| | | } |
| | | |
| | |
| | | { type: 'numbers', title: '#' }, |
| | | { field: 'matnr', title: '商品编码', width: 160 }, |
| | | { field: 'maktx', title: '商品名称', width: 200 }, |
| | | {field: 'barcode', title: 'SN', edit: true }, |
| | | { field: 'batch', title: '批号', edit: true }, |
| | | { field: 'specs', title: '规格' }, |
| | | {field: 'brand', title: '品牌' }, |
| | | { field: 'unit', title: '单位' }, |
| | | { field: 'anfme', title: '数量(修改)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110 }, |
| | | { field: 'workQty', title: '作业数量', minWidth: 100, width: 100 }, |
| | | // {field: 'unit', title: '单位', width: 80}, |
| | |
| | | {field: 'matnr', title: '商品编码', width: 160}, |
| | | {field: 'maktx', title: '商品名称', width: 160}, |
| | | {field: 'batch', title: '批号'}, |
| | | {field: 'brand', title: '品牌'}, |
| | | {field: 'specs', title: '规格'}, |
| | | {field: 'standby1', title: '机台'}, |
| | | {field: 'unit', title: '单位'}, |
| | | {field: 'anfme', title: '数量'}, |
| | | {field: 'workQty', title: '作业数量'}, |
| | | {field: 'qty', title: '完成数量', style: 'font-weight: bold'}, |
| | | // {field: 'unit', title: '单位'}, |
| | | // { |
| | | // field: 'createTime$', title: '创建时间', sort: true, templet: function (d) { |
| | | // return util.toDateString(d.createTime); |
| | |
| | | // }, |
| | | // {field: 'inQty', title: '已入库量'}, |
| | | // {field: 'color', title: '颜色'}, |
| | | {field: 'specs', title: '规格'} |
| | | ]], |
| | | request: { |
| | | pageName: 'curr', |
| | |
| | | cols: [[ |
| | | {type: 'checkbox'} |
| | | ,{field: 'wrkNo', align: 'center',title: '工作号',sort: true, width: 95} |
| | | ,{field: 'wrkCode', align: 'center',title: '下发工作号',sort: true, width: 120} |
| | | ,{field: 'wrkCode', align: 'center',title: '下发工作号',sort: true, width: 120, hide: true} |
| | | ,{field: 'ioTime$', align: 'center',title: '工作时间',sort: true, width: 170} |
| | | ,{field: 'wrkSts$', align: 'center',title: '工作状态', width: 120} |
| | | ,{field: 'ioType$', align: 'center',title: '入出库类型', width: 140} |
| | | ,{field: 'ioPri', align: 'center',title: '优先级', width: 95} |
| | | ,{field: 'taskType$', align: 'center',title: '任务类型', width: 95} |
| | | // ,{field: 'taskType$', align: 'center',title: '任务类型', width: 95} |
| | | ,{field: 'barcode', align: 'center',title: '条码', width: 120} |
| | | ,{field: 'crnNo$', align: 'center',title: '堆垛机', width: 95} |
| | | ,{field: 'sourceStaNo$', align: 'center',title: '源站', width: 95} |
| | |
| | | <input class="layui-input" name="devNo" placeholder="请输入机台号" lay-vertype="tips" lay-verify="required"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">库位ID: </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" name="blocId" placeholder="请输入库位ID" lay-vertype="tips" lay-verify="required"> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="layui-form-item">--> |
| | | <!-- <label class="layui-form-label layui-form-required">库位ID: </label>--> |
| | | <!-- <div class="layui-input-block">--> |
| | | <!-- <input class="layui-input" name="blocId" placeholder="请输入库位ID" lay-vertype="tips" lay-verify="required">--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">库位码: </label> |
| | | <div class="layui-input-block"> |
| | |
| | | <div id="resetLocDiv" style="margin: 20px 0 10px 30px; display: none"> |
| | | <div class="layui-form layui-form-pane"> |
| | | <div class="layui-form-item"> |
| | | <label class="·layui-form-label">机台号</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" name="devNo" autocomplete="off" class="layui-input"> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">机台号</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" name="devNo" autocomplete="off" class="layui-input"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 排 --> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">归零阀值</label> |
| | | <div class="layui-input-block"> |
| | | <input id="safeQty" name="safeQty" placeholder="请输入阀值" class="layui-input" lay-vertype="tips" lay-verify="required" required=""> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">每公斤长度</label> |
| | | <div class="layui-input-block"> |
| | | <input id="volume" name="volume" placeholder="请输入" class="layui-input" lay-vertype="tips" lay-verify="required" required=""> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">规格</label> |
| | | <div class="layui-input-block"> |
| | | <input name="specs" placeholder="请输入代码" class="layui-input"> |
| | |
| | | <input name="manLength" placeholder="请输入单箱毛重" class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">单箱体积</label> |
| | | <div class="layui-input-block"> |
| | | <input name="threeCode" placeholder="请输入箱子尺寸" class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="layui-form-item">--> |
| | | <!-- <label class="layui-form-label">单箱体积</label>--> |
| | | <!-- <div class="layui-input-block">--> |
| | | <!-- <input name="threeCode" placeholder="请输入箱子尺寸" class="layui-input">--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | </div> |
| | | </div> |
| | | <hr class="layui-bg-gray"> |
| | |
| | | <button class="layui-btn icon-btn" lay-filter="tbSearch" lay-submit> |
| | | <i class="layui-icon"></i>搜索 |
| | | </button> |
| | | <button id="orderAddBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon"></i>添加 |
| | | </button> |
| | | <!-- <button id="orderAddBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon"></i>添加--> |
| | | <!-- </button>--> |
| | | </div> |
| | | </div> |
| | | </div> |