Merge remote-tracking branch 'origin/devlop' into devlop
| | |
| | | fieldsIndex: "fieldsIndex", |
| | | barcode: "barcode", |
| | | anfme: "anfme", |
| | | workQty: 'Work Qty', |
| | | qty: 'Available', |
| | | batch: "batch", |
| | | unit: "unit", |
| | | stockUnit: "stockUnit", |
| | |
| | | matnrName: "物料名称", |
| | | matnrCode: "物料编码", |
| | | fieldsIndex: "扩展字段唯一标识", |
| | | workQty: '上架中', |
| | | qty: '已完成', |
| | | barcode: "条形码", |
| | | anfme: "数量", |
| | | batch: "批次号", |
| | |
| | | matnrCode: "物料编码", |
| | | trackCode: "跟踪码", |
| | | workQty: '执行数', |
| | | qty: '总数量', |
| | | unit: "单位", |
| | | anfme: "数量", |
| | | batch: "批次", |
| | | splrBatch: "供应商批次", |
| | | spec: "规格", |
| | |
| | | <Grid item xs={6} display="flex" gap={1}> |
| | | <TextInput |
| | | label="table.field.warehouseAreasItem.splrBtch" |
| | | source="splrBtch" |
| | | source="splrBatch" |
| | | parse={v => v} |
| | | /> |
| | | </Grid> |
| | |
| | | preferenceKey='warehouseAreasItem' |
| | | bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} |
| | | rowClick={(id, resource, record) => false} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'areaId', 'matnrId', 'batch', 'shipperId', 'splrId']} |
| | | omit={['id', 'createTime', 'memo', 'areaId', 'brand', 'createBy$', 'weight', 'matnrId', 'batch', 'shipperId', 'splrId']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <NumberField source="areaId" label="table.field.warehouseAreasItem.areaId" /> |
| | |
| | | <TextField source="matnrCode" label="table.field.warehouseAreasItem.matnrCode" /> |
| | | <TextField source="trackCode" label="table.field.warehouseAreasItem.barcode" /> |
| | | <NumberField source="anfme" label="table.field.warehouseAreasItem.anfme" /> |
| | | <NumberField source="workQty" label="table.field.warehouseAreasItem.workQty" /> |
| | | <NumberField source="qty" label="table.field.warehouseAreasItem.qty" /> |
| | | <TextField source="splrBatch" label="table.field.warehouseAreasItem.splrBtch" /> |
| | | <TextField source="batch" label="table.field.warehouseAreasItem.batch" /> |
| | | <TextField source="unit" label="table.field.warehouseAreasItem.unit" /> |
| | | <TextField source="stockUnit" label="table.field.warehouseAreasItem.stockUnit" /> |
| | |
| | | <TextField source="splrId" label="table.field.warehouseAreasItem.splrId" /> |
| | | <NumberField source="weight" label="table.field.warehouseAreasItem.weight" /> |
| | | <TextField source="prodTime" label="table.field.warehouseAreasItem.prodTime" /> |
| | | <TextField source="splrBtch" label="table.field.warehouseAreasItem.splrBtch" /> |
| | | <TextField source="updateBy$" label="common.field.updateBy" /> |
| | | <DateField source="updateTime" label="common.field.updateTime" showTime /> |
| | | <TextField source="createBy$" label="common.field.createBy" /> |
| | |
| | | <Grid item xs={6}> |
| | | <PanelTypography |
| | | title="table.field.warehouseAreasItem.splrBtch" |
| | | property={record.splrBtch} |
| | | property={record.splrBatch} |
| | | /> |
| | | </Grid> |
| | | |
| | |
| | | if (Objects.isNull(params)) { |
| | | throw new CoolException("请求参数不能为空!!"); |
| | | } |
| | | return mobileService.receiptToWarehouse(params); |
| | | return mobileService.receiptToWarehouse(params, getLoginUserId()); |
| | | } |
| | | |
| | | @PreAuthorize("hasAuthority('manager:asnOrder:list')") |
| | |
| | | |
| | | R getOrderByCode(String barcode); |
| | | |
| | | R receiptToWarehouse(Map<String, Object> orders); |
| | | R receiptToWarehouse(Map<String, Object> orders, Long loginUserId); |
| | | |
| | | R otherReceipt(OtherReceiptParams params); |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * @param params |
| | | * @param loginUserId |
| | | * @return |
| | | * @author Ryan |
| | | * @description 收货至收货区 |
| | | * @param params |
| | | * @return |
| | | * @time 2025/3/10 15:41 |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R receiptToWarehouse(Map<String, Object> params) { |
| | | public R receiptToWarehouse(Map<String, Object> params, Long loginUserId) { |
| | | if (Objects.isNull(params)) { |
| | | throw new CoolException("参数不能为空!!"); |
| | | } |
| | |
| | | } |
| | | List<Map<String, Object>> receipts1 = (List<Map<String, Object>>) params.get("receipts"); |
| | | for (Map<String, Object> rcpt : receipts1) { |
| | | if (Objects.isNull(rcpt)) {continue;} |
| | | if (null == rcpt || Objects.isNull(rcpt)) {continue;} |
| | | ReceiptDetlsDto dto = JSONObject.parseObject(JSONObject.toJSONString(rcpt), ReceiptDetlsDto.class); |
| | | Matnr matnr = matnrMapper.selectById(dto.getMatnrId()); |
| | | if (Objects.isNull(matnr)) { |
| | |
| | | .setAnfme(dto.getReceiptQty()) |
| | | .setSplrBatch(dto.getSplrBatch()) |
| | | .setMatnrCode(matnr.getCode()) |
| | | .setUpdateBy(loginUserId) |
| | | .setCreateBy(loginUserId) |
| | | .setMatnrId(matnr.getId()) |
| | | .setMaktx(matnr.getName()) |
| | | //库存单位为最小单位 |
| | |
| | | package com.vincent.rsf.server.manager.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.vincent.rsf.framework.common.Cools; |
| | | import com.vincent.rsf.framework.common.R; |
| | |
| | | public R page(@RequestBody Map<String, Object> map) { |
| | | BaseParam baseParam = buildParam(map, BaseParam.class); |
| | | PageParam<WarehouseAreasItem, BaseParam> pageParam = new PageParam<>(baseParam, WarehouseAreasItem.class); |
| | | return R.ok().add(warehouseAreasItemService.page(pageParam, pageParam.buildWrapper(true))); |
| | | QueryWrapper<WarehouseAreasItem> queryWrapper = pageParam.buildWrapper(true); |
| | | queryWrapper.select( "id","area_id","area_name","asn_id","plat_item_id","po_code", |
| | | "asn_code", "asn_item_id","matnr_id","maktx","matnr_code","fields_index","track_code", |
| | | "SUM(anfme) anfme","SUM(work_qty) work_qty","ispt_result","SUM(qty) qty", "splr_batch","batch","unit","stock_unit", |
| | | "brand","shipper_id","splr_id","weight","prod_time","`status`", "create_by", |
| | | "create_time","update_by","update_time","memo"); |
| | | queryWrapper.groupBy("matnr_code", "splr_batch", "track_code"); |
| | | return R.ok().add(warehouseAreasItemService.page(pageParam, queryWrapper)); |
| | | } |
| | | |
| | | @PreAuthorize("hasAuthority('manager:warehouseAreasItem:list')") |
| | |
| | | } |
| | | } |
| | | List<WaitPakinItem> items = new ArrayList<>(); |
| | | //不良标签组托 |
| | | if (!Objects.isNull(waitPakin.getType()) && waitPakin.getType().equals("defective")) { |
| | | List<AsnOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getTrackCode, tracks)); |
| | | if (Objects.isNull(orderItems) || orderItems.isEmpty()) { |