From 46adcbf7494340a495539708210bb39110bdc33b Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期六, 29 十一月 2025 17:35:03 +0800
Subject: [PATCH] 快速登记、化验及称重作业页面提交1

---
 fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticePR.java |  489 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 489 insertions(+), 0 deletions(-)

diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticePR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticePR.java
new file mode 100644
index 0000000..74ead93
--- /dev/null
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticePR.java
@@ -0,0 +1,489 @@
+package com.fzzy.igds;
+
+
+import com.bstek.dorado.annotation.DataProvider;
+import com.bstek.dorado.annotation.Expose;
+import com.bstek.dorado.data.provider.Page;
+import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.data.NoticeDto;
+import com.fzzy.igds.service.InoutNoticeService;
+import com.fzzy.igds.domain.InoutNoticeIn;
+import com.fzzy.igds.domain.InoutNoticeOut;
+import com.fzzy.igds.service.SysDeptService;
+import com.fzzy.igds.utils.ContextUtil;
+import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.StringUtils;
+import org.apache.commons.lang3.time.DateFormatUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Component;
+import javax.annotation.Resource;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import java.util.*;
+
+/**
+ * @Description 閫氱煡鍗曠鐞�
+ * @Author CZT
+ * @Date 2024/12/16 10:10
+ */
+@Component
+public class InoutNoticePR {
+
+	@Resource
+	private InoutNoticeService inoutNoticeService;
+	@Resource
+	private SysDeptService sysDeptService;
+
+	/**
+	 * inoutNoticePR#getTitle 鏍规嵁鎶ヨ〃绫诲瀷锛岃幏鍙栭粯璁ゆ煡璇俊鎭紝姣斿琛ㄥご淇℃伅绛�
+	 *
+	 * @param
+	 * @return
+	 */
+	@DataProvider
+	public Map<String, Object> getTitle(Map<String, Object> param) {
+		Map<String, Object> result = new HashMap<String, Object>();
+		//鑾峰彇鍙傛暟涓姤琛ㄧ被鍨�
+		String type = (String)param.get("type");
+
+		//鑾峰彇鍒嗗簱缂栫爜瀵瑰簲鐨勫垎搴撳悕绉�
+		String deptName = "";
+		SysDept subDept = sysDeptService.getCacheDept(null, ContextUtil.subDeptId(null));
+		if (null != subDept) {
+			deptName = subDept.getDeptName();
+		}
+		if ("NOTICE_IN".equals(type)) {
+			result.put("title", "鍏ュ簱閫氱煡鍗�");
+			if (StringUtils.isNotEmpty(deptName)) {
+				result.put("title", deptName + "鍏ュ簱閫氱煡鍗�");
+			}
+		}
+		if ("NOTICE_OUT".equals(type)) {
+			result.put("title", "鍑哄簱閫氱煡鍗�");
+			if (StringUtils.isNotEmpty(deptName)) {
+				result.put("title", deptName + "鍑哄簱閫氱煡鍗�");
+			}
+		}
+		return result;
+	}
+
+	/**
+	 * inoutNoticePR#getYearQuery 榛樿骞翠唤
+	 *
+	 * @param
+	 * @return
+	 */
+	@DataProvider
+	public Map<String, Object> getYearQuery(Map<String, Object> param) {
+		Map<String, Object> result = new HashMap<String, Object>();
+		//鑾峰彇鍙傛暟涓垎搴撶紪鐮�
+		String deptId = (String)param.get("deptId");
+
+		result.put("year", DateFormatUtils.format(new Date(), "yyyy"));
+		result.put("deptId", deptId);
+		return result;
+	}
+
+	/**
+	 * inoutNoticePR#queryNoticeByKey  鏍规嵁鍙傛暟鏌ヨ鍑哄叆搴撻�氱煡鍗曪紝鐢ㄤ簬鎵嬪姩琛ュ崟鏃讹紝閫夋嫨閫氱煡鍗�
+	 *
+	 * @param
+	 * @return
+	 */
+	@DataProvider
+	public List<NoticeDto> queryNoticeByKey(Map<String, Object> param) {
+		if (param == null) {
+			return null;
+		}
+		String type = (String) param.get("type");
+		if (StringUtils.isEmpty(type)) {
+			return null;
+		}
+		List<NoticeDto> list = new ArrayList<>();
+		NoticeDto dto;
+		if (Constant.TYPE_IN.equals(type)) {
+			List<InoutNoticeIn> listIn = this.queryNoticeIn(param);
+			if (null != listIn && listIn.size() > 0) {
+				for (InoutNoticeIn inoutNoticeIn : listIn) {
+					dto = new NoticeDto();
+					BeanUtils.copyProperties(inoutNoticeIn, dto);
+					list.add(dto);
+				}
+			}
+		}
+		if (Constant.TYPE_OUT.equals(type)) {
+			List<InoutNoticeOut> listOut = this.queryNoticeOut(param);
+			if (null != listOut && listOut.size() > 0) {
+				for (InoutNoticeOut inoutNoticeOut : listOut) {
+					dto = new NoticeDto();
+					BeanUtils.copyProperties(inoutNoticeOut, dto);
+					list.add(dto);
+				}
+			}
+		}
+		return list;
+	}
+
+
+	/*==================== 鍏ュ簱閫氱煡鍗曠浉鍏充笟鍔� ====================*/
+
+	/**
+	 * inoutNoticePR#initAddIn 鍏ュ簱閫氱煡鍗曟柊澧炲垵濮嬪寲
+	 *
+	 * @return
+	 */
+	@Expose
+	public InoutNoticeIn initAddIn() {
+		SysUser user = ContextUtil.getLoginUser();
+		InoutNoticeIn data = new InoutNoticeIn();
+		data.setId("RKTZD_" + ContextUtil.generateId());
+		data.setName("鍏ュ簱閫氱煡鍗�");
+		data.setCompanyId(user.getCompanyId());
+		data.setDeptId(ContextUtil.subDeptId(user));
+		data.setTag(Constant.YN_Y);
+		return data;
+	}
+
+	/**
+	 * inoutNoticePR#pageQueryIn 鑾峰彇鍏ュ簱閫氱煡鍗�
+	 *
+	 * @param param
+	 * @return
+	 */
+	@DataProvider
+	public void pageQueryIn(Page<InoutNoticeIn> page, Map<String, Object> param) {
+		if (null == param) {
+			param = new HashMap<>();
+		}
+		Map<String, Object> finalParam = param;
+
+		//澶氬弬鏁板垎椤垫煡璇�
+		Pageable pageable = PageRequest.of(0, 10000, Sort.Direction.ASC, InoutNoticeIn.SORT_PROP);
+		Specification<InoutNoticeIn> specification = new Specification<InoutNoticeIn>() {
+			private static final long serialVersionUID = 1L;
+
+			public Predicate toPredicate(Root<InoutNoticeIn> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+				List<Predicate> predicates = new ArrayList<Predicate>(); //鎵�鏈夌殑鏂█
+
+				Predicate predicate1 = cb.equal(root.get("companyId"), ContextUtil.getCompanyId());
+				predicates.add(predicate1);
+				Predicate predicate2 = cb.equal(root.get("deptId"), ContextUtil.subDeptId(null));
+				predicates.add(predicate2);
+
+				String key = String.valueOf(finalParam.get("year"));
+				if (StringUtils.isBlank(key)) {
+					Predicate predicate3 = cb.equal(root.get("year"), key);
+					predicates.add(predicate3);
+				}
+				key = (String) finalParam.get("id");
+				if (StringUtils.isBlank(key)) {
+					Predicate predicate4 = cb.equal(root.get("id"),  key);
+					predicates.add(predicate4);
+				}
+				key = (String) finalParam.get("customerName");
+				if (StringUtils.isBlank(key)) {
+					Predicate predicate5 = cb.like(root.get("customerName"), "%" + key + "%");
+					predicates.add(predicate5);
+				}
+				key = (String) finalParam.get("completeStatus");
+				if (StringUtils.isBlank(key)) {
+					Predicate predicate6 = cb.equal(root.get("completeStatus"), key);
+					predicates.add(predicate6);
+				}
+				key = (String) finalParam.get("foodVariety");
+				if (StringUtils.isBlank(key)) {
+					Predicate predicate7 = cb.equal(root.get("foodVariety"), key);
+					predicates.add(predicate7);
+				}
+				return cb.and(predicates.toArray(new Predicate[0]));
+			}
+		};
+		org.springframework.data.domain.Page<InoutNoticeIn> japPage = inoutNoticeService.queryAllNoticeIn(specification, pageable);
+		page.setEntityCount((int) japPage.getTotalElements());
+		page.setEntities(japPage.getContent());
+	}
+
+	/**
+	 * inoutNoticePR#saveIn 鏇存柊鍏ュ簱閫氱煡鍗�
+	 */
+	@Expose
+	public String saveIn(InoutNoticeIn data) {
+		InoutNoticeIn inoutNoticeIn = new InoutNoticeIn();
+		BeanUtils.copyProperties(data, inoutNoticeIn);
+		return inoutNoticeService.saveOrUpdateIn(inoutNoticeIn);
+	}
+
+	/**
+	 * inoutNoticePR#delDataIn
+	 */
+	@Expose
+	public String delDataIn(InoutNoticeIn data) {
+		InoutNoticeIn inoutNoticeIn = new InoutNoticeIn();
+		BeanUtils.copyProperties(data, inoutNoticeIn);
+		return inoutNoticeService.delDataIn(inoutNoticeIn);
+	}
+
+	/**
+	 * 鏍规嵁涓嶅悓鏉′欢鏌ヨ
+	 * @param param
+	 * @return
+	 */
+	public List<InoutNoticeIn> queryNoticeIn(Map<String, Object> param) {
+		if (null == param) {
+			param = new HashMap<>();
+		}
+		Map<String, Object> finalParam = param;
+
+		//澶氬弬鏁板垎椤垫煡璇�
+		Pageable pageable = PageRequest.of(0, 10000, Sort.Direction.ASC, InoutNoticeIn.SORT_PROP);
+		Specification<InoutNoticeIn> specification = new Specification<InoutNoticeIn>() {
+			private static final long serialVersionUID = 1L;
+
+			public Predicate toPredicate(Root<InoutNoticeIn> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+				List<Predicate> predicates = new ArrayList<Predicate>(); //鎵�鏈夌殑鏂█
+
+				Predicate predicate1 = cb.equal(root.get("companyId"), ContextUtil.getCompanyId());
+				predicates.add(predicate1);
+				Predicate predicate2 = cb.equal(root.get("deptId"), ContextUtil.subDeptId(null));
+				predicates.add(predicate2);
+				Predicate predicate3 = cb.equal(root.get("completeStatus"), "NONE");
+				predicates.add(predicate3);
+
+				String key = (String) finalParam.get("customerId");
+				if (StringUtils.isNotEmpty(key)) {
+					Predicate predicate4 = cb.equal(root.get("customerId"), key);
+					predicates.add(predicate4);
+				}
+				key = (String) finalParam.get("foodVariety");
+				if (StringUtils.isNotEmpty(key)) {
+					Predicate predicate5 = cb.equal(root.get("foodVariety"),  key);
+					predicates.add(predicate5);
+				}
+				key = (String) finalParam.get("depotId");
+				if (StringUtils.isNotEmpty(key)) {
+					Predicate predicate6 = cb.equal(root.get("depotId"), key);
+					predicates.add(predicate6);
+				}
+				key = (String) finalParam.get("key");
+				if (StringUtils.isNotEmpty(key)) {
+					Predicate predicate7 = cb.like(root.get("name"), "%" + key + "%");
+					predicates.add(predicate7);
+				}
+				return cb.and(predicates.toArray(new Predicate[0]));
+			}
+		};
+		org.springframework.data.domain.Page<InoutNoticeIn> japPage = inoutNoticeService.queryAllNoticeIn(specification, pageable);
+
+		return japPage.getContent();
+	}
+
+	/**
+	 * 閲嶆柊鏍哥畻鍏ュ簱閫氱煡鍗曞畬鎴愰噺
+	 *
+	 * inoutNoticePR#updateSumNoticeIn
+	 *
+	 * @return
+	 */
+	@Expose
+	public String updateSumNoticeIn() {
+
+		//鑾峰彇鎵�鏈夋湭瀹屾垚鐘舵�佺殑鍏ュ簱閫氱煡鍗�
+		String companyId = ContextUtil.getCompanyId();
+		String deptId = ContextUtil.subDeptId(null);
+
+		List<InoutNoticeIn> noticeInList = inoutNoticeService.getUnComNoticeIn(companyId);
+
+		if (noticeInList != null && noticeInList.size() > 0) {
+			inoutNoticeService.updateSumNoticeIn(noticeInList);
+			return "success";
+		}
+		
+		
+		return "fail";
+	}
+
+	/*==================== 鍑哄簱閫氱煡鍗曠浉鍏充笟鍔� ====================*/
+
+	/**
+	 * inoutNoticePR#initAddOut 鍑哄簱閫氱煡鍗曟柊澧炲垵濮嬪寲
+	 *
+	 * @return
+	 */
+	@Expose
+	public InoutNoticeOut initAddOut() {
+		SysUser user = ContextUtil.getLoginUser();
+		InoutNoticeOut data = new InoutNoticeOut();
+		data.setId("CKTZD_" + ContextUtil.generateId());
+		data.setName("鍑哄簱閫氱煡鍗�");
+		data.setCompanyId(user.getCompanyId());
+		data.setDeptId(ContextUtil.subDeptId(user));
+		data.setTag(Constant.YN_Y);
+		return data;
+	}
+
+	/**
+	 * inoutNoticePR#pageQueryOut 鑾峰彇鍑哄簱閫氱煡鍗�
+	 * @param page
+	 * @param param
+	 */
+	@DataProvider
+	public void pageQueryOut(Page<InoutNoticeOut> page, Map<String, Object> param) {
+
+		if (null == param) {
+			param = new HashMap<>();
+		}
+		Map<String, Object> finalParam = param;
+
+		//澶氬弬鏁板垎椤垫煡璇�
+		Pageable pageable = PageRequest.of(0, 10000, Sort.Direction.ASC, InoutNoticeOut.SORT_PROP);
+		Specification<InoutNoticeOut> specification = new Specification<InoutNoticeOut>() {
+			private static final long serialVersionUID = 1L;
+
+			public Predicate toPredicate(Root<InoutNoticeOut> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+				List<Predicate> predicates = new ArrayList<Predicate>(); //鎵�鏈夌殑鏂█
+
+				Predicate predicate1 = cb.equal(root.get("companyId"), ContextUtil.getCompanyId());
+				predicates.add(predicate1);
+				Predicate predicate2 = cb.equal(root.get("deptId"), ContextUtil.subDeptId(null));
+				predicates.add(predicate2);
+
+				String key = String.valueOf(finalParam.get("year"));
+				if (StringUtils.isNotEmpty(key)) {
+					Predicate predicate3 = cb.equal(root.get("year"), key);
+					predicates.add(predicate3);
+				}
+				key = (String) finalParam.get("id");
+				if (StringUtils.isNotEmpty(key)) {
+					Predicate predicate4 = cb.equal(root.get("id"),  key);
+					predicates.add(predicate4);
+				}
+				key = (String) finalParam.get("customerId");
+				if (StringUtils.isNotEmpty(key)) {
+					Predicate predicate5 = cb.equal(root.get("customerId"), key);
+					predicates.add(predicate5);
+				}
+				key = (String) finalParam.get("completeStatus");
+				if (StringUtils.isNotEmpty(key)) {
+					Predicate predicate6 = cb.equal(root.get("completeStatus"), key);
+					predicates.add(predicate6);
+				}
+				key = (String) finalParam.get("foodVariety");
+				if (StringUtils.isNotEmpty(key)) {
+					Predicate predicate7 = cb.equal(root.get("foodVariety"), key);
+					predicates.add(predicate7);
+				}
+				return cb.and(predicates.toArray(new Predicate[0]));
+			}
+		};
+		org.springframework.data.domain.Page<InoutNoticeOut> japPage = inoutNoticeService.queryAllNoticeOut(specification, pageable);
+		page.setEntityCount((int) japPage.getTotalElements());
+		page.setEntities(japPage.getContent());
+	}
+
+	/**
+	 * inoutNoticePR#saveOut 鏇存柊鍑哄簱閫氱煡鍗�
+	 * @param data
+	 * @return
+	 */
+	@Expose
+	public String saveOut(InoutNoticeOut data) {
+		InoutNoticeOut inoutNoticeOut = new InoutNoticeOut();
+		BeanUtils.copyProperties(data, inoutNoticeOut);
+		return inoutNoticeService.saveOrUpdateOut(inoutNoticeOut);
+	}
+
+	/**
+	 * inoutNoticePR#delDataOut
+	 */
+	@Expose
+	public String delDataOut(InoutNoticeOut data) {
+		InoutNoticeOut inoutNoticeOut = new InoutNoticeOut();
+		BeanUtils.copyProperties(data, inoutNoticeOut);
+		return inoutNoticeService.delDataOut(inoutNoticeOut);
+	}
+
+	/**
+	 * 鏍规嵁涓嶅悓鏉′欢鏌ヨ
+	 * @param param
+	 * @return
+	 */
+	public List<InoutNoticeOut> queryNoticeOut(Map<String, Object> param) {
+		if (null == param) {
+			param = new HashMap<>();
+		}
+		Map<String, Object> finalParam = param;
+
+		//澶氬弬鏁板垎椤垫煡璇�
+		Pageable pageable = PageRequest.of(0, 10000, Sort.Direction.ASC, InoutNoticeOut.SORT_PROP);
+		Specification<InoutNoticeOut> specification = new Specification<InoutNoticeOut>() {
+			private static final long serialVersionUID = 1L;
+
+			public Predicate toPredicate(Root<InoutNoticeOut> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+				List<Predicate> predicates = new ArrayList<Predicate>(); //鎵�鏈夌殑鏂█
+
+				Predicate predicate1 = cb.equal(root.get("companyId"), ContextUtil.getCompanyId());
+				predicates.add(predicate1);
+				Predicate predicate2 = cb.equal(root.get("deptId"), ContextUtil.subDeptId(null));
+				predicates.add(predicate2);
+				Predicate predicate3 = cb.equal(root.get("completeStatus"), "NONE");
+				predicates.add(predicate3);
+
+				String key = (String) finalParam.get("customerId");
+				if (StringUtils.isNotEmpty(key)) {
+					Predicate predicate4 = cb.equal(root.get("customerId"), key);
+					predicates.add(predicate4);
+				}
+				key = (String) finalParam.get("foodVariety");
+				if (StringUtils.isNotEmpty(key)) {
+					Predicate predicate5 = cb.equal(root.get("foodVariety"),  key);
+					predicates.add(predicate5);
+				}
+				key = (String) finalParam.get("depotId");
+				if (StringUtils.isNotEmpty(key)) {
+					Predicate predicate6 = cb.equal(root.get("depotId"), key);
+					predicates.add(predicate6);
+				}
+				key = (String) finalParam.get("key");
+				if (StringUtils.isNotEmpty(key)) {
+					Predicate predicate7 = cb.like(root.get("name"), "%" + key + "%");
+					predicates.add(predicate7);
+				}
+				return cb.and(predicates.toArray(new Predicate[0]));
+			}
+		};
+		org.springframework.data.domain.Page<InoutNoticeOut> japPage = inoutNoticeService.queryAllNoticeOut(specification, pageable);
+
+		return japPage.getContent();
+	}
+
+	/**
+	 * 閲嶆柊鏍哥畻鍑哄簱閫氱煡鍗曞畬鎴愰噺
+	 *
+	 * inoutNoticePR#updateSumNoticeOut
+	 *
+	 * @return
+	 */
+	@Expose
+	public String updateSumNoticeOut() {
+
+		//鑾峰彇鎵�鏈夋湭瀹屾垚鐘舵�佺殑鍏ュ簱閫氱煡鍗�
+		String companyId = ContextUtil.getCompanyId();
+		String deptId = ContextUtil.subDeptId(null);
+
+		List<InoutNoticeOut> noticeOutList = inoutNoticeService.getUnComNoticeOut(companyId);
+
+		if (noticeOutList != null && noticeOutList.size() > 0) {
+			inoutNoticeService.updateSumNoticeOut(noticeOutList);
+			return "success";
+		}
+		return "fail";
+	}
+
+}

--
Gitblit v1.9.3