This commit is contained in:
zds
2022-10-18 11:40:34 +08:00
parent bbd44cbc31
commit 18acc68656
5 changed files with 208 additions and 10 deletions

View File

@@ -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);
}
}

View File

@@ -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;
}

View File

@@ -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);
}
}

View File

@@ -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