#修改
1. 优化标准收货
2. 添加动态扩展字段功能
| | |
| | | if (Objects.isNull(params.getAsnCode())) { |
| | | throw new CoolException("通知单不能为空!!"); |
| | | } |
| | | if (Objects.isNull(params.getBarcode())) { |
| | | throw new CoolException("物料编码不能为空!!"); |
| | | } |
| | | |
| | | AsnOrderItem asnOrderItem = asnOrderItemMapper.selectOne(new LambdaQueryWrapper<AsnOrderItem>() |
| | | .eq(AsnOrderItem::getAsnCode, params.getAsnCode()) |
| | | .eq(AsnOrderItem::getBarcode, params.getBarcode())); |
| | | .eq(!Objects.isNull(params.getBarcode()) ,AsnOrderItem::getBarcode, params.getBarcode())); |
| | | |
| | | if (Objects.isNull(asnOrderItem)) { |
| | | throw new CoolException("单据明细不存在!!"); |
| | |
| | | List<KeyValVo> vos = new ArrayList<>(); |
| | | LambdaQueryWrapper<AsnOrder> wrapper = new LambdaQueryWrapper<>(); |
| | | if (!Cools.isEmpty(condition)) { |
| | | wrapper.like(AsnOrder::getName, condition); |
| | | wrapper.like(AsnOrder::getCode, condition); |
| | | } |
| | | asnOrderService.page(new Page<>(1, 30), wrapper).getRecords().forEach( |
| | | item -> vos.add(new KeyValVo(item.getId(), item.getName())) |
| | | item -> vos.add(new KeyValVo(item.getId(), item.getCode())) |
| | | ); |
| | | return R.ok().add(vos); |
| | | } |
| | |
| | | /** |
| | | * 名称 |
| | | */ |
| | | @ApiModelProperty(value= "名称") |
| | | private String name; |
| | | // @ApiModelProperty(value= "名称") |
| | | // private String name; |
| | | |
| | | /** |
| | | * 状态 1: 正常 0: 冻结 |
| | |
| | | |
| | | public AsnOrder() {} |
| | | |
| | | public AsnOrder(String code,String poCode,Long poId,String type,String wkType,Double anfme,Double qty,String logisNo,Date arrTime,Short rleStatus,String name,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) { |
| | | public AsnOrder(String code,String poCode,Long poId,String type,String wkType,Double anfme,Double qty,String logisNo,Date arrTime,Short rleStatus,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) { |
| | | this.code = code; |
| | | this.poCode = poCode; |
| | | this.poId = poId; |
| | |
| | | this.logisNo = logisNo; |
| | | this.arrTime = arrTime; |
| | | this.rleStatus = rleStatus; |
| | | this.name = name; |
| | | this.status = status; |
| | | this.deleted = deleted; |
| | | this.tenantId = tenantId; |
| | |
| | | private Long asnId; |
| | | |
| | | /** |
| | | * 字段索引 |
| | | */ |
| | | @ApiModelProperty("字段索引") |
| | | private String fieldsIndex; |
| | | |
| | | /** |
| | | * ASN单号 |
| | | */ |
| | | @ApiModelProperty(value= "ASN单号") |
| | |
| | | private String platItemId; |
| | | |
| | | /** |
| | | * 动态字段索引 |
| | | */ |
| | | @ApiModelProperty("动态字段索引") |
| | | private String fieldsIndex; |
| | | |
| | | /** |
| | | * 物料编码 |
| | | */ |
| | | @ApiModelProperty(value= "物料编码") |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.vincent.rsf.framework.exception.CoolException; |
| | | import com.vincent.rsf.server.common.config.SysStockProperties; |
| | | import com.vincent.rsf.server.common.utils.CommonUtil; |
| | | import com.vincent.rsf.server.common.utils.DateUtils; |
| | | import com.vincent.rsf.server.manager.entity.*; |
| | | import com.vincent.rsf.server.manager.service.*; |
| | |
| | | throw new CoolException("ASN单据保存失败!!"); |
| | | } |
| | | List<AsnOrderItem> orderItems = new ArrayList<>(); |
| | | String uuid16 = CommonUtil.randomUUID16(); |
| | | items.forEach(item -> { |
| | | AsnOrderItem orderItem = new AsnOrderItem(); |
| | | Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, item.getMatnrCode())); |
| | |
| | | .setAsnId(order.getId()) |
| | | .setQty(item.getQty()) |
| | | .setSplrName(item.getSplrName()) |
| | | .setAsnCode(code) |
| | | .setSplrCode(item.getSplrCode()) |
| | | .setMatnk(item.getMatnrName()) |
| | | .setPoDetlId(item.getId()) |
| | |
| | | .setPurUnit(item.getUnit()) |
| | | .setMatnk(matnr.getName()) |
| | | .setMatnrId(matnr.getId() + ""); |
| | | //判断PO单是否已设置动态字段索引 |
| | | if (Objects.isNull(item.getFieldsIndex())) { |
| | | orderItem.setFieldsIndex(uuid16); |
| | | } else { |
| | | orderItem.setFieldsIndex(item.getFieldsIndex()); |
| | | } |
| | | orderItems.add(orderItem); |
| | | }); |
| | | if (!asnOrderItemService.saveBatch(orderItems)) { |