| | |
| | | import com.zy.asrs.entity.param.OrderDomainParam; |
| | | import com.zy.asrs.entity.result.WrkTraceVo; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.utils.MathUtils; |
| | | import com.zy.common.model.DetlDto; |
| | | import com.zy.common.web.BaseController; |
| | | import org.springframework.beans.BeanUtils; |
| | |
| | | private DocTypeService docTypeService; |
| | | @Autowired |
| | | private WrkDetlService wrkDetlService; |
| | | @Autowired |
| | | private WrkDetlLogService wrkDetlLogService; |
| | | @Autowired |
| | | private WaitPakinService waitPakinService; |
| | | @Autowired |
| | |
| | | param.getOrderNo(), // 订单编号 |
| | | DateUtils.convert(now), // 单据日期 |
| | | param.getDocType(), // 单据类型 |
| | | null, // 项目编号 |
| | | null, // |
| | | param.getItemId(), // 项目编号 |
| | | param.getItemName(), // |
| | | null, // 调拨项目编号 |
| | | null, // 初始票据号 |
| | | null, // 票据号 |
| | | param.getDefNumber(), // 初始票据号 |
| | | param.getCstmr(), // 票据号 |
| | | null, // 客户编号 |
| | | null, // 客户 |
| | | null, // 联系方式 |
| | | null, // 操作人员 |
| | | getUser().getUsername(), // 操作人员 |
| | | null, // 合计金额 |
| | | null, // 优惠率 |
| | | null, // 优惠金额 |
| | |
| | | if (DetlDto.has(list, dto)) { |
| | | OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getBrand(), orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(), |
| | | orderDetl.getBoxType1(), orderDetl.getBoxType2(), orderDetl.getBoxType3()); |
| | | item.setAnfme(item.getAnfme() + orderDetl.getAnfme()); |
| | | item.setAnfme(MathUtils.add(item.getAnfme(), orderDetl.getAnfme())); |
| | | item.setStandby1(param.getDefNumber()); |
| | | if (!orderDetlService.updateById(item)) { |
| | | throw new CoolException("保存订单明细档失败"); |
| | | } |
| | |
| | | orderDetl.setUpdateTime(now); |
| | | orderDetl.setStatus(1); |
| | | orderDetl.setQty(0.0D); |
| | | orderDetl.setStandby1(param.getDefNumber()); |
| | | orderDetl.setPakinPakoutStatus(status); |
| | | if (!orderDetlService.insert(orderDetl)) { |
| | | throw new CoolException("保存订单明细档失败"); |
| | |
| | | Date now = new Date(); |
| | | Long userId = getUserId(); |
| | | // 修改主档 |
| | | if (!param.getDocType().equals(order.getDocType()) || param.getItemId() != order.getItemId()) { |
| | | if (!param.getDocType().equals(order.getDocType()) || param.getItemId() != order.getItemId() || param.getDefNumber() != order.getDefNumber()) { |
| | | order.setDocType(param.getDocType()); |
| | | order.setUpdateBy(userId); |
| | | order.setUpdateTime(now); |
| | | order.setItemId(param.getItemId()); |
| | | order.setItemName(param.getItemName()); |
| | | order.setDefNumber(param.getDefNumber()); |
| | | order.setNumber(param.getCstmr()); |
| | | if (!orderService.updateById(order)) { |
| | | throw new CoolException("修改订单类型失败"); |
| | | } |
| | |
| | | OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getBrand(), |
| | | param.getItemId(), orderDetl.getStandby2(), orderDetl.getStandby3(), |
| | | orderDetl.getBoxType1(), orderDetl.getBoxType2(), orderDetl.getBoxType3()); |
| | | item.setAnfme(item.getAnfme() + orderDetl.getAnfme()); |
| | | item.setAnfme(MathUtils.add(item.getAnfme() , orderDetl.getAnfme())); |
| | | if (!orderDetlService.updateById(item)) { |
| | | throw new CoolException("保存订单明细档失败"); |
| | | } |
| | |
| | | orderDetl.setUpdateTime(now); |
| | | orderDetl.setStatus(1); |
| | | orderDetl.setQty(0.0D); |
| | | orderDetl.setStandby1(param.getItemId()); |
| | | orderDetl.setStandby1(param.getDefNumber()); |
| | | if (!orderDetlService.insert(orderDetl)) { |
| | | throw new CoolException("保存订单明细档失败"); |
| | | } |
| | |
| | | totalQty = totalQty + orderDetl.getAnfme(); |
| | | wrkQty = wrkQty + orderDetl.getWorkQty(); |
| | | endQty = endQty + orderDetl.getQty(); |
| | | double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D); |
| | | double issued = Optional.of(MathUtils.subtract(orderDetl.getAnfme(), orderDetl.getWorkQty())).orElse(0.0D); |
| | | if (issued > 0.0) { |
| | | List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getOrigin(), null); |
| | | for (LocDetl locDetl : locDetls) { |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @GetMapping("/order/logTransferDBDD/{orderNo}") |
| | | @Transactional |
| | | public R logTransferDBDD(@PathVariable("orderNo") String orderNo) { |
| | | Order orderSou = orderService.selectByNo(orderNo); |
| | | if (!orderSou.getSettle().equals(2L)) { |
| | | return R.error("订单状态不正确,请联系管理员"); |
| | | } |
| | | |
| | | List<OrderDetl> old = orderDetlService.selectByOrderId(orderSou.getId()); |
| | | if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_no", orderNo))) { |
| | | throw new CoolException("重整出库订单【orderNo = " + orderNo + "】明细失败"); |
| | | } |
| | | List<WrkDetlLog> wrkDetls = wrkDetlLogService.selectList(new EntityWrapper<WrkDetlLog>() |
| | | .eq("order_no", orderNo)); |
| | | for (WrkDetlLog wrkDetlLog : wrkDetls) { |
| | | WrkDetl wrkDetl = new WrkDetl(); |
| | | wrkDetl.sync(wrkDetlLog); |
| | | |
| | | OrderDetl orderDetl = new OrderDetl(); |
| | | orderDetl.sync(wrkDetl); |
| | | orderDetl.setQty(wrkDetl.getAnfme()); |
| | | orderDetl.setOrderId(orderSou.getId()); |
| | | orderDetl.setOrderNo(orderSou.getOrderNo()); |
| | | orderDetl.setStatus(1); |
| | | orderDetl.setCreateTime(orderSou.getCreateTime()); |
| | | orderDetl.setCreateBy(orderSou.getCreateBy()); |
| | | orderDetl.setUpdateTime(orderSou.getUpdateTime()); |
| | | orderDetl.setUpdateBy(orderSou.getUpdateBy()); |
| | | orderDetl.setId(null); |
| | | //先按照批次匹配,再按照无批次号批次,因为销售发货,批次号可能带,有可能不携带,所以就会有问题;而且考虑到一条订单里如果相同物料,一条带批次,一条不带批次,情况 |
| | | for (OrderDetl xxx : old) { |
| | | if (xxx.beSimilar(wrkDetl)) { |
| | | orderDetl.setRemark(xxx.getRemark()); |
| | | } |
| | | } |
| | | if (Cools.isEmpty(orderDetl.getRemark())) { |
| | | for (OrderDetl xxx : old) { |
| | | if (xxx.beSimilarByWrkDetl(wrkDetl)) { |
| | | orderDetl.setRemark(xxx.getRemark()); |
| | | } |
| | | } |
| | | } |
| | | if (!orderDetlService.insert(orderDetl)) { |
| | | throw new CoolException("重整出库订单【orderNo = " + orderNo + "】明细失败"); |
| | | } |
| | | } |
| | | |
| | | // 修改订单状态 2.作业中 ===>> 4.待上报 |
| | | if (!orderService.updateSettle(orderSou.getId(), 4L, null)) { |
| | | throw new CoolException("服务器内部错误,请联系管理员"); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | } |