From dcd7fcf596005d0c7cf66558bee97edf6c3b03a0 Mon Sep 17 00:00:00 2001 From: wang..123 <brook_w@163.com> Date: 星期四, 10 三月 2022 18:12:09 +0800 Subject: [PATCH] #物料状态维护 --- src/main/java/com/zy/asrs/controller/LocNormalController.java | 109 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 99 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/LocNormalController.java b/src/main/java/com/zy/asrs/controller/LocNormalController.java index f95e567..e359b57 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; @@ -11,16 +12,23 @@ import com.core.common.DateUtils; import com.core.common.R; import com.sun.org.apache.bcel.internal.generic.NEW; +import com.zy.asrs.entity.LocDetl; 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; @@ -30,6 +38,8 @@ 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; @@ -38,12 +48,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 @@ -59,6 +74,8 @@ allLike(LocNormal.class, param.keySet(), wrapper, condition); if (!Cools.isEmpty(orderByField)) { wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); + } else { + wrapper.orderBy("appe_time", false); } if (Cools.isEmpty(param.get("state"))) { wrapper.in("state", "1,2"); @@ -108,7 +125,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") @@ -117,6 +157,18 @@ Long modiUser = getUserId(); Date modiTime = new Date(); locNormalService.outLocNormal(param.getMatnr(), modiUser, modiTime, param.getId()); + } + + /** + * 鎵归噺淇敼鐗╂枡鐘舵�� + * @return + */ + @RequestMapping(value = "/locNormal/getAllLocDetlData") + @ManagerAuth(memo = "鎵归噺淇敼鐗╂枡鐘舵��") + public R getAllLocDetlData(@RequestBody JSONObject param) { + List<LocNormal> list = JSONObject.parseArray(param.getJSONArray("list").toJSONString(), LocNormal.class); + Integer result = locNormalService.getAllLocDetlData(list); + return R.ok().add(result); } @RequestMapping(value = "/locNormal/removeLoc/auth") @@ -137,7 +189,20 @@ return R.ok("鎴愬姛瀵煎叆" + listener.getTotal() + "鏉$墿鏂欎俊鎭�"); } - /* 骞充粨鍏ュ簱 */ + /* 瀵煎嚭 */ + @RequestMapping(value = "/locNormal/export/auth") + @ManagerAuth(memo = "骞充粨绠$悊瀵煎嚭") + public R export(@RequestBody JSONObject param){ + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + EntityWrapper<LocNormal> wrapper = new EntityWrapper<LocNormal>(); + wrapper.ne("state", "3"); + Map<String, Object> map = excludeTrash(param.getJSONObject("exportData")); + convert(map, wrapper); + List<LocNormal> list = locNormalService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + /* 骞充粨鍏ュ簱 鎴愬搧 */ @RequestMapping(value = "/locNormal/in") @ManagerAuth(memo = "骞充粨鍏ュ簱") @Transactional @@ -149,6 +214,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(); } @@ -224,15 +304,11 @@ @RequestParam(required = false) String condition, @RequestParam Map<String, Object> param) { excludeTrash(param); - EntityWrapper<LocNormalReport> wrapper = new EntityWrapper<>(); - List<String> orderList = new ArrayList<>(); - orderList.add("time"); - wrapper.eq("state", param.get("state").toString()).orderDesc(orderList); - String timeRange = ""; + EntityWrapper<LocNormalLog> wrapper = new EntityWrapper<>(); String time1 = ""; String time2 = ""; if (!Cools.isEmpty(param.get("query_date"))) { - timeRange = param.get("query_date").toString(); + String timeRange = param.get("query_date").toString(); time1 = timeRange.substring(0, 19); time2 = timeRange.substring(21, timeRange.length()); } @@ -248,9 +324,22 @@ } catch (Exception e) { e.printStackTrace(); } - wrapper.ge("time", dateTime1).and().le("time", dateTime2); + wrapper.ge("create_time", dateTime1).and().le("create_time", dateTime2); } - allLike(LocNormalReport.class, param.keySet(), wrapper, condition); - return R.ok(locNormalReportService.selectPage(new Page<>(curr, limit), wrapper)); + 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<LocNormalLog> list = JSONObject.parseArray(param.getJSONArray("exportData").toJSONString(), LocNormalLog.class); + return R.ok(exportSupport(list, fields)); } } -- Gitblit v1.9.1