From 52ea5fd92596267379be7924deb27de6cb10632b Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期四, 04 十二月 2025 20:33:46 +0800
Subject: [PATCH] 称重及值仓页面及逻辑
---
fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java | 413 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 408 insertions(+), 5 deletions(-)
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java b/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java
index 222cd44..0c8456e 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java
@@ -1,19 +1,26 @@
package com.fzzy.sys.manager.inout;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fzzy.igds.constant.Constant;
-import com.fzzy.igds.domain.InoutConf;
-import com.fzzy.igds.domain.InoutSysConf;
+import com.fzzy.igds.constant.RespCodeEnum;
+import com.fzzy.igds.data.*;
+import com.fzzy.igds.domain.*;
+import com.fzzy.igds.service.DicAreaService;
import com.fzzy.igds.service.InoutConfService;
+import com.fzzy.igds.service.InoutNoticeService;
+import com.fzzy.igds.service.InoutRecordService;
+import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.igds.utils.SystemUtil;
+import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.redis.RedisCache;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
+import com.ruoyi.common.utils.StringUtils;
+import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
/**
* @Description 鍑哄叆搴撲笟鍔″鐞�
@@ -28,6 +35,12 @@
private RedisCache redisCache;
@Resource
private InoutConfService inoutConfService;
+ @Resource
+ private InoutRecordService inoutRecordService;
+ @Resource
+ private DicAreaService dicAreaService;
+ @Resource
+ private InoutNoticeService inoutNoticeService;
/**
* 鏍规嵁鐢ㄦ埛璇锋眰淇℃伅锛屾牴鎹綋鍓嶅鎴风數鑴慖P锛岃幏鍙栧嚭鍏ュ簱绉伴噸涓婃閫夋嫨鐨勫湴纾�
@@ -109,6 +122,13 @@
return result;
}
+ /**
+ * 鏍规嵁閰嶇疆鑾峰彇鍑哄叆搴撶殑閰嶇疆鍙傛暟
+ *
+ * @param listInoutConf
+ * @param type
+ * @return
+ */
public List<InoutConf> getInoutConf(List<InoutConf> listInoutConf, String type) {
List<InoutConf> result = new ArrayList<>();
if (null == listInoutConf) return result;
@@ -120,6 +140,14 @@
return result;
}
+ /**
+ * 鏍规嵁閰嶇疆鑾峰彇鍑哄叆搴撶殑閰嶇疆鍙傛暟
+ *
+ * @param listInoutConf
+ * @param sort
+ * @param type
+ * @return
+ */
public InoutConf getInoutConf(List<InoutConf> listInoutConf, String sort, String type) {
if (null == listInoutConf) return new InoutConf(sort);
if (StringUtils.isEmpty(sort)) sort = "1";
@@ -150,4 +178,379 @@
return weightEditTag;
}
+
+ /**
+ * 鍑哄叆搴撴敞鍐屾暟鎹彁浜わ紝鍑哄叆搴撶櫥璁颁娇鐢ㄥ悓涓�涓柟娉曪紝鍖呭惈绉伴噸鏃剁洿鎺ョ櫥璁�
+ *
+ * @param data
+ * @return
+ */
+ public PageResponse<InoutData> submitRegister(InoutData data) {
+ if (StringUtils.isEmpty(data.getCompanyId())) {
+ data.setCompanyId(ContextUtil.getCompanyId());
+ }
+ if (StringUtils.isEmpty(data.getDeptId())) {
+ data.setDeptId(ContextUtil.subDeptId(null));
+ }
+
+ int num = inoutRecordService.checkExist(data.getCompanyId(), data.getPlateNum());
+ if (num > 0) {
+ return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "褰撳墠杞︾墝鍙锋鍦ㄦ墽琛屾祦绋嬫湭缁撴潫锛岃鏍告煡杞︾墝鎴栬仈绯荤鐞嗗憳", data);
+ }
+
+ // 鑾峰彇绯荤粺鍙傛暟閰嶇疆
+ InoutSysConf inoutSysConf = inoutConfService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId());
+ if (null == inoutSysConf) {
+ return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鎻愮ず锛氬綋鍓嶅簱鍖烘湭閰嶇疆鍑哄叆搴撴祦绋嬩俊鎭紝璇疯仈绯荤鐞嗗憳", data);
+ }
+
+ // 鑾峰彇涓嬩竴涓祦绋嬬姸鎬�
+ String curProgress = data.getProgress();
+ String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf);
+ data.setProgress(nextProgress);
+
+ //鍘婚櫎韬唤璇佸彿涓殑绌烘牸
+ if (StringUtils.isNotEmpty(data.getUserId())) {
+ data.setUserId(data.getUserId().trim());
+ }
+ //鍘婚櫎濮撳悕涓殑绌烘牸
+ if (StringUtils.isNotEmpty(data.getUserName())) {
+ data.setUserName(data.getUserName().trim());
+ }
+ //鐧昏浜哄強鐧昏鏃堕棿
+ data.setRegisterUser(ContextUtil.getLoginUserName());
+ data.setRegisterTime(new Date());
+
+ num = inoutRecordService.addInoutRecord(data);
+
+ if (num == 0) {
+ return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鐧昏澶辫触锛�", data);
+ }
+
+ //闄勪欢澶勭悊
+ saveInoutFiles(data.getFiles(), data.getId(), curProgress);
+
+ return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鐧昏鎴愬姛锛�", data);
+ }
+
+ /**
+ * 鍖栭獙淇℃伅鎻愪氦
+ *
+ * @param data
+ * @return
+ */
+ public PageResponse<InoutData> submitCheck(InoutData data) {
+ SysUser user = ContextUtil.getLoginUser();
+ if (StringUtils.isEmpty(data.getCompanyId())) {
+ data.setCompanyId(user.getCompanyId());
+ }
+ if (StringUtils.isEmpty(data.getDeptId())) {
+ data.setDeptId(ContextUtil.subDeptId(user));
+ }
+
+ //鍖栭獙浜哄強鏃堕棿
+ data.setCheckUser(user.getUserName());
+ data.setCheckTime(new Date());
+ data.setCheckStatus(Constant.STATUS_CHECK);
+
+ int num = inoutRecordService.updateInoutRecord(data);
+
+ if (num == 0) {
+ return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鎻愪氦澶辫触锛�", data);
+ }
+
+ return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎻愪氦鎴愬姛锛�", data);
+ }
+
+ /**
+ * 绉伴噸鎻愪氦锛屽寘鍚О閲嶇櫥璁版彁浜ゅ強鍗曠嫭绉伴噸鎻愪氦
+ *
+ * @param data
+ * @return
+ */
+ public PageResponse<InoutData> submitWeight(InoutData data) {
+ if (Constant.PROGRESS_WEIGHT_EMPTY.equals(data.getProgress())) {
+ data.setEmptyWeightTime(new Date());
+ data.setEmptyWeightUser(ContextUtil.getLoginUserName());
+ }
+ if (Constant.PROGRESS_WEIGHT_FULL.equals(data.getProgress())) {
+ data.setFullWeightTime(new Date());
+ data.setFullWeightUser(ContextUtil.getLoginUserName());
+ }
+ if (StringUtils.isBlank(data.getId())) {
+ //琛ㄧず绉伴噸鏃剁洿鎺ョ櫥璁�
+ return submitRegister(data);
+ }
+
+ //鑾峰彇绯荤粺鍙傛暟閰嶇疆
+ InoutSysConf inoutSysConf = inoutConfService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId());
+ if (null == inoutSysConf) {
+ return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鎻愮ず锛氬綋鍓嶇郴缁熶腑娴佺▼閰嶇疆寮傚父锛岃鑱旂郴绠$悊鍛�", data);
+ }
+
+ // 鑾峰彇涓嬩竴涓祦绋嬬姸鎬�
+ String curProgress = data.getProgress();
+ String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf);
+ data.setProgress(nextProgress);
+
+ //绉伴噸鏁版嵁鏇存柊
+ int num = inoutRecordService.updateInoutRecord(data);
+
+ if (num == 0) {
+ return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鎻愪氦澶辫触锛�", data);
+ }
+
+ //闄勪欢澶勭悊
+ saveInoutFiles(data.getFiles(), data.getId(), curProgress);
+
+ return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛", data);
+ }
+
+ /**
+ * 鍊间粨淇℃伅鎻愪氦
+ *
+ * @param data
+ * @return
+ */
+ public PageResponse<InoutData> submitHandle(InoutData data) {
+
+ // 鑾峰彇绯荤粺鍙傛暟閰嶇疆
+ InoutSysConf inoutSysConf = inoutConfService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId());
+ if (null == inoutSysConf) {
+ return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鎻愮ず锛氬綋鍓嶇郴缁熶腑娴佺▼閰嶇疆寮傚父锛岃鑱旂郴绠$悊鍛�", data);
+ }
+
+ // 鑾峰彇涓嬩竴涓祦绋嬬姸鎬�
+ String curProgress = data.getProgress();
+ String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf);
+ data.setProgress(nextProgress);
+
+ data.setHandleEnd(new Date());
+ data.setHandleUser(ContextUtil.getLoginUserName());
+ // 鎵ц鏁版嵁鏇存柊
+ int num = inoutRecordService.updateInoutRecord(data);
+
+ if (num == 0) {
+ return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鎻愪氦澶辫触锛�", data);
+ }
+
+ //闄勪欢澶勭悊
+ saveInoutFiles(data.getFiles(), data.getId(), curProgress);
+
+ return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎻愪氦鎴愬姛", data);
+ }
+
+ /**
+ * 寮傛鎵ц闄勪欢淇濆瓨
+ * @param files 闄勪欢淇℃伅
+ * @param bizId 涓氬姟id
+ * @param progress 娴佺▼鑺傜偣
+ */
+ @Async
+ public void saveInoutFiles(List<FileInfo> files, String bizId, String progress) {
+
+ if (null == files || files.isEmpty()) {
+ return;
+ }
+
+ //TODO 闄勪欢閫昏緫寰呭鐞�
+
+
+
+ }
+
+ /**
+ * 鑾峰彇涓嬩竴娴佺▼
+ *
+ * @param curProgress
+ * @param type
+ * @param sysConf
+ * @return
+ */
+ private String getNextProgress(String curProgress, String type, InoutSysConf sysConf) {
+ String nextProgress = null;
+ List<String> list = null;
+ if (Constant.TYPE_IN.equals(type)) {
+ list = Arrays.asList(sysConf.getProgressIn().split("-"));
+ }
+ if (Constant.TYPE_OUT.equals(type)) {
+ list = Arrays.asList(sysConf.getProgressOut().split("-"));
+ }
+ if (list != null) {
+ for (int i = 0; i < list.size() - 1; i++) {
+ if (curProgress.equals(list.get(i))) {
+ nextProgress = list.get(i + 1);
+ break;
+ }
+ }
+ }
+ return nextProgress;
+ }
+
+ /**
+ * 鍒嗛〉鏌ヨ鏁版嵁
+ *
+ * @param param
+ * @return
+ */
+ public PageResponse<Page<InoutRecord>> pageInoutData(InoutParam param) {
+ if (StringUtils.isEmpty(param.getCompanyId())) {
+ param.setCompanyId(ContextUtil.getCompanyId());
+ }
+ if (StringUtils.isEmpty(param.getDeptId())) {
+ param.setDeptId(ContextUtil.subDeptId(null));
+ }
+
+ param.setProgressTag(Constant.PROGRESS_RECORD);
+
+ Page<InoutRecord> corePage = new Page<>(param.getPage(), param.getLimit());
+ inoutRecordService.listPageInout(corePage, param);
+
+ if (null == corePage.getRecords() || corePage.getRecords().isEmpty()) {
+ return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(), "鑾峰彇鍒版暟鎹俊鎭负绌�");
+ }
+
+ return new PageResponse<>(RespCodeEnum.CODE_0000, corePage);
+ }
+
+ /**
+ * 鏌ヨ寰呯О閲嶇殑鏁版嵁
+ *
+ * @param param
+ * @return
+ */
+ public PageResponse<List<InoutRecord>> listWeightData(InoutParam param) {
+ if (StringUtils.isEmpty(param.getCompanyId())) {
+ param.setCompanyId(ContextUtil.getCompanyId());
+ }
+ if (StringUtils.isEmpty(param.getDeptId())) {
+ param.setDeptId(ContextUtil.subDeptId(null));
+ }
+
+ //璁剧疆绉伴噸娴佺▼鏍囪
+ param.setWeightTag("WEIGHT");
+
+ List<InoutRecord> inoutRecords = inoutRecordService.listInout(param);
+
+ if (null == inoutRecords || inoutRecords.isEmpty()) {
+ return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(), "鑾峰彇鍒版暟鎹俊鎭负绌�");
+ }
+
+ return new PageResponse<>(RespCodeEnum.CODE_0000, inoutRecords);
+ }
+
+ /**
+ * 鏌ヨ寰呭�间粨鐨勬暟鎹�
+ *
+ * @param param
+ * @return
+ */
+ public PageResponse<List<InoutRecord>> listHandleData(InoutParam param) {
+ if (StringUtils.isEmpty(param.getCompanyId())) {
+ param.setCompanyId(ContextUtil.getCompanyId());
+ }
+ if (StringUtils.isEmpty(param.getDeptId())) {
+ param.setDeptId(ContextUtil.subDeptId(null));
+ }
+
+ List<InoutRecord> inoutRecords = inoutRecordService.listInout(param);
+
+ if (null == inoutRecords || inoutRecords.isEmpty()) {
+ return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(), "鑾峰彇鍒版暟鎹俊鎭负绌�");
+ }
+
+ return new PageResponse<>(RespCodeEnum.CODE_0000, inoutRecords);
+ }
+
+ /**
+ * 鏌ヨ鏁版嵁
+ *
+ * @param param
+ * @return
+ */
+ public PageResponse<InoutRecord> inoutQuery(InoutParam param) {
+
+ if (StringUtils.isEmpty(param.getId()) && StringUtils.isEmpty(param.getPlateNum())) {
+ return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "鏌ヨ鍙傛暟涓嶅畬鏁达紝鏌ヨ澶辫触锛�");
+ }
+ if (StringUtils.isEmpty(param.getCompanyId())) {
+ param.setCompanyId(ContextUtil.getCompanyId());
+ }
+ if (StringUtils.isEmpty(param.getDeptId())) {
+ param.setDeptId(ContextUtil.subDeptId(null));
+ }
+
+ if(Constant.PROGRESS_WEIGHT_EMPTY.equals(param.getProgress()) || Constant.PROGRESS_WEIGHT_FULL.equals(param.getProgress())){
+ //璁剧疆鏌ヨ寰呯О閲嶇殑
+ param.setProgress(null);
+ //璁剧疆绉伴噸娴佺▼鏍囪
+ param.setWeightTag("WEIGHT");
+ }
+
+ InoutRecord result = inoutRecordService.selectOne(param);
+ if (null == result) {
+ return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(),
+ "绯荤粺鏈煡璇㈠埌鎵ц涓殑鍗曟嵁淇℃伅", null);
+ }
+ return new PageResponse<>(RespCodeEnum.CODE_0000, result);
+ }
+
+ /**
+ * 鍒嗛〉鑾峰彇鍖哄垝淇℃伅
+ *
+ * @param param
+ * @return
+ */
+ public PageResponse<Page<DicArea>> pageDicArea(IgdsBaseParam param) {
+
+ Page<DicArea> corePage = new Page<>(param.getPage(), param.getLimit());
+
+ dicAreaService.listPageData(corePage, param.getKey());
+
+ if (null == corePage.getRecords() || corePage.getRecords().isEmpty()) {
+ return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(), "鑾峰彇鍒版暟鎹俊鎭负绌�");
+ }
+ return new PageResponse<>(RespCodeEnum.CODE_0000, corePage);
+ }
+
+ /**
+ * @param param
+ * @return
+ */
+ public PageResponse<List<InoutNoticeIn>> listNoticeIn(NoticeParam param) {
+
+ SysUser user = ContextUtil.getLoginUser();
+ if (org.apache.commons.lang3.StringUtils.isEmpty(param.getCompanyId())) {
+ param.setCompanyId(user.getCompanyId());
+ }
+ param.setDeptId(ContextUtil.subDeptId(user));
+
+ List<InoutNoticeIn> list = inoutNoticeService.getNoticeIn(param.getCompanyId(), param.getDeptId(), Constant.COMPLETE_STATUS_NONE);
+
+ if (null == list || list.isEmpty()) {
+ return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鏌ヨ缁撴灉涓虹┖锛�");
+ }
+
+ return new PageResponse<>(RespCodeEnum.CODE_0000, list);
+ }
+
+ /**
+ * @param param
+ * @return
+ */
+ public PageResponse<List<InoutNoticeOut>> listNoticeOut(NoticeParam param) {
+ SysUser user = ContextUtil.getLoginUser();
+ if (org.apache.commons.lang3.StringUtils.isEmpty(param.getCompanyId())) {
+ param.setCompanyId(user.getCompanyId());
+ }
+ param.setDeptId(ContextUtil.subDeptId(user));
+
+ List<InoutNoticeOut> list = inoutNoticeService.getNoticeOut(param.getCompanyId(), param.getDeptId(), Constant.COMPLETE_STATUS_NONE);
+
+ if (null == list || list.isEmpty()) {
+ return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鏌ヨ缁撴灉涓虹┖锛�");
+ }
+
+ return new PageResponse<>(RespCodeEnum.CODE_0000, list);
+ }
}
--
Gitblit v1.9.3