| | |
| | | import com.zy.api.entity.StockAdjustParams; |
| | | import com.zy.api.entity.StockUpOrderParams; |
| | | import com.zy.api.entity.SyncMatParmas; |
| | | import com.zy.api.entity.dto.LocDetlDto; |
| | | import com.zy.api.entity.dto.XSR; |
| | | import com.zy.api.enums.MatLocType; |
| | | import com.zy.api.enums.OrderType; |
| | | import com.zy.api.enums.OrderWkType; |
| | | import com.zy.api.service.KopenApiService; |
| | | import com.zy.asrs.entity.CheckOrder; |
| | | import com.zy.asrs.entity.CheckOrderDetl; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.entity.Mat; |
| | | import com.zy.asrs.entity.Order; |
| | | import com.zy.asrs.entity.OrderDetl; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.enums.CommonEnum; |
| | | import com.zy.asrs.enums.OrderSettle; |
| | | import com.zy.asrs.enums.OrderTypeEnum; |
| | | import com.zy.asrs.service.CheckOrderDetlService; |
| | | import com.zy.asrs.service.CheckOrderService; |
| | | import com.zy.asrs.service.LocDetlService; |
| | | import com.zy.asrs.service.MatService; |
| | | import com.zy.asrs.service.OrderDetlService; |
| | | import com.zy.asrs.service.OrderService; |
| | | import com.zy.asrs.service.*; |
| | | |
| | | import com.zy.asrs.service.impl.BasAreasServiceImpl; |
| | | import com.zy.asrs.service.impl.OrderDetlPakinServiceImpl; |
| | | import com.zy.asrs.service.impl.OrderPakinServiceImpl; |
| | | import com.zy.asrs.utils.Utils; |
| | | import com.zy.common.utils.HttpHandler; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Slf4j |
| | | @Service("kopenApiServiceImpl") |
| | |
| | | private String port; |
| | | @Value("${kopen.prefix}") |
| | | private String prefix; |
| | | @Autowired |
| | | private BasAreasService basAreasService; |
| | | @Autowired |
| | | private OrderPakinService orderPakinService; |
| | | @Autowired |
| | | private OrderDetlPakinService orderDetlPakinService; |
| | | |
| | | |
| | | /** |
| | |
| | | if (!Objects.isNull(code) && code.equals(200)) { |
| | | if (!Objects.isNull(order)) { |
| | | order.setReportOnce(5); |
| | | order.setSettle(6L); |
| | | orderService.updateById(order); |
| | | } |
| | | return XSR.ok("入库单上报完成!!"); |
| | |
| | | if (Objects.isNull(params.getCompany_id())) { |
| | | throw new CoolException("公司ID不能为空!!"); |
| | | } |
| | | |
| | | addOrUpdateOrders(params, type); |
| | | }); |
| | | |
| | |
| | | /** 不存在,新增订单 */ |
| | | generateOrders(params, type); |
| | | } else { |
| | | if (order.getSettle() == 2) { |
| | | OrderPakin orderPakin = orderPakinService.selectOne(new EntityWrapper<OrderPakin>().eq("order_no", order.getOrderNo())); |
| | | if (!Objects.isNull(orderPakin) && orderPakin.getSettle() != 1) { |
| | | throw new CoolException("订单已处理,不可再变更!!"); |
| | | } |
| | | /** 存在,删除老订单,更新插入新订单 */ |
| | | // 删除旧订单明细 |
| | | if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) { |
| | | throw new CoolException("订单明细删除失败!!"); |
| | | if (!orderDetlPakinService.delete(new EntityWrapper<OrderDetlPakin>().eq("order_no", orderPakin.getOrderNo()))) { |
| | | throw new CoolException("订单删除失败!!"); |
| | | } |
| | | |
| | | if (!orderService.deleteById(order.getId())) { |
| | | if (!orderPakinService.delete(new EntityWrapper<OrderPakin>().eq("order_no", orderPakin.getOrderNo()))) { |
| | | throw new CoolException("主单删除失败!!"); |
| | | } |
| | | // 删除旧订单明细 |
| | | // if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) { |
| | | // throw new CoolException("订单明细删除失败!!"); |
| | | // } |
| | | |
| | | order.setSettle(3L); |
| | | if (!orderService.updateById(order)) { |
| | | throw new CoolException("原单据删除失败!!"); |
| | | } |
| | | generateOrders(params, type); |
| | | // generateOrders(params, type); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | if (!Objects.isNull(params.getDetails()) && !params.getDetails().isEmpty()) { |
| | | params.getDetails().forEach(item -> { |
| | | Mat matnr = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", item.getPro_komcode())); |
| | | Mat matnr = matService.selectOne(new EntityWrapper<Mat>() |
| | | .eq("supp_code", item.getPro_id()) |
| | | .eq("matnr", item.getPro_komcode())); |
| | | if (Objects.isNull(matnr)) { |
| | | throw new CoolException("物料编码不存在!!"); |
| | | } |
| | |
| | | */ |
| | | @Override |
| | | public XSR getStockInfo(List<PageRequestParams> params) { |
| | | EntityWrapper<LocDetl> wrapper = new EntityWrapper<>(); |
| | | if (!Objects.isNull(params.getPro_id())) { |
| | | wrapper.eq("supp_code", params.getPro_id()); |
| | | if (Objects.isNull(params) || params.isEmpty()) { |
| | | throw new CoolException("参数不能为空!!"); |
| | | } |
| | | if (!Objects.isNull(params.getPro_komcode())) { |
| | | wrapper.eq("matnr", params.getPro_komcode()); |
| | | List<LocDetl> detls = new ArrayList<>(); |
| | | params.forEach(param -> { |
| | | List<LocDetl> selectList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("supp_code", param.getPro_id()).eq("matnr", param.getPro_komcode())); |
| | | if (selectList != null && !selectList.isEmpty()) { |
| | | detls.addAll(selectList); |
| | | } |
| | | }); |
| | | |
| | | if (detls == null || detls.isEmpty()) { |
| | | return XSR.ok(); |
| | | } |
| | | |
| | | Page<LocDetl> locDetls = locDetlService.selectPage(new Page<>(params.getCurr(), params.getLimit()), wrapper); |
| | | |
| | | return XSR.ok(locDetls.getRecords()); |
| | | List<LocDetlDto> dtos = new ArrayList<>(); |
| | | detls.forEach(item -> { |
| | | LocDetlDto locDetlDto = new LocDetlDto(); |
| | | if (item.getDiffQty().compareTo(BigDecimal.ZERO) == 0) { |
| | | locDetlDto.setLock_qty(0); |
| | | } else { |
| | | locDetlDto.setLock_qty(Integer.parseInt(item.getDiffQty().toString())); |
| | | } |
| | | if (item.getBookQty().compareTo(BigDecimal.ZERO) == 0) { |
| | | locDetlDto.setStock_qty(item.getAnfme().intValue()); |
| | | } else { |
| | | locDetlDto.setStock_qty(Integer.parseInt(item.getBookQty().toString())); |
| | | } |
| | | LocDetl barcode = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("zpallet", item.getZpallet())); |
| | | if (!Objects.isNull(barcode)) { |
| | | BasAreas areas = basAreasService.selectOne(new EntityWrapper<BasAreas>().eq("id", barcode.getAreaId())); |
| | | if (!Objects.isNull(areas)) { |
| | | locDetlDto.setTarget_location(areas.getName()); |
| | | } |
| | | } |
| | | locDetlDto |
| | | .setPro_komcode(item.getMatnr()) |
| | | .setPro_id(item.getStandby1()) |
| | | .setLocation_no(item.getZpallet()); |
| | | dtos.add(locDetlDto); |
| | | }); |
| | | return XSR.ok(dtos); |
| | | } |
| | | |
| | | /** |
| | |
| | | try { |
| | | response = new HttpHandler.Builder() |
| | | .setUri(url + ":" + port) |
| | | .setPath(prefix + "/getOutDetailsResult") |
| | | .setPath(prefix + "/getOutDispatchResult") |
| | | .setJson(JSONObject.toJSONString(orderParams)) |
| | | .build() |
| | | .doPost(); |
| | | if (Objects.isNull(response) || response.trim().isEmpty()) { |
| | | if (!Objects.isNull(order)) { |
| | | int reportOnce = order.getReportOnce(); |
| | | reportOnce++; |
| | | order.setReportOnce(reportOnce); |
| | | orderService.updateById(order); |
| | | } |
| | | return XSR.error("外网接口无响应!!"); |
| | | } |
| | | JSONObject jsonObject = JSONObject.parseObject(response); |