add:半成品出入库导出功能
This commit is contained in:
@@ -38,6 +38,8 @@ public enum IOSEnum {
|
||||
LOCK_TYPE(MapOf.of("未锁定", "0", "入库锁", "1", "出库锁", "2","盘点锁", "3","损溢锁", "4","拼盘锁","5","其他锁","99")),
|
||||
// 海柔半成品出入库类型
|
||||
BILL_TYPE_HR(MapOf.of("生产出库", "1001", "盘点出库", "1002", "手工出库", "1009","生产入库","0001")),
|
||||
// 半成品出入类型
|
||||
BILL_TYPE_BCP(MapOf.of("清洗入库", "0001", "手工入库", "0009","生产出库","1001","手工出库","1009")),
|
||||
;
|
||||
private Map<String, String> code;
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.nl.wms.storage_manage.semimanage.controller.iostorInv;
|
||||
|
||||
|
||||
import cn.dev33.satoken.annotation.SaIgnore;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
@@ -11,11 +12,17 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.anno.Log;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
|
||||
import org.nl.common.utils.ListOf;
|
||||
import org.nl.common.utils.MapOf;
|
||||
import org.nl.modules.common.utils.FileUtil;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleextService;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbStoragevehicleext;
|
||||
import org.nl.wms.storage_manage.IOSEnum;
|
||||
import org.nl.wms.storage_manage.semimanage.service.iostorInv.IStIvtIostorinvBcpService;
|
||||
import org.nl.wms.storage_manage.semimanage.service.iostorInv.dao.StIvtIostorinvBcp;
|
||||
import org.nl.wms.storage_manage.semimanage.service.iostorInv.dto.BcpIostorInvQuery;
|
||||
import org.nl.wms.storage_manage.semimanage.service.structIvt.dto.StructIvtBcpQuery;
|
||||
import org.nl.wms.system_manage.service.tableData.ColumnInfoService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
@@ -23,10 +30,10 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -50,6 +57,9 @@ public class StIvtIostorinvBcpController {
|
||||
@Autowired
|
||||
private IMdPbStoragevehicleextService iMdPbStoragevehicleextService; // 载具扩展属性信息表服务
|
||||
|
||||
@Autowired
|
||||
private ColumnInfoService columnInfoService;
|
||||
|
||||
@GetMapping
|
||||
@Log("查询入库单据")
|
||||
//("查询入库单据")
|
||||
@@ -132,5 +142,13 @@ public class StIvtIostorinvBcpController {
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@GetMapping("/download")
|
||||
@Log("半成品入库单导出")
|
||||
//("半成品入库单导出")
|
||||
public ResponseEntity<Object> download(BcpIostorInvQuery query, PageQuery page, HttpServletResponse response) throws IOException {
|
||||
stIvtIostorinvBcpService.download(query,page,response);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,8 @@ import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -103,5 +105,12 @@ public class StIvtIostorinvBcpOutController {
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@GetMapping("/download")
|
||||
@Log("半成品出库单导出")
|
||||
//("半成品出库单导出")
|
||||
public ResponseEntity<Object> download(BcpIostorInvQuery query, PageQuery page, HttpServletResponse response) throws IOException {
|
||||
bcpOutService.download(query,page,response);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,8 @@ import org.nl.wms.storage_manage.semimanage.service.iostorInv.dao.StIvtIostorinv
|
||||
import org.nl.wms.storage_manage.semimanage.service.iostorInv.dto.BcpIostorInvQuery;
|
||||
import org.nl.wms.storage_manage.semimanage.service.structIvt.dao.StIvtStructivtBcp;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -82,4 +84,5 @@ public interface IStIvtIostorinvBcpOutService extends IService<StIvtIostorinvBcp
|
||||
|
||||
void taskOperate(JSONObject form);
|
||||
|
||||
void download(BcpIostorInvQuery query, PageQuery page, HttpServletResponse response) throws IOException;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,10 @@ import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.wms.storage_manage.semimanage.service.iostorInv.dao.StIvtIostorinvBcp;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.wms.storage_manage.semimanage.service.iostorInv.dto.BcpIostorInvQuery;
|
||||
import org.nl.wms.storage_manage.semimanage.service.structIvt.dto.StructIvtBcpQuery;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -59,4 +62,5 @@ public interface IStIvtIostorinvBcpService extends IService<StIvtIostorinvBcp> {
|
||||
|
||||
List<Map> getPdaAll(JSONObject form);
|
||||
|
||||
void download(BcpIostorInvQuery query, PageQuery page, HttpServletResponse response) throws IOException;
|
||||
}
|
||||
|
||||
@@ -26,6 +26,8 @@ public class BcpIostorInvQuery extends BaseQuery<StIvtIostorinvBcp> {
|
||||
|
||||
private String io_type;
|
||||
|
||||
private String[] createTime;
|
||||
|
||||
private Boolean is_delete = false;
|
||||
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.nl.wms.storage_manage.semimanage.service.iostorInv.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@@ -26,6 +27,7 @@ import org.nl.common.utils.MapOf;
|
||||
import org.nl.common.utils.RedissonUtils;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.common.utils.FileUtil;
|
||||
import org.nl.modules.system.util.CodeUtil;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
import org.nl.wms.ext_manage.acs.service.WmsToAcsService;
|
||||
@@ -61,11 +63,10 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
/**
|
||||
@@ -558,6 +559,39 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl<StIvtIostorinvB
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void download(BcpIostorInvQuery query, PageQuery page, HttpServletResponse response) throws IOException {
|
||||
query.setIo_type(IOSEnum.IO_TYPE.code("出库"));
|
||||
String[] createTime = query.getCreateTime();
|
||||
if (createTime!=null && createTime.length==2){
|
||||
query.setStart_time(createTime[0]);
|
||||
query.setEnd_time(createTime[1]);
|
||||
}
|
||||
|
||||
List<Map> maps = this.baseMapper.getIostorinv(query);
|
||||
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
for (Map json : maps) {
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
|
||||
map.put("单据号", json.get("bill_code"));
|
||||
map.put("生产车间", json.get("workshop_id"));
|
||||
map.put("仓库", json.get("stor_name"));
|
||||
map.put("业务类型", json.get("bill_type").equals(IOSEnum.BILL_TYPE_BCP.code("生产出库")) ? "生产出库" : "手工出库");
|
||||
map.put("业务日期", String.valueOf(json.get("create_time")).substring(0,10));
|
||||
map.put("物料编码", json.get("material_code"));
|
||||
map.put("物料规格", json.get("material_spec"));
|
||||
map.put("重量(kg)", NumberUtil.round(NumberUtil.div(String.valueOf(json.get("plan_qty")), "1000"), 3));
|
||||
map.put("数量(个)", NumberUtil.round(String.valueOf(json.get("qty")), 3));
|
||||
map.put("单重", json.get("unit_weight"));
|
||||
map.put("出库点", json.get("point_code"));
|
||||
map.put("出库货位", json.get("struct_name"));
|
||||
map.put("备注", json.get("remark"));
|
||||
list.add(map);
|
||||
}
|
||||
FileUtil.downloadExcel(list, response);
|
||||
}
|
||||
|
||||
private void delTask(String task_id) {
|
||||
|
||||
StIvtIostorinvBcp mstDao = this.getOne(
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.nl.wms.storage_manage.semimanage.service.iostorInv.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@@ -23,6 +24,7 @@ import org.nl.common.utils.MapOf;
|
||||
import org.nl.common.utils.RedissonUtils;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.common.utils.FileUtil;
|
||||
import org.nl.modules.system.util.CodeUtil;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
import org.nl.wms.ext_manage.acs.service.WmsToAcsService;
|
||||
@@ -54,6 +56,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.wms.storage_manage.semimanage.service.iostorInv.dto.BcpIostorInvQuery;
|
||||
import org.nl.wms.storage_manage.semimanage.service.structIvt.IStIvtStructivtBcpService;
|
||||
import org.nl.wms.storage_manage.semimanage.service.structIvt.dao.StIvtStructivtBcp;
|
||||
import org.nl.wms.storage_manage.semimanage.service.structIvt.dto.StructIvtBcpQuery;
|
||||
import org.nl.wms.system_manage.service.param.ISysParamService;
|
||||
import org.nl.wms.system_manage.service.param.dao.Param;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -61,6 +64,10 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Consumer;
|
||||
@@ -423,6 +430,40 @@ public class StIvtIostorinvBcpServiceImpl extends ServiceImpl<StIvtIostorinvBcpM
|
||||
return this.baseMapper.getPdaAll(form);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void download(BcpIostorInvQuery query, PageQuery page, HttpServletResponse response) throws IOException {
|
||||
query.setIo_type(IOSEnum.IO_TYPE.code("入库"));
|
||||
String[] createTime = query.getCreateTime();
|
||||
if (createTime!=null && createTime.length==2){
|
||||
query.setStart_time(createTime[0]);
|
||||
query.setEnd_time(createTime[1]);
|
||||
}
|
||||
|
||||
List<Map> maps = this.baseMapper.getIostorinv(query);
|
||||
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
for (Map json : maps) {
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
|
||||
map.put("单据号", json.get("bill_code"));
|
||||
map.put("生产车间", json.get("workshop_id"));
|
||||
map.put("仓库", json.get("stor_name"));
|
||||
map.put("业务类型", json.get("bill_type").equals(IOSEnum.BILL_TYPE_BCP.code("清洗入库")) ? "清洗入库" : "手工入库");
|
||||
map.put("业务日期", json.get("biz_date"));
|
||||
map.put("物料编码", json.get("material_code"));
|
||||
map.put("物料规格", json.get("material_spec"));
|
||||
map.put("重量(kg)", NumberUtil.round(NumberUtil.div(String.valueOf(json.get("plan_qty")), "1000"), 3));
|
||||
map.put("数量(个)", NumberUtil.round(String.valueOf(json.get("qty")), 3));
|
||||
map.put("单重", json.get("unit_weight"));
|
||||
map.put("入库点", json.get("point_code"));
|
||||
map.put("分配货位", json.get("struct_name"));
|
||||
map.put("载具号", json.get("storagevehicle_code"));
|
||||
map.put("备注", json.get("remark"));
|
||||
list.add(map);
|
||||
}
|
||||
FileUtil.downloadExcel(list, response);
|
||||
}
|
||||
|
||||
private void delTask(String task_id) {
|
||||
|
||||
StIvtIostorinvBcp mstDao = this.getOne(
|
||||
|
||||
@@ -134,6 +134,17 @@
|
||||
>
|
||||
强制确认
|
||||
</el-button>
|
||||
<el-button
|
||||
slot="right"
|
||||
:loading="downloading"
|
||||
class="filter-item"
|
||||
type="warning"
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="downloadButton"
|
||||
>
|
||||
导出
|
||||
</el-button>
|
||||
</crudOperation>
|
||||
<!--表格渲染-->
|
||||
<el-table
|
||||
@@ -203,6 +214,8 @@ import AddDialog from '@/views/wms/storage_manage/semiproduct/semiproductIn/AddD
|
||||
import ViewDialog from '@/views/wms/storage_manage/semiproduct/semiproductIn/ViewDialog'
|
||||
import { mapGetters } from 'vuex'
|
||||
import crudStorattr from '@/views/wms/storage_manage/basedata/basedata'
|
||||
import { download } from '@/api/data'
|
||||
import { downloadFile } from '@/utils'
|
||||
|
||||
export default {
|
||||
name: 'SemiproductIn',
|
||||
@@ -237,6 +250,7 @@ export default {
|
||||
currentRow: null,
|
||||
storlist: [],
|
||||
loadingAutodiv: false,
|
||||
downloading: false,
|
||||
storId: null
|
||||
}
|
||||
},
|
||||
@@ -340,6 +354,16 @@ export default {
|
||||
querytable() {
|
||||
this.onSelectAll()
|
||||
this.crud.toQuery()
|
||||
},
|
||||
downloadButton() {
|
||||
this.downloading = true
|
||||
download('/api/in/semiproductIn/download', this.query).then(result => {
|
||||
debugger
|
||||
downloadFile(result, '半成品入库单', 'xlsx')
|
||||
this.downloading = false
|
||||
}).catch(() => {
|
||||
this.downloading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -134,6 +134,17 @@
|
||||
>
|
||||
强制确认
|
||||
</el-button>
|
||||
<el-button
|
||||
slot="right"
|
||||
:loading="downloading"
|
||||
class="filter-item"
|
||||
type="warning"
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="downloadButton"
|
||||
>
|
||||
导出
|
||||
</el-button>
|
||||
</crudOperation>
|
||||
<!--表格渲染-->
|
||||
<el-table
|
||||
@@ -201,6 +212,8 @@ import AddDialog from '@/views/wms/storage_manage/semiproduct/semiproductout/Add
|
||||
import ViewDialog from '@/views/wms/storage_manage/semiproduct/semiproductout/ViewDialog'
|
||||
import { mapGetters } from 'vuex'
|
||||
import crudStorattr from '@/views/wms/storage_manage/basedata/basedata'
|
||||
import { download } from '@/api/data'
|
||||
import { downloadFile } from '@/utils'
|
||||
|
||||
export default {
|
||||
name: 'SemiproductOut',
|
||||
@@ -235,6 +248,7 @@ export default {
|
||||
loadingAutodiv: false,
|
||||
currentRow: null,
|
||||
storlist: [],
|
||||
downloading: false,
|
||||
storId: null
|
||||
}
|
||||
},
|
||||
@@ -338,6 +352,15 @@ export default {
|
||||
querytable() {
|
||||
this.onSelectAll()
|
||||
this.crud.toQuery()
|
||||
},
|
||||
downloadButton() {
|
||||
this.downloading = true
|
||||
download('/api/out/semiproduct/download', this.query).then(result => {
|
||||
downloadFile(result, '半成品出库单', 'xlsx')
|
||||
this.downloading = false
|
||||
}).catch(() => {
|
||||
this.downloading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user