| | |
| | | convert(param, wrapper); |
| | | allLike(CheckOrder.class, param.keySet(), wrapper, condition); |
| | | if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} |
| | | wrapper.orderBy("create_time", false); |
| | | return R.ok(checkOrderService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | } |
| | | |
| | |
| | | // ); |
| | | |
| | | public BigDecimal getDiffQty() { |
| | | if (null == this.status || this.status == 1 || this.status == 0 ) { |
| | | if (null == this.status || this.status == 1 || this.status == 0 || this.status == 2) { |
| | | return BigDecimal.ZERO; |
| | | } |
| | | if (null != this.anfme && this.workQty != null) { |
| | |
| | | import lombok.experimental.Accessors; |
| | | |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | |
| | |
| | | */ |
| | | @ApiModelProperty(value= "差异数量") |
| | | @TableField("diff_qty") |
| | | private String diffQty = ""; |
| | | private BigDecimal diffQty = BigDecimal.ZERO; |
| | | |
| | | |
| | | |
| | | @ApiModelProperty(value= "账面数量") |
| | | @TableField("book_qty") |
| | | private BigDecimal bookQty = BigDecimal.ZERO; |
| | | // private BigDecimal bookQty = Cools.isEmpty(anfme)? BigDecimal.ZERO : new BigDecimal(anfme.toString()); |
| | | |
| | | |
| | | public BigDecimal getBookQty() { |
| | | if (diffQty.compareTo(BigDecimal.ZERO) == 0 || diffQty.compareTo(BigDecimal.ZERO) > 0) { |
| | | return new BigDecimal(anfme.toString()); |
| | | |
| | | } |
| | | return new BigDecimal(anfme.toString()).subtract(diffQty); |
| | | } |
| | | |
| | | public String getLocNo$(){ |
| | | LocMastService service = SpringUtils.getBean(LocMastService.class); |
| | |
| | | @TableField("order_no") |
| | | private String orderNo; |
| | | |
| | | @ApiModelProperty(value= "单据id") |
| | | @TableField("order_id") |
| | | private Long orderId; |
| | | |
| | | /** |
| | | * 规格 |
| | | */ |
| | |
| | | @TableField("order_no") |
| | | private String orderNo; |
| | | |
| | | @ApiModelProperty(value= "单据id") |
| | | @TableField("order_id") |
| | | private Long orderId; |
| | | |
| | | /** |
| | | * 规格 |
| | | */ |
| | |
| | | } |
| | | List<LocDto> locDtos = new ArrayList<>(); |
| | | for (CheckOrderDetl checkOrderDetl : checkOrderDetls) { |
| | | if (!checkOrderDetl.getStatus().equals(1)){ |
| | | continue; |
| | | } |
| | | LocDto locDto = new LocDto(checkOrderDetl.getLocNo(), checkOrderDetl.getMatnr(), checkOrderDetl.getMaktx(), checkOrderDetl.getBatch(), checkOrderDetl.getOrderNo(), |
| | | checkOrderDetl.getAnfme().doubleValue()); |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", checkOrderDetl.getLocNo())); |
| | | if (!locMast.getLocSts().equals("F")){ |
| | | continue; |
| | | } |
| | | LocDetl locDetl = locDetlService.selectById(checkOrderDetl.getLocDetlId()); |
| | | locDto.setFrozen(locDetl.getFrozen()); |
| | | locDto.setFrozenLoc(locMast.getFrozen()); |
| | |
| | | if(Cools.isEmpty(wrkDetl.getOrderNo())){ |
| | | throw new CoolException("明细数据有误,无订单号数据"); |
| | | } |
| | | CheckOrderDetl checkOrderDetl = checkOrderDetlService.selectOne(new EntityWrapper<CheckOrderDetl>() |
| | | .eq("loc_no", wrkMast.getSourceLocNo()) |
| | | .eq("matnr", wrkDetl.getMatnr()) |
| | | .eq("batch", wrkDetl.getBatch()) |
| | | .eq("order_no", wrkDetl.getOrderNo())); |
| | | CheckOrderDetl checkOrderDetl = checkOrderDetlService.selectById(wrkDetl.getOrderId()); |
| | | if(Cools.isEmpty(checkOrderDetl)){ |
| | | throw new CoolException("明细数据有误,未找到盘点单数据"); |
| | | } |
| | |
| | | package com.zy.asrs.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.core.common.Cools; |
| | |
| | | import com.zy.asrs.service.LocDetlService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | @Override |
| | | public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch, |
| | | String brand,String standby1,String standby2,String standby3,String boxType1,String boxType2,String boxType3) { |
| | | if (anfme <= 0) { |
| | | LocDetl locDetl = this.selectOne(new EntityWrapper<LocDetl>() |
| | | .eq(!Cools.isEmpty(locNo),"loc_no", locNo) |
| | | .eq(!Cools.isEmpty(locNo),"matnr", matnr) |
| | | .eq(!Cools.isEmpty(locNo),"batch", batch) |
| | | .eq(!Cools.isEmpty(brand),"brand", brand) |
| | | .eq(!Cools.isEmpty(standby1),"standby1", standby1) |
| | | .eq(!Cools.isEmpty(standby2),"standby2", standby2) |
| | | .eq(!Cools.isEmpty(standby3),"standby3", standby3) |
| | | .eq(!Cools.isEmpty(boxType1),"box_type1", boxType1) |
| | | .eq(!Cools.isEmpty(boxType2),"box_type2", boxType2) |
| | | .eq(!Cools.isEmpty(boxType3),"box_type3", boxType3) |
| | | ); |
| | | if (Cools.isEmpty(locDetl)) { |
| | | return false; |
| | | } |
| | | if (anfme <= 0 && locDetl.getDiffQty().compareTo(BigDecimal.ZERO) == 0) { |
| | | return this.baseMapper.deleteItem(locNo, matnr, batch, brand, standby1, standby2, standby3, boxType1, boxType2, boxType3) > 0; |
| | | } else { |
| | | return baseMapper.updateAnfme(anfme, locNo, matnr, batch, brand, standby1, standby2, standby3, boxType1, boxType2, boxType3) > 0; |
| | |
| | | |
| | | WrkDetl wrkDetl = new WrkDetl(); |
| | | wrkDetl.sync(checkOrderDetls.get(0)); |
| | | wrkDetl.setOrderId(checkOrderDetls.get(0).getId()); |
| | | wrkDetl.setZpallet(wrkMast.getBarcode()); |
| | | wrkDetl.setIoTime(now); |
| | | wrkDetl.setWrkNo(workNo); |
| | |
| | | @Override |
| | | @Transactional |
| | | public void pickWrkMast(String workNo, Long userId) { |
| | | WrkMast wrkMast = wrkMastService.selectById(workNo); |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", workNo)); |
| | | if (Cools.isEmpty(wrkMast)) { |
| | | throw new CoolException(workNo + "工作档不存在"); |
| | | } |
| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | private TaskDetlService taskDetlService; |
| | | @Autowired |
| | | private BasStationServiceImpl basStationService; |
| | | @Autowired |
| | | private CheckOrderDetlService checkOrderDetlService; |
| | | |
| | | public ReturnT<String> start(WrkMast wrkMast) { |
| | | // 4.入库完成 |
| | |
| | | for (WrkDetl wrkDetl : wrkDetls57) { |
| | | if (!Cools.isEmpty(wrkDetl.getOrderNo())) { |
| | | // 更新订单完成数量 |
| | | OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), |
| | | wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); |
| | | if (!Cools.isEmpty(orderDetlPakout)) { |
| | | if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), |
| | | orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), |
| | | wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) { |
| | | CheckOrderDetl checkOrderDetl = checkOrderDetlService.selectById(wrkDetl.getOrderId()); |
| | | LocDetl locDetl = locDetlService.selectById(checkOrderDetl.getLocDetlId()); |
| | | BigDecimal oriAnfme = new BigDecimal(locDetl.getAnfme()); |
| | | locDetl.setAnfme(checkOrderDetl.getDiffQty() |
| | | .compareTo(BigDecimal.ZERO) == 0 || checkOrderDetl.getDiffQty() |
| | | .compareTo(BigDecimal.ZERO) > 0 |
| | | ? oriAnfme.doubleValue() |
| | | : oriAnfme.add(checkOrderDetl.getDiffQty()).doubleValue()); |
| | | locDetl.setBookQty(oriAnfme); |
| | | locDetl.setDiffQty(checkOrderDetl.getDiffQty()); |
| | | if (!locDetlService.updateById(locDetl)){ |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("盘点入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); |
| | | return FAIL.setMsg("盘点入库 ===>> 修改库存差异数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | // 修改库位状态 Q ====>> F |
| | |
| | | layer.close(layerIndex); |
| | | 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 { |
| | |
| | | ,{field: 'maktx', align: 'center',title: '商品名称', sort:true} |
| | | ,{field: 'orderNo', align: 'center',title: '单据编号', hide: true} |
| | | ,{field: 'batch', align: 'center',title: '批号', width: 300, sort:true} |
| | | ,{field: 'anfme', align: 'center',title: '数量'} |
| | | ,{field: 'anfme', align: 'center',title: '可用数量'} |
| | | ,{field: 'bookQty', align: 'center',title: '账面数量'} |
| | | ,{field: 'zpallet', align: 'center',title: '托盘条码'} |
| | | ,{field: 'specs', align: 'center',title: '规格'} |
| | | ,{field: 'model', align: 'center',title: '代码', hide: true} |
| | |
| | | return '<span">' +d.frozen$ + '</span>'; |
| | | } |
| | | }} |
| | | ,{field: 'diffQty', align: 'center',title: '盘点数量', |
| | | templet: function(d) { |
| | | // 根据条件判断字体颜色 |
| | | if (d.diffQty < 0 ) { |
| | | return '<span style="color: #de3434;">' +d.diffQty + '</span>'; |
| | | }else if (d.diffQty > 0){ |
| | | return '<span style="color: #19fa02;">' +d.diffQty + '</span>'; |
| | | } else { |
| | | return '<span">' +d.diffQty + '</span>'; |
| | | } |
| | | }} |
| | | ]; |
| | | |
| | | // cols.push.apply(cols, detlCols); |
| | |
| | | {{# if (d.settle == 2 || d.settle == 11) { }} |
| | | <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">完结</a> |
| | | {{# } }} |
| | | {{# if (d.settle == 12) { }} |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs layui-border-blue" lay-event="createTask">生成任务</a> |
| | | {{# } }} |
| | | {{# if (d.settle == 4) { }} |
| | | <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="export">导出差异单</a> |
| | | {{# } }} |