优化
This commit is contained in:
@@ -17,9 +17,13 @@ import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import io.swagger.annotations.*;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Map;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
* @author Liuxy
|
||||
* @date 2021-12-15
|
||||
@@ -133,4 +137,9 @@ public class ReceivemstController {
|
||||
receivemstService.createQc(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
@ApiOperation("导出数据")
|
||||
@GetMapping(value = "/download")
|
||||
public void download(HttpServletResponse response, ReceivemstQueryDto dto) throws IOException {
|
||||
receivemstService.download(dto, response);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,4 +101,11 @@ public interface ReceivemstService {
|
||||
* @param whereJson/
|
||||
*/
|
||||
void createQc(Map whereJson);
|
||||
/**
|
||||
*
|
||||
* @param whereJson
|
||||
* @param response
|
||||
* @throws IOException
|
||||
*/
|
||||
void download(ReceivemstQueryDto dto, HttpServletResponse response) throws IOException;
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
package org.nl.wms.pcs.service.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.date.DateUnit;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
@@ -16,6 +17,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.exception.BadRequestException;
|
||||
import org.nl.modules.security.service.dto.JwtUserDto;
|
||||
import org.nl.modules.system.util.CodeUtil;
|
||||
import org.nl.utils.FileUtil;
|
||||
import org.nl.utils.SecurityUtils;
|
||||
import org.nl.wms.basedata.master.constant.MaterOptTypeEnum;
|
||||
import org.nl.wms.basedata.master.service.ClassstandardService;
|
||||
@@ -34,9 +36,9 @@ import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author Liuxy
|
||||
@@ -539,4 +541,87 @@ public class ReceivemstServiceImpl implements ReceivemstService {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void download(ReceivemstQueryDto dto, HttpServletResponse response) throws IOException {
|
||||
|
||||
//根据登陆人员的所在部门查找对应的计划
|
||||
String user_id = String.valueOf(SecurityUtils.getCurrentUserId());
|
||||
JSONObject jsonUser = WQLObject.getWQLObject("sys_user").query("user_id = '" + user_id + "'").uniqueResult(0);
|
||||
|
||||
String begin_time = dto.getBegin_time();
|
||||
String end_time = dto.getEnd_time();
|
||||
String vbillcode = dto.getVbillcode();
|
||||
String receive_code = dto.getReceive_code();
|
||||
String material_code = dto.getMaterial_code();
|
||||
String supp_code = dto.getSupp_code();
|
||||
String pcsn = dto.getPcsn();
|
||||
String[] statusArr = dto.getStatus();
|
||||
String status = "('";
|
||||
if (ObjectUtil.isNotEmpty(statusArr)) {
|
||||
for (int i = 0; i < statusArr.length; i++) {
|
||||
|
||||
if ((i+1) == statusArr.length) {
|
||||
status = status +statusArr[i] + "')";
|
||||
} else {
|
||||
status = status + statusArr[i] + "','";
|
||||
}
|
||||
}
|
||||
}
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
map.put("flag", "11");
|
||||
map.put("begin_time", begin_time);
|
||||
map.put("end_time", end_time);
|
||||
map.put("vbillcode", vbillcode);
|
||||
map.put("receive_code", receive_code);
|
||||
map.put("supp_code", supp_code);
|
||||
if (ObjectUtil.isNotEmpty(statusArr)) {
|
||||
map.put("status", status);
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(pcsn)) {
|
||||
map.put("pcsn", "%"+pcsn+"%");
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(material_code)) {
|
||||
map.put("material_code", "%"+material_code+"%");
|
||||
}
|
||||
JSONArray rows = WQL.getWO("QPCS_RC_RECEIVEMST01").addParamMap(map).process().getResultJSONArray(0);
|
||||
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
for (int i = 0; i < rows.size(); i++) {
|
||||
JSONObject jo = rows.getJSONObject(i);
|
||||
Map<String, Object> dtl_map = new LinkedHashMap<>();
|
||||
String status2 = jo.getString("status");
|
||||
if(status2.equals("10")){
|
||||
dtl_map.put("状态", "生成");
|
||||
}else if(status2.equals("20")){
|
||||
dtl_map.put("状态", "提交");
|
||||
}else if(status2.equals("30")){
|
||||
dtl_map.put("状态", "到货中");
|
||||
}else if(status2.equals("99")){
|
||||
dtl_map.put("状态", "确认");
|
||||
}
|
||||
dtl_map.put("订单编号", jo.getString("vbillcode"));
|
||||
dtl_map.put("到货单号", jo.getString("receive_code"));
|
||||
dtl_map.put("供应商", jo.getString("supp_name"));
|
||||
dtl_map.put("物料编码", jo.getString("material_code"));
|
||||
dtl_map.put("物料名称", jo.getString("material_name"));
|
||||
dtl_map.put("批次号", jo.getString("pcsn"));
|
||||
|
||||
String is_no = jo.getString("is_no");
|
||||
if (StrUtil.isEmpty(is_no)) {
|
||||
dtl_map.put("质检单是否已生成", "否");
|
||||
}else{
|
||||
dtl_map.put("质检单是否已生成", "是");
|
||||
}
|
||||
|
||||
dtl_map.put("到货重量", jo.getString("receive_qty"));
|
||||
dtl_map.put("入库重量", jo.getString("instor_qty"));
|
||||
dtl_map.put("剩余重量", jo.getString("surplus_qty"));
|
||||
dtl_map.put("单位", jo.getString("qty_unit_name"));
|
||||
dtl_map.put("创建人", jo.getString("input_optname"));
|
||||
dtl_map.put("到货日期", jo.getString("receive_date"));
|
||||
list.add(dtl_map);
|
||||
}
|
||||
FileUtil.downloadExcel(list, response);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -124,6 +124,82 @@
|
||||
ENDPAGEQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "11"
|
||||
QUERY
|
||||
SELECT
|
||||
dtl.*,
|
||||
supp.supp_name,
|
||||
mater.material_code,
|
||||
mater.material_name,
|
||||
mst.receive_date,
|
||||
mst.input_optname,
|
||||
mst.source_type,
|
||||
mst.create_mode,
|
||||
mst.receive_type,
|
||||
mst.stor_id,
|
||||
mst.stor_name,
|
||||
mst.remark,
|
||||
mst.dtl_num,
|
||||
mst.total_qty,
|
||||
proc.vbillcode,
|
||||
ext.standard_weight,
|
||||
(dtl.receive_qty - dtl.instor_qty) AS surplus_qty,
|
||||
SUBSTR(proc.vbillcode,1,6) AS order_code_1,
|
||||
SUBSTR(proc.vbillcode,8,10) AS order_code_2,
|
||||
sheetMst.inspection_id AS is_no
|
||||
FROM
|
||||
PCS_RC_ReceiveDtl dtl
|
||||
LEFT JOIN pcs_rc_receivemst mst ON mst.receive_id = dtl.receive_id
|
||||
LEFT JOIN MD_ME_MaterialBase mater ON mater.material_id = dtl.material_id
|
||||
LEFT JOIN PCS_IF_PurchaseOrderProc proc ON proc.id = dtl.source_billdtl_id
|
||||
LEFT JOIN MD_CS_SUPPLIERBASE supp ON proc.vend_id = supp.ext_id
|
||||
LEFT JOIN MD_ME_StockMaterialExt ext ON mater.material_id = ext.material_id
|
||||
LEFT JOIN QL_TEST_InspectionSheetDtl sheetDtl ON dtl.material_id = sheetDtl.material_id AND dtl.pcsn = sheetDtl.pcsn
|
||||
LEFT JOIN QL_TEST_InspectionSheetMst sheetMst ON sheetMst.inspection_id = sheetDtl.inspection_id and sheetMst.is_delete = '0'
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
|
||||
OPTION 输入.dept_id <> ""
|
||||
mst.sysdeptid = 输入.dept_id
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.begin_time <> ""
|
||||
mst.receive_date >= 输入.begin_time
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.end_time <> ""
|
||||
mst.receive_date <= 输入.end_time
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.vbillcode <> ""
|
||||
proc.vbillcode = 输入.vbillcode
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.receive_code <> ""
|
||||
dtl.receive_code = 输入.receive_code
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.material_code <> ""
|
||||
( mater.material_code like "%" 输入.material_code "%" or
|
||||
mater.material_name like "%" 输入.material_code "%")
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.pcsn <> ""
|
||||
dtl.pcsn like 输入.pcsn
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.supp_code <> ""
|
||||
( supp.supp_code like "%" 输入.supp_code "%" or
|
||||
supp.supp_name like "%" 输入.supp_code "%")
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.status <> ""
|
||||
dtl.status in 输入.status
|
||||
ENDOPTION
|
||||
order by order_code_1 DESC,order_code_2 ASC,mst.receive_code ASC
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "2"
|
||||
PAGEQUERY
|
||||
|
||||
Reference in New Issue
Block a user