| | |
| | | throw new CoolException("保存订单主档失败"); |
| | | } |
| | | List<DetlDto> list = new ArrayList<>(); |
| | | Boolean flag = false; |
| | | for (OrderDetl orderDetl : param.getOrderDetlList()) { |
| | | if (Cools.isEmpty(orderDetl.getProcessSts())) { |
| | | orderDetl.setProcessSts(3); |
| | | } |
| | | if (orderDetl.getProcessSts() == 1) { |
| | | flag = true; |
| | | } |
| | | DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch()); |
| | | if (DetlDto.has(list, dto)) { |
| | | OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getThreeCode(),orderDetl.getDeadTime()); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | // 工序为1:待加工 生成加工单 |
| | | if (flag) { |
| | | if (param.getDocType().intValue() == 32) { |
| | | order = new Order( |
| | | String.valueOf(snowflakeIdWorker.nextId()), // 编号[非空] |
| | | "JG" + param.getOrderNo(), // 订单编号 |
| | | DateUtils.convert(now), // 单据日期 |
| | | 35L, // 单据类型 |
| | | null, // 项目编号 |
| | | null, // |
| | | null, // 调拨项目编号 |
| | | null, // 初始票据号 |
| | | null, // 票据号 |
| | | null, // 客户编号 |
| | | null, // 客户 |
| | | null, // 联系方式 |
| | | null, // 操作人员 |
| | | null, // 合计金额 |
| | | null, // 优惠率 |
| | | null, // 优惠金额 |
| | | null, // 销售或采购费用合计 |
| | | null, // 实付金额 |
| | | null, // 付款类型 |
| | | null, // 业务员 |
| | | null, // 结算天数 |
| | | null, // 邮费支付类型 |
| | | null, // 邮费 |
| | | null, // 付款时间 |
| | | null, // 发货时间 |
| | | null, // 物流名称 |
| | | null, // 物流单号 |
| | | 1L, // 订单状态 |
| | | 1, // 状态 |
| | | getUserId(), // 添加人员 |
| | | now, // 添加时间 |
| | | getUserId(), // 修改人员 |
| | | now, // 修改时间 |
| | | null // 备注 |
| | | ); |
| | | if (!orderService.insert(order)) { |
| | | throw new CoolException("生成半成品调拨单失败"); |
| | | } |
| | | List<DetlDto> dbList = new ArrayList<>(); |
| | | for (OrderDetl orderDetl : param.getOrderDetlList()) { |
| | | if (orderDetl.getProcessSts() != 1) continue; |
| | | DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch()); |
| | | if (DetlDto.has(dbList, dto)) { |
| | | OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getThreeCode(),orderDetl.getDeadTime()); |
| | | item.setAnfme(item.getAnfme() + orderDetl.getAnfme()); |
| | | if (!orderDetlService.updateById(item)) { |
| | | throw new CoolException("生成半成品调拨单明细档失败"); |
| | | } |
| | | } else { |
| | | dbList.add(dto); |
| | | orderDetl.setOrderId(order.getId()); |
| | | orderDetl.setOrderNo(order.getOrderNo()); |
| | | orderDetl.setSource(35); |
| | | orderDetl.setCreateBy(getUserId()); |
| | | orderDetl.setCreateTime(now); |
| | | orderDetl.setUpdateBy(getUserId()); |
| | | orderDetl.setUpdateTime(now); |
| | | orderDetl.setStatus(1); |
| | | orderDetl.setQty(0.0D); |
| | | if (!orderDetlService.insert(orderDetl)) { |
| | | throw new CoolException("生成半成品调拨单明细档失败"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | return R.ok("订单添加成功"); |
| | | } |
| | | |
| | |
| | | docIds.add(pakin.getDocId()); |
| | | } |
| | | } |
| | | |
| | | wrapper.eq("process_sts",1); |
| | | wrapper.in("source",docIds); |
| | | Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper); |
| | | for (OrderDetl record : page.getRecords()) { |
| | | Double sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode()); |
| | | Double sumAnfme = agvLocDetlService.getSumAnfmeProcess(record.getMatnr(), record.getThreeCode()); |
| | | record.setStock(sumAnfme == null ? 0 : sumAnfme); |
| | | } |
| | | |
| | |
| | | @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where b.loc_sts = 'F' and a.matnr = #{matnr} AND a.three_code = #{threeCode}") |
| | | Double selectSumAnfmeByMatnr(@Param("matnr") String matnr,@Param("threeCode") String threeCode); |
| | | |
| | | @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where b.loc_sts = 'F' and a.matnr = #{matnr} AND a.three_code = #{threeCode} AND a.process_sts = 1") |
| | | Double selectSumAnfmeByMatnrProcess(@Param("matnr") String matnr,@Param("threeCode") String threeCode); |
| | | |
| | | @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where (b.loc_sts = 'F' or b.loc_sts = 'R') and b.floor = #{floor} and a.matnr = #{matnr} AND a.three_code = #{threeCode}") |
| | | Double selectSumAnfmeByMatnr2(@Param("matnr") String matnr,@Param("threeCode") String threeCode,@Param("floor") Integer floor); |
| | | |
| | |
| | | |
| | | Double getSumAnfme(String matnr, String threeCode); |
| | | |
| | | Double getSumAnfmeProcess(String matnr, String threeCode); |
| | | |
| | | Double getSumAnfmeDb(String matnr, String threeCode, Integer floor); |
| | | |
| | | Integer sum(); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Double getSumAnfmeProcess(String matnr, String threeCode) { |
| | | return this.baseMapper.selectSumAnfmeByMatnrProcess(matnr, threeCode); |
| | | } |
| | | |
| | | @Override |
| | | public Double getSumAnfmeDb(String matnr, String threeCode,Integer floor) { |
| | | return this.baseMapper.selectSumAnfmeByMatnr2(matnr, threeCode, floor); |
| | | } |