From 4807619ff7d8721f4286ad8d62369b70dc929cd4 Mon Sep 17 00:00:00 2001 From: 王佳豪 <g675230687@126.com> Date: 星期四, 08 七月 2021 13:01:05 +0800 Subject: [PATCH] 1.立库日出入库统计导出支持分页导出 2.平仓日入库查询支持分页导出 --- src/main/java/com/zy/asrs/controller/LocNormalController.java | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 109 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/LocNormalController.java b/src/main/java/com/zy/asrs/controller/LocNormalController.java index 096887f..36261c9 100644 --- a/src/main/java/com/zy/asrs/controller/LocNormalController.java +++ b/src/main/java/com/zy/asrs/controller/LocNormalController.java @@ -1,6 +1,7 @@ package com.zy.asrs.controller; import com.alibaba.excel.EasyExcel; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; @@ -12,13 +13,21 @@ import com.core.common.R; import com.sun.org.apache.bcel.internal.generic.NEW; import com.zy.asrs.entity.LocNormal; +import com.zy.asrs.entity.LocNormalLog; +import com.zy.asrs.entity.LocNormalReport; import com.zy.asrs.entity.param.LocNormalParam; +import com.zy.asrs.service.LocNormalLogService; +import com.zy.asrs.service.LocNormalReportService; import com.zy.asrs.service.LocNormalService; +import com.zy.asrs.utils.VersionUtils; +import com.zy.common.service.erp.ErpService; +import com.zy.common.service.erp.ErpSqlServer; import com.zy.common.utils.excel.locNomal.LocNormalExcel; import com.zy.common.utils.excel.locNomal.LocNormalExcelListener; import com.zy.common.utils.excel.matcode.MatCodeExcel; import com.zy.common.utils.excel.matcode.MatCodeExcelListener; import com.zy.common.web.BaseController; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestBody; @@ -28,6 +37,9 @@ import org.springframework.web.multipart.MultipartFile; import java.io.IOException; +import java.math.BigDecimal; +import java.text.MessageFormat; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -35,10 +47,17 @@ import static jdk.nashorn.api.scripting.ScriptUtils.convert; +@Slf4j @RestController public class LocNormalController extends BaseController { @Autowired private LocNormalService locNormalService; + @Autowired + private LocNormalReportService locNormalReportService; + @Autowired + private ErpSqlServer erpSqlServer; + @Autowired + private LocNormalLogService locNormalLogService; @RequestMapping(value = "/locNomal/list/auth") @ManagerAuth @@ -56,7 +75,7 @@ wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); } if (Cools.isEmpty(param.get("state"))) { - wrapper.eq("state", "1").or().eq("state", "2"); + wrapper.in("state", "1,2"); } return R.ok(locNormalService.selectPage(new Page<>(curr, limit), wrapper)); } @@ -103,7 +122,30 @@ public void updateLocNormal(LocNormal param) { Long modiUser = getUserId(); Date modiTime = new Date(); + // 璋冩暣搴撳瓨锛屼慨鏀癸紝StockCheckRecord鎻掑叆鐩樼泩銆佺洏浜忔暟鎹� + LocNormal locNormalOld = locNormalService.selectOne(new EntityWrapper<LocNormal>().eq("matnr", param.getMatnr()).and().eq("warehouse", param.getWarehouse()).and().eq("supplier", param.getSupplier())); + BigDecimal erpCount = new BigDecimal(0); + if (param.getAnfme() == new BigDecimal(0)) { + erpCount = new BigDecimal(0).subtract(new BigDecimal(String.valueOf(locNormalOld.getAnfme()))); + } else { + erpCount = param.getAnfme().subtract(new BigDecimal(String.valueOf(locNormalOld.getAnfme()))); + } + // 璋冩暣搴撳瓨锛屾柊澧烇紝StockCheckRecord鎻掑叆鐩樼泩鏁版嵁 + String ErpSql = "insert into StockCheckRecord(Fnumber, CheckQty, Fflag_rw, Fflag_finish) values (''{0}'', {1,number,#}, 0, 0)"; + ErpSql = MessageFormat.format(ErpSql, param.getMatnr(), erpCount); + erpSqlServer.update(ErpSql); locNormalService.updateLocNormal(param.getMatnr(), param.getAnfme(), modiUser, modiTime, param.getId()); + // 鐢熸垚骞充粨鍑哄叆搴撹褰� + LocNormalLog locLog = new LocNormalLog(); + VersionUtils.setLocNormalLog(locLog, param); + locLog.setAnfme(erpCount.doubleValue()); + locLog.setIoType(3); // 淇敼 + locLog.setCreateTime(new Date()); + locLog.setCreateUser(modiUser); + if (!locNormalLogService.insert(locLog)) { + String logStr = JSON.toJSONString(locLog); + log.info("骞充粨淇敼搴撳瓨璁板綍鎻掑叆澶辫触,鏁版嵁:" + logStr); + } } @RequestMapping(value = "/locNormal/outLoc/auth") @@ -132,7 +174,7 @@ return R.ok("鎴愬姛瀵煎叆" + listener.getTotal() + "鏉$墿鏂欎俊鎭�"); } - /* 骞充粨鍏ュ簱 */ + /* 骞充粨鍏ュ簱 鎴愬搧 */ @RequestMapping(value = "/locNormal/in") @ManagerAuth(memo = "骞充粨鍏ュ簱") @Transactional @@ -144,6 +186,21 @@ param.getNormalList().get(i).setAppeTime(timeNow); } locNormalService.locNormalIn(param.getNormalList()); + return R.ok(); + } + + /* 骞充粨鍏ュ簱-鍘熸潗鏂� */ + @RequestMapping(value = "/locNormal/in/source") + @ManagerAuth(memo = "骞充粨鍏ュ簱-鍘熸潗鏂�") + @Transactional + public R locNormalInSource(@RequestBody LocNormalParam param) { + Long userId = getUserId(); + Date timeNow = new Date(); + for (Integer i = 0; i < param.getNormalList().size(); i++) { + param.getNormalList().get(i).setAppeUser(userId); + param.getNormalList().get(i).setAppeTime(timeNow); + } + locNormalService.locNormalInSource(param.getNormalList()); return R.ok(); } @@ -166,9 +223,9 @@ @RequestMapping(value = "/locNormal/pda/out/query") @ManagerAuth(memo = "pda鍑哄簱鏌ヨ") @Transactional - public R locNormalPdaOutQuery(String matnr, String warehouse) { + public R locNormalPdaOutQuery(String matnr, String warehouse, String billNo) { List<LocNormal> list = new ArrayList<>(); - list = locNormalService.pdaLocNormalQuery(matnr, warehouse); + list = locNormalService.pdaLocNormalQuery(matnr, warehouse, billNo); return R.ok(list); } @@ -209,4 +266,52 @@ locNormalService.pdaLocNormalMove(list); return R.ok(); } + + @RequestMapping(value = "/locNomal/getInListByDay") + @ManagerAuth(memo = "骞充粨鏃ュ嚭鍏ュ簱鏌ヨ") + public R getInListByDay(@RequestParam(defaultValue = "1") Integer curr, + @RequestParam(defaultValue = "10") Integer limit, + @RequestParam(required = false) String orderByField, + @RequestParam(required = false) String orderByType, + @RequestParam(required = false) String condition, + @RequestParam Map<String, Object> param) { + excludeTrash(param); + EntityWrapper<LocNormalLog> wrapper = new EntityWrapper<>(); + String time1 = ""; + String time2 = ""; + if (!Cools.isEmpty(param.get("query_date"))) { + String timeRange = param.get("query_date").toString(); + time1 = timeRange.substring(0, 19); + time2 = timeRange.substring(21, timeRange.length()); + } + param.remove("query_date"); + convert(param, wrapper); + if (time1 != "" && time2 != "") { + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date dateTime1 = new Date(); + Date dateTime2 = new Date(); + try { + dateTime1 = formatter.parse(time1); + dateTime2 = formatter.parse(time2); + } catch (Exception e) { + e.printStackTrace(); + } + wrapper.ge("create_time", dateTime1).and().le("create_time", dateTime2); + } + List<String> oderCol = new ArrayList<>(); + oderCol.add("create_time"); + wrapper.orderDesc(oderCol); + allLike(LocNormalLog.class, param.keySet(), wrapper, condition); + return R.ok(locNormalLogService.selectPage(new Page<>(curr, limit), wrapper)); + } + + //excel瀵煎嚭 + @RequestMapping("/locNomal/normalReportExport.action") + @ManagerAuth(memo = "鏃ュ叆搴撴槑缁嗙粺璁″鍑�") + public R normalReportExport(@RequestBody JSONObject param){ + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + @SuppressWarnings("unchecked") + List<LocNormalReport> list = JSONObject.parseArray(param.getJSONArray("exportData").toJSONString(), LocNormalReport.class); + return R.ok(exportSupport(list, fields)); + } } -- Gitblit v1.9.1