| | |
| | | return R.ok("盘点成功"); |
| | | } |
| | | |
| | | @RequestMapping("/pda/adjust/auth") |
| | | @ManagerAuth(memo = "pda盘点") |
| | | public R pdaAdjust(@RequestBody pdaAdjustParam param){ |
| | | mobileService.pdaAdjust(param,getUserId()); |
| | | return R.ok("盘点成功"); |
| | | } |
| | | |
| | | @PostMapping("/order/out/pakout/auth") |
| | | @ManagerAuth(memo = "订单出库") |
| | | public synchronized R pakoutByOrder(@RequestBody JSONObject param) { |
| | |
| | | return R.ok("出库成功"); |
| | | } |
| | | |
| | | @GetMapping("/checkOut/submit/auth") |
| | | @ManagerAuth(memo = "盘点上传") |
| | | public R CheckOutsubmitERP(@RequestParam String orderId){ |
| | | |
| | | return R.ok("盘点成功"); |
| | | } |
| | | |
| | | |
| | | @RequestMapping("/ddd/ddd") |
| | | @ManagerAuth() |
| | | public R ddd() { |
| | |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); |
| | | } |
| | | |
| | | public String getStatus$(){ |
| | | if (Cools.isEmpty(this.status)){ |
| | | return ""; |
| | | } |
| | | switch (this.status){ |
| | | case "1": |
| | | return "未提交"; |
| | | case "2": |
| | | return "已提交"; |
| | | default: |
| | | return ""; |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | @ApiModelProperty(value= "") |
| | | @TableField("check_anfme") |
| | | private String checkAnfme; |
| | | private Double checkAnfme; |
| | | |
| | | @ApiModelProperty(value= "") |
| | | @TableField("io_time") |
| | |
| | | } |
| | | } |
| | | |
| | | public String getProfit$(){ |
| | | if (Cools.isEmpty(this.status) && !this.status.equals("1")){ |
| | | return "未盘点"; |
| | | } |
| | | if (Cools.isEmpty(this.anfme) || Cools.isEmpty(this.checkAnfme)){ |
| | | return ""; |
| | | } |
| | | if (this.anfme > this.checkAnfme){ |
| | | return "盘亏"; |
| | | }else if (this.anfme < this.checkAnfme){ |
| | | return "盘盈"; |
| | | }else { |
| | | return "平"; |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.zy.asrs.entity.param; |
| | | |
| | | import com.zy.asrs.entity.InventoryCheckOrderDetl; |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class pdaAdjustParam { |
| | | private String barcode; |
| | | private List<InventoryCheckOrderDetl> param; |
| | | } |
| | |
| | | import com.zy.asrs.entity.param.CombParam; |
| | | import com.zy.asrs.entity.param.MobileAdjustParam; |
| | | import com.zy.asrs.entity.param.OffSaleParam; |
| | | import com.zy.asrs.entity.param.pdaAdjustParam; |
| | | |
| | | import java.util.Date; |
| | | import java.util.Map; |
| | |
| | | Double curOutQty, Integer ioType, Long userId, Date now); |
| | | |
| | | void leftoversOut(Map<String, Object> map, Long userId); |
| | | |
| | | void pdaAdjust(pdaAdjustParam param, Long userId); |
| | | } |
| | |
| | | private ManLocDetlService manLocDetlService; |
| | | @Autowired |
| | | private ManLocDetlMapper manLocDetlMapper; |
| | | @Resource |
| | | private InventoryCheckOrderDetlService inventoryCheckOrderDetlService; |
| | | |
| | | @Resource |
| | | private BasDevpMapper basDevpMapper; |
| | |
| | | waitPakin.setAppeTime(now); |
| | | waitPakin.setModiUser(userId); |
| | | waitPakin.setModiTime(now); |
| | | waitPakin.setManu(detlDto.getMark()); |
| | | waitPakin.setManu(detlDto.getMark()); //标记 |
| | | waitPakin.setOrigin(order.getItemName());//仓库 |
| | | if (!waitPakinService.insert(waitPakin)) { |
| | | throw new CoolException("保存入库通知档失败"); |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void pdaAdjust(pdaAdjustParam param, Long userId) { |
| | | if (Cools.isEmpty(param)){ |
| | | throw new CoolException("盘点列表参数为空"); |
| | | } |
| | | for (InventoryCheckOrderDetl orderDetl: param.getParam()){ |
| | | InventoryCheckOrderDetl inventoryCheckOrderDetl = inventoryCheckOrderDetlService.selectOne(new EntityWrapper<InventoryCheckOrderDetl>() |
| | | .eq("order_no", orderDetl.getOrderNo()) |
| | | .eq("matnr", orderDetl.getMatnr()) |
| | | .eq("batch", orderDetl.getBatch())); |
| | | if (Cools.isEmpty(inventoryCheckOrderDetl)){ |
| | | throw new CoolException("未查询到盘点信息"); |
| | | } |
| | | if (!inventoryCheckOrderDetl.getStatus().equals("1")){ |
| | | throw new CoolException("该任务已盘点"); |
| | | } |
| | | inventoryCheckOrderDetl.setCheckAnfme(orderDetl.getCheckAnfme()); |
| | | inventoryCheckOrderDetl.setStatus("2"); |
| | | if (!inventoryCheckOrderDetlService.updateById(inventoryCheckOrderDetl)){ |
| | | throw new CoolException("保存盘点信息失败!"); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void stockOut(OrderDetl orderDetl, BasDevp staNo, LocDetl locDetl, |
| | | Double curOutQty, Integer ioType, Long userId, Date now) { |
| | |
| | | inventoryCheckOrderDetl.setMaktx(detlDto.getLocDetl().getMaktx()); |
| | | inventoryCheckOrderDetl.setBatch(detlDto.getLocDetl().getBatch()); |
| | | inventoryCheckOrderDetl.setLocNo(detlDto.getLocDetl().getLocNo()); |
| | | inventoryCheckOrderDetl.setArea(wrkMast.getCrnNo$()); |
| | | inventoryCheckOrderDetl.setArea(detlDto.getLocDetl().getOrigin()); |
| | | inventoryCheckOrderDetl.setAnfme(detlDto.getLocDetl().getAnfme()); |
| | | inventoryCheckOrderDetl.setIoTime(now); |
| | | inventoryCheckOrderDetl.setStatus("1"); |
| | |
| | | |
| | | LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); |
| | | if (null != locDetl) { |
| | | if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { |
| | | Double anfme = locDetl.getAnfme()+wrkDetl.getAnfme(); |
| | | if (!locDetlService.updateAnfme(anfme, wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { |
| | | // exceptionHandle("全板入库 ===>> 更新库存明细失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("全板入库 ===>> 更新库存明细失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); |
| | |
| | | where: {order_id: 9999999999}, |
| | | cols: [[ |
| | | {type: 'checkbox'} |
| | | ,{type: 'numbers', title: '#'} |
| | | ,{field: 'orderNo', align: 'center',title: '单据编号', templet: '#orderNoTpl', width: 160} |
| | | ,{field: 'orderNo', align: 'center',title: '单据编号', templet: '#orderNoTpl'} |
| | | ,{field: 'locNo', align: 'center',title: '库位'} |
| | | ,{field: 'matnr', align: 'center',title: '商品编码', width: 160} |
| | | ,{field: 'maktx', align: 'center',title: '商品名称', width: 200} |
| | |
| | | // ,{field: 'itemNum', align: 'center',title: '品项数'} |
| | | // ,{field: 'count', align: 'center',title: '数量'} |
| | | // ,{field: 'weight', align: 'center',title: '重量'} |
| | | ,{field: 'profit$', align: 'center',title: '盈亏',templet: '#profitTpl'} |
| | | ,{field: 'status$', align: 'center',title: '状态'} |
| | | // ,{field: 'createBy$', align: 'center',title: '添加人员'} |
| | | // ,{field: 'createTime$', align: 'center',title: '添加时间'} |
| | |
| | | |
| | | /* 表格2头工具栏点击事件 */ |
| | | table.on('toolbar(orderDetlTable)', function (obj) { |
| | | |
| | | // console.log(obj.config.where.order_id); |
| | | var checkStatus = table.checkStatus(obj.config.id).data; |
| | | if (obj.event === 'pakoutPreview') { // 添加 |
| | | if (checkStatus.length === 0) { |
| | |
| | | return d.id; |
| | | }); |
| | | doDelSensor({ids: ids}); |
| | | } else if (obj.event === 'submitERP') { // 提交erp |
| | | $.ajax({ |
| | | url: baseUrl + "/mobile/checkOut/submit/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | // contentType: 'application/json;charset=UTF-8', |
| | | data: { |
| | | orderId: obj.config.where.order_id |
| | | }, |
| | | method: 'GET', |
| | | success: function (res) { |
| | | notice.destroy(); |
| | | if (res.code === 200) { |
| | | layer.msg(res.msg, {icon: 1}); |
| | | insTb.reload({where: null}); |
| | | insTb2.reload({where: null, page: {curr: 1}}); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | layer.msg(res.msg, {icon: 2}) |
| | | } |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }); |
| | | |
| | |
| | | <button class="layui-btn icon-btn" lay-filter="originTbReset" lay-submit> |
| | | <i class="layui-icon"></i>重置 |
| | | </button> |
| | | <button id="showFormBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon"></i>添加</button> |
| | | </div> |
| | | </div> |
| | | </form> |
| | |
| | | <div class="layui-col-md9"> |
| | | <div class="layui-card"> |
| | | <div class="layui-card-body" style="padding: 10px;"> |
| | | <button id="showFormBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon"></i>添加</button> |
| | | |
| | | <!-- <form class="layui-form toolbar">--> |
| | | <!-- <div class="layui-form-item">--> |
| | | <!--<!– <div class="layui-inline">–>--> |
| | |
| | | <!-- </select>--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <!-- <button class="layui-btn layui-btn-sm layui-btn-danger btn-pakoutPreview" id="btn-pakoutPreview" lay-event="pakoutPreview">批量出库</button>--> |
| | | |
| | | <!-- <button class="layui-btn layui-btn-sm layui-btn-danger btn-pakoutPreview" id="btn-pakoutPreview" lay-event="submitERP"><i class="layui-icon"></i>提交ERP</button>--> |
| | | <button id="submitERP" class="layui-btn icon-btn btn-add" lay-event="submitERP"><i class="layui-icon"></i>提交ERP</button> |
| | | </script> |
| | | |
| | | <!-- 行工具栏 --> |
| | |
| | | <input type="checkbox" name="status" value="{{d.status}}" lay-skin="switch" lay-text="正常|禁用" lay-filter="statusSwitch" {{ d.status === 1 ? 'checked' : '' }}> |
| | | </script> |
| | | |
| | | <script type="text/html" id="profitTpl"> |
| | | <span name="settle" |
| | | {{# if( d.profit$ === "盘亏"){ }} |
| | | class="layui-badge layui-badge-red" |
| | | {{# }else if(d.profit$ === "盘盈"){ }} |
| | | class="layui-badge layui-badge-green" |
| | | {{# }else if(d.profit$ === "平"){ }} |
| | | class="layui-badge layui-badge-gray" |
| | | {{# } }} |
| | | >{{d.profit$}}</span> |
| | | </script> |
| | | |
| | | <!-- 表单弹窗 --> |
| | | <script type="text/html" id="editDialog"> |
| | | <form id="detail" lay-filter="detail" class="layui-form admin-form"> |