| | |
| | | import com.vincent.rsf.framework.common.R; |
| | | import com.vincent.rsf.framework.exception.CoolException; |
| | | import com.vincent.rsf.server.manager.entity.WkOrder; |
| | | import com.vincent.rsf.server.manager.entity.WkOrderItem; |
| | | import com.vincent.rsf.server.manager.enums.OrderType; |
| | | import com.vincent.rsf.server.manager.enums.OrderWorkType; |
| | | import com.vincent.rsf.server.common.domain.BaseParam; |
| | |
| | | import com.vincent.rsf.server.manager.enums.CompanysType; |
| | | import com.vincent.rsf.server.manager.enums.QlyIsptResult; |
| | | import com.vincent.rsf.server.manager.mapper.AsnOrderItemMapper; |
| | | import com.vincent.rsf.server.manager.entity.AsnOrderItem; |
| | | import com.vincent.rsf.server.manager.service.AsnOrderItemService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.vincent.rsf.server.manager.service.AsnOrderService; |
| | |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service("asnOrderItemService") |
| | | public class AsnOrderItemServiceImpl extends ServiceImpl<AsnOrderItemMapper, AsnOrderItem> implements AsnOrderItemService { |
| | | public class AsnOrderItemServiceImpl extends ServiceImpl<AsnOrderItemMapper, WkOrderItem> implements AsnOrderItemService { |
| | | |
| | | @Autowired |
| | | private AsnOrderService asnOrderMapper; |
| | |
| | | if (Objects.isNull(orders) || orders.isEmpty()) { |
| | | throw new CoolException("参数不能为空!!"); |
| | | } |
| | | List<AsnOrderItem> items = this.list(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getId, orders)); |
| | | List<WkOrderItem> items = this.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getId, orders)); |
| | | if (items.isEmpty()) { |
| | | throw new CoolException("单据明细不存在!!"); |
| | | } |
| | |
| | | if (!asnOrderMapper.save(order)) { |
| | | throw new CoolException("单据保存失败!!"); |
| | | } |
| | | List<AsnOrderItem> items = new ArrayList<>(); |
| | | List<WkOrderItem> items = new ArrayList<>(); |
| | | for (AsnOrderTemplate orderTemplate : listMap.get(key)) { |
| | | AsnOrderItem orderItem = new AsnOrderItem(); |
| | | WkOrderItem orderItem = new WkOrderItem(); |
| | | if (StringUtils.isBlank(orderTemplate.getMatnrCode())) { |
| | | throw new CoolException(orderTemplate.getCode() + ":物料编码不能为空!!"); |
| | | } |
| | |
| | | } |
| | | if (!items.isEmpty()) { |
| | | // double qty = items.stream().mapToDouble(AsnOrderItem::getQty).sum(); |
| | | double anfme = items.stream().mapToDouble(AsnOrderItem::getAnfme).sum(); |
| | | double anfme = items.stream().mapToDouble(WkOrderItem::getAnfme).sum(); |
| | | if (!asnOrderMapper.update(new LambdaUpdateWrapper<WkOrder>() |
| | | // .set(AsnOrder::getQty, qty) |
| | | .set(WkOrder::getAnfme, anfme) |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public boolean fieldsSave(Map<String, Object> params, Long loginUserId) { |
| | | AsnOrderItem asnOrderItem = JSONObject.parseObject(JSONObject.toJSONString(params), AsnOrderItem.class); |
| | | if (StringUtils.isNoneBlank(asnOrderItem.getSplrCode())) { |
| | | WkOrderItem wkOrderItem = JSONObject.parseObject(JSONObject.toJSONString(params), WkOrderItem.class); |
| | | if (StringUtils.isNoneBlank(wkOrderItem.getSplrCode())) { |
| | | Companys companys = companysService.getOne(new LambdaQueryWrapper<Companys>() |
| | | .eq(Companys::getId, asnOrderItem.getSplrCode()) |
| | | .eq(Companys::getId, wkOrderItem.getSplrCode()) |
| | | .eq(Companys::getType, CompanysType.COMPANYS_TYPE_SUPPLIER.val)); |
| | | if (!Objects.isNull(companys)) { |
| | | asnOrderItem.setSplrCode(companys.getCode()).setSplrName(companys.getName()); |
| | | wkOrderItem.setSplrCode(companys.getCode()).setSplrName(companys.getName()); |
| | | } |
| | | } |
| | | if (Objects.isNull(asnOrderItem.getAnfme()) || Double.compare(asnOrderItem.getAnfme(), 0.0) <= 0) { |
| | | if (Objects.isNull(wkOrderItem.getAnfme()) || Double.compare(wkOrderItem.getAnfme(), 0.0) <= 0) { |
| | | throw new CoolException("计划数不能为空!!"); |
| | | } |
| | | //保存扩展字段 |
| | | try { |
| | | StringBuffer sb = new StringBuffer(); |
| | | if (Objects.isNull(asnOrderItem.getFieldsIndex()) || StringUtils.isBlank(asnOrderItem.getFieldsIndex())) { |
| | | sb.append(asnOrderItem.getMatnrId() + asnOrderItem.getSplrBatch() ); |
| | | if (Objects.isNull(wkOrderItem.getFieldsIndex()) || StringUtils.isBlank(wkOrderItem.getFieldsIndex())) { |
| | | sb.append(wkOrderItem.getMatnrId() + wkOrderItem.getSplrBatch() ); |
| | | //获取16位uuid |
| | | String uuid16 = Cools.md5Chinese(sb.toString()); |
| | | asnOrderItem.setFieldsIndex(uuid16); |
| | | wkOrderItem.setFieldsIndex(uuid16); |
| | | params.put("index", uuid16); |
| | | } |
| | | //保存或更新动态字段值 |
| | |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | asnOrderItem.setUpdateBy(loginUserId).setCreateBy(loginUserId); |
| | | if (!this.saveOrUpdate(asnOrderItem)) { |
| | | wkOrderItem.setUpdateBy(loginUserId).setCreateBy(loginUserId); |
| | | if (!this.saveOrUpdate(wkOrderItem)) { |
| | | throw new CoolException("收货通知单明细保存失败!!"); |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public IPage<Map<String, Object>> listByAsnId(PageParam<AsnOrderItem, BaseParam> pageParam, QueryWrapper<AsnOrderItem> buildWrapper) { |
| | | public IPage<Map<String, Object>> listByAsnId(PageParam<WkOrderItem, BaseParam> pageParam, QueryWrapper<WkOrderItem> buildWrapper) { |
| | | IPage<Map<String, Object>> hsahMap = this.baseMapper.resultForMap(pageParam, buildWrapper); |
| | | if (hsahMap.getRecords().isEmpty()) { |
| | | return hsahMap.setRecords(new ArrayList<>()); |