From 9ad1c8159544ed36729cffa66cb13b7e60fa46ec Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期三, 04 二月 2026 17:22:45 +0800
Subject: [PATCH] 客户问题优3-云台控制及监控同步
---
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java | 364 ++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 324 insertions(+), 40 deletions(-)
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java
index b2f2136..0d4ecbe 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java
@@ -1,22 +1,31 @@
package com.fzzy.igds.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.fzzy.igds.constant.Constant;
-import com.fzzy.igds.data.NoticeDto;
-import com.fzzy.igds.data.NoticeParam;
+import com.fzzy.igds.constant.InoutConstant;
+import com.fzzy.igds.data.*;
+import com.fzzy.igds.domain.*;
import com.fzzy.igds.mapper.InoutNoticeInMapper;
import com.fzzy.igds.mapper.InoutNoticeOutMapper;
-import com.fzzy.igds.domain.InoutNoticeIn;
-import com.fzzy.igds.domain.InoutNoticeOut;
import com.fzzy.igds.utils.ContextUtil;
+import com.fzzy.work.data.WorkBizType;
+import com.fzzy.work.data.WorkStatus;
+import com.fzzy.work.domain.WorkOrderConf;
+import com.fzzy.work.service.BizWorkService;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.time.DateFormatUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.transaction.annotation.Transactional;
+
import javax.annotation.Resource;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @Description 鍑哄叆搴撻�氱煡鍗晄ervice灞傦紝鍖呭惈鍏ュ簱閫氱煡鍗曞拰鍑哄簱閫氱煡鍗�
@@ -31,8 +40,18 @@
private InoutNoticeInMapper noticeInMapper;
@Resource
private InoutNoticeOutMapper noticeOutMapper;
+ @Resource
+ private DepotService depotService;
+ @Resource
+ private CoreDeptService coreDeptService;
+ @Resource
+ private PledgeContractService pledgeContractService;
+
+ @Resource
+ private BizWorkService workService;
/*----------------------鍏ュ簱閫氱煡鍗曚俊鎭�-------------------------*/
+
/**
* 鍒嗛〉鏌ヨ鏁版嵁
* @param page
@@ -41,19 +60,19 @@
public void pageQueryIn(Page<InoutNoticeIn> page, NoticeParam param) {
QueryWrapper<InoutNoticeIn> queryWrapper = new QueryWrapper<>();
- if(null == param) {
+ if (null == param) {
param = new NoticeParam();
}
param.setCompanyId(ContextUtil.getCompanyId());
queryWrapper.eq("company_id", param.getCompanyId());
- if(StringUtils.isNotBlank(param.getCustomerName())){
+ if (StringUtils.isNotBlank(param.getCustomerName())) {
queryWrapper.like("customer_name", param.getCustomerName());
}
- if(StringUtils.isNotBlank(param.getFoodVariety())){
+ if (StringUtils.isNotBlank(param.getFoodVariety())) {
queryWrapper.like("food_variety", param.getFoodVariety());
}
- if(StringUtils.isNotBlank(param.getCompleteStatus())){
+ if (StringUtils.isNotBlank(param.getCompleteStatus())) {
queryWrapper.like("complete_status", param.getCompleteStatus());
}
@@ -67,20 +86,23 @@
public List<InoutNoticeIn> getNoticeIn(NoticeParam param) {
QueryWrapper<InoutNoticeIn> queryWrapper = new QueryWrapper<>();
- if(StringUtils.isNotBlank(param.getCompanyId())){
+ if (StringUtils.isNotBlank(param.getCompanyId())) {
queryWrapper.eq("company_id", param.getCompanyId());
}
- if(StringUtils.isNotBlank(param.getDeptId())){
+ if (StringUtils.isNotBlank(param.getDeptId())) {
queryWrapper.eq("dept_id", param.getDeptId());
}
- if(StringUtils.isNotBlank(param.getCompleteStatus())){
+ if (StringUtils.isNotBlank(param.getAuditStatus())) {
+ queryWrapper.eq("audit_status", param.getAuditStatus());
+ }
+ if (StringUtils.isNotBlank(param.getCompleteStatus())) {
queryWrapper.eq("complete_status", param.getCompleteStatus());
}
- if(StringUtils.isNotBlank(param.getKey())){
+ if (StringUtils.isNotBlank(param.getKey())) {
queryWrapper.like("name", param.getKey());
}
queryWrapper.orderByDesc("create_time");
-
+
return noticeInMapper.selectList(queryWrapper);
}
@@ -117,22 +139,99 @@
* @param data
* @return
*/
- public String saveOrUpdateIn(InoutNoticeIn data) {
+ @Transactional(rollbackFor = Exception.class)
+ public BaseResp saveOrUpdateIn(InoutNoticeIn data) {
+
+ //濡傛灉鏄簱鍖鸿嚜寤洪�氱煡鍗�
+ if (InoutConstant.NOTICE_IN_TYPE_10.equals(data.getType())) {
+ //鑾峰彇璐ㄦ娂鍚堝悓鏁版嵁
+ PledgeContract pledge = this.getPledgeByDepotId(data);
+ if (null != pledge && pledge.getStatus().equals(Constant.YN_N)) {
+ return BaseResp.error("褰撳墠浠撳簱鏈夋湭瑙f娂鐨勮川鎶煎悎鍚岋紝璐ㄦ娂鍚堝悓=" + pledge.getName());
+ }
+ }
+
+ //濡傛灉璐ㄦ娂閫氱煡鍗�
+ if (InoutConstant.NOTICE_IN_TYPE_20.equals(data.getType())) {
+ //1.楠岃瘉閾惰鏄惁濉啓锛屾湭濉啓锛屽垯涓嶅厑璁镐繚瀛�
+ if (StringUtils.isEmpty(data.getBankId())) {
+ return BaseResp.error("璐ㄦ娂閾惰涓嶈兘涓虹┖锛�");
+ }
+ //2.楠岃瘉閾惰鍜屼粨搴撶殑瀵瑰簲鍏崇郴鏄惁姝g‘锛屼笉姝g‘鍒欎笉鍏佽淇濆瓨
+ PledgeContract pledge = this.getPledgeByDepotIdAndBankId(data);
+ if (null == pledge) {
+ return BaseResp.error("鏈幏鍙栧埌褰撳墠搴撳尯銆佷粨搴撳拰閾惰涔嬮棿鐨勮川鎶间俊鎭紒");
+ }
+ }
+
+ //淇敼鍜屾彁浜ゆ槸涓や釜閫昏緫鍒ゆ柇
if (null == data.getUpdateBy()) {
- data.setUpdateBy(ContextUtil.getLoginUserName());
- data.setUpdateTime(new Date());
- data.setCreateBy(ContextUtil.getLoginUserName());
- data.setCreateTime(new Date());
- data.setAuditStatus(Constant.COMPLETE_STATUS_NONE);
- data.setCompleteStatus(Constant.COMPLETE_STATUS_NONE);
- noticeInMapper.insert(data);
+ return this.saveInAddStartWork(data);
} else {
data.setUpdateBy(ContextUtil.getLoginUserName());
data.setUpdateTime(new Date());
noticeInMapper.updateById(data);
+ return BaseResp.success();
+ }
+ }
+
+ private BaseResp saveInAddStartWork(InoutNoticeIn data) {
+ //鏁版嵁淇濆瓨
+ data.setUpdateBy(ContextUtil.getLoginUserName());
+ data.setUpdateTime(new Date());
+ data.setCreateBy(ContextUtil.getLoginUserName());
+ data.setCreateTime(new Date());
+ data.setAuditStatus(WorkStatus.STATUS_10.getCode());
+ data.setCompleteStatus(Constant.COMPLETE_STATUS_NONE);
+
+ //鎵ц娴佺▼
+ WorkOrderConf conf = workService.getConfByDeptId(data.getDeptId(), WorkBizType.TYPE_10);
+ //娴佺▼涓嶅惎鐢�
+ if (null == conf || Constant.YN_N.equals(conf.getValTag())) {
+ data.setAuditStatus(WorkStatus.STATUS_50.getCode());
+ } else {
+ BaseResp resp = workService.startByNoticeIn(data, conf);
+ log.info("---------鍚姩宸ュ崟娴佺▼------{}", resp);
}
- return null;
+ noticeInMapper.insert(data);
+
+ return BaseResp.success();
+ }
+
+
+ /**
+ * 鍒ゆ柇褰撳墠浠撳簱鏄惁鍦ㄨ川鎶煎悎鍚屼腑鏈В鎶�
+ * @param data 褰撳墠鏁版嵁
+ * @return true-鍦ㄨ川鎶煎悎鍚屼腑鏈В鎶硷紝false-鍦ㄨ川鎶煎悎鍚屼腑宸茶В鎶�
+ */
+ private PledgeContract getPledgeByDepotId(InoutNoticeIn data) {
+ IgdsBaseParam param = new IgdsBaseParam();
+ param.setCompanyId(data.getCompanyId());
+ param.setDeptId(data.getDeptId());
+ param.setDepotId(data.getDepotId());
+ return pledgeContractService.getByDepotId(param);
+ }
+
+ private PledgeContract getPledgeByDepotIdAndBankId(InoutNoticeIn data) {
+ IgdsBaseParam param = new IgdsBaseParam();
+ param.setCompanyId(data.getCompanyId());
+ param.setDeptId(data.getDeptId());
+ param.setDepotId(data.getDepotId());
+ param.setBankId(data.getBankId());
+ return pledgeContractService.getByDepotId(param);
+ }
+
+ /**
+ * 鏇存柊瀹℃牳鐘舵��
+ * @param id
+ * @param status
+ */
+ public void updateNoticeInStatus(String id, String status) {
+ UpdateWrapper<InoutNoticeIn> updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("id", id).set("audit_status", status);
+
+ noticeInMapper.update(null, updateWrapper);
}
/**
@@ -147,6 +246,7 @@
}
/*----------------------鍑哄簱閫氱煡鍗曚俊鎭�-------------------------*/
+
/**
* 鍒嗛〉鏌ヨ鏁版嵁
* @param page
@@ -155,19 +255,19 @@
public void pageQueryOut(Page<InoutNoticeOut> page, NoticeParam param) {
QueryWrapper<InoutNoticeOut> queryWrapper = new QueryWrapper<>();
- if(null == param) {
+ if (null == param) {
param = new NoticeParam();
}
param.setCompanyId(ContextUtil.getCompanyId());
queryWrapper.eq("company_id", param.getCompanyId());
- if(StringUtils.isNotBlank(param.getCustomerName())){
+ if (StringUtils.isNotBlank(param.getCustomerName())) {
queryWrapper.like("customer_name", param.getCustomerName());
}
- if(StringUtils.isNotBlank(param.getFoodVariety())){
+ if (StringUtils.isNotBlank(param.getFoodVariety())) {
queryWrapper.like("food_variety", param.getFoodVariety());
}
- if(StringUtils.isNotBlank(param.getCompleteStatus())){
+ if (StringUtils.isNotBlank(param.getCompleteStatus())) {
queryWrapper.like("complete_status", param.getCompleteStatus());
}
@@ -180,16 +280,19 @@
*/
public List<InoutNoticeOut> getNoticeOut(NoticeParam param) {
QueryWrapper<InoutNoticeOut> queryWrapper = new QueryWrapper<>();
- if(StringUtils.isNotBlank(param.getCompanyId())){
+ if (StringUtils.isNotBlank(param.getCompanyId())) {
queryWrapper.eq("company_id", param.getCompanyId());
}
- if(StringUtils.isNotBlank(param.getDeptId())){
+ if (StringUtils.isNotBlank(param.getDeptId())) {
queryWrapper.eq("dept_id", param.getDeptId());
}
- if(StringUtils.isNotBlank(param.getCompleteStatus())){
+ if (StringUtils.isNotBlank(param.getAuditStatus())) {
+ queryWrapper.eq("audit_status", param.getAuditStatus());
+ }
+ if (StringUtils.isNotBlank(param.getCompleteStatus())) {
queryWrapper.eq("complete_status", param.getCompleteStatus());
}
- if(StringUtils.isNotBlank(param.getKey())){
+ if (StringUtils.isNotBlank(param.getKey())) {
queryWrapper.like("name", param.getKey());
}
queryWrapper.orderByDesc("create_time");
@@ -203,7 +306,6 @@
* @return
*/
public InoutNoticeOut getNoticeOutOne(String id) {
-
QueryWrapper<InoutNoticeOut> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("id", id);
return noticeOutMapper.selectOne(queryWrapper);
@@ -230,21 +332,51 @@
* @param data
* @return
*/
- public String saveOrUpdateOut(InoutNoticeOut data) {
+ @Transactional(rollbackFor = Exception.class)
+ public BaseResp saveOrUpdateOut(InoutNoticeOut data) {
+ //濡傛灉鍑哄簱閫氱煡鍗曠被鍨嬩负搴撳尯閫氱煡鍗曪紝楠岃瘉浠撳簱鏄惁鏄湭瑙f娂寰椾粨搴擄紝鏄垯涓嶅厑璁镐繚瀛�
+ if (InoutConstant.NOTICE_IN_TYPE_10.equals(data.getType())) {
+ //鍦ㄨ川鎶煎悎鍚屾壘鍒版湭瑙f娂锛屼笖璐ㄦ娂浠撳簱鍖呭惈褰撳墠浠撳簱鐨勬暟鎹�
+ //鑾峰彇璐ㄦ娂鍚堝悓鏁版嵁
+ PledgeContract pledge = this.getPledgeByDepotIdOut(data);
+ if (null != pledge && pledge.getStatus().equals(Constant.YN_N)) {
+ return BaseResp.error("褰撳墠浠撳簱鏈夋湭瑙f娂鐨勮川鎶煎悎鍚岋紝璐ㄦ娂鍚堝悓=" + pledge.getName());
+ }
+ }
+ //濡傛灉鍑哄簱閫氱煡鍗曠被鍨嬩负鐩戠閫氱煡鍗�
+ //濡傛灉璐ㄦ娂閫氱煡鍗�
+ if (InoutConstant.NOTICE_IN_TYPE_20.equals(data.getType())) {
+ //1.楠岃瘉閾惰鏄惁濉啓锛屾湭濉啓锛屽垯涓嶅厑璁镐繚瀛�
+ if (StringUtils.isEmpty(data.getBankId())) {
+ return BaseResp.error("璐ㄦ娂閾惰涓嶈兘涓虹┖锛�");
+ }
+ //2.楠岃瘉閾惰鍜屼粨搴撶殑瀵瑰簲鍏崇郴鏄惁姝g‘锛屼笉姝g‘鍒欎笉鍏佽淇濆瓨
+ PledgeContract pledge = this.getPledgeByDepotIdAndBankIdOut(data);
+ if (null == pledge) {
+ return BaseResp.error("鏈幏鍙栧埌褰撳墠搴撳尯銆佷粨搴撳拰閾惰涔嬮棿鐨勮川鎶间俊鎭紒");
+ }
+ }
+
if (null == data.getUpdateBy()) {
- data.setUpdateBy(ContextUtil.getLoginUserName());
- data.setUpdateTime(new Date());
- data.setCreateBy(ContextUtil.getLoginUserName());
- data.setCreateTime(new Date());
- data.setAuditStatus(Constant.COMPLETE_STATUS_NONE);
- data.setCompleteStatus(Constant.COMPLETE_STATUS_NONE);
- noticeOutMapper.insert(data);
+ return this.saveOutAddStartWork(data);
} else {
data.setUpdateBy(ContextUtil.getLoginUserName());
data.setUpdateTime(new Date());
noticeOutMapper.updateById(data);
+ return BaseResp.success();
}
- return null;
+ }
+
+ /**
+ * 鏇存柊瀹℃牳鐘舵��
+ * @param id
+ * @param status
+ */
+ public void updateNoticeOutStatus(String id, String status) {
+ UpdateWrapper<InoutNoticeOut> updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("id", id).set("audit_status", status);
+
+ noticeOutMapper.update(null, updateWrapper);
}
/**
@@ -256,6 +388,52 @@
public String delDataOut(InoutNoticeOut data) {
noticeOutMapper.deleteById(data);
return null;
+ }
+
+ private BaseResp saveOutAddStartWork(InoutNoticeOut data) {
+ //鏁版嵁淇濆瓨
+ data.setUpdateBy(ContextUtil.getLoginUserName());
+ data.setUpdateTime(new Date());
+ data.setCreateBy(ContextUtil.getLoginUserName());
+ data.setCreateTime(new Date());
+ data.setAuditStatus(WorkStatus.STATUS_10.getCode());
+ data.setCompleteStatus(Constant.COMPLETE_STATUS_NONE);
+
+ //鎵ц娴佺▼
+ WorkOrderConf conf = workService.getConfByDeptId(data.getDeptId(), WorkBizType.TYPE_20);
+ //娴佺▼涓嶅惎鐢�
+ if (null == conf || Constant.YN_N.equals(conf.getValTag())) {
+ data.setAuditStatus(WorkStatus.STATUS_50.getCode());
+ } else {
+ BaseResp resp = workService.startByNoticeOut(data, conf);
+ log.info("---------鍚姩宸ュ崟娴佺▼------{}", resp);
+ }
+
+ noticeOutMapper.insert(data);
+
+ return BaseResp.success();
+ }
+
+ /**
+ * 鍒ゆ柇褰撳墠浠撳簱鏄惁鍦ㄨ川鎶煎悎鍚屼腑鏈В鎶�
+ * @param data 褰撳墠鏁版嵁
+ * @return true-鍦ㄨ川鎶煎悎鍚屼腑鏈В鎶硷紝false-鍦ㄨ川鎶煎悎鍚屼腑宸茶В鎶�
+ */
+ private PledgeContract getPledgeByDepotIdOut(InoutNoticeOut data) {
+ IgdsBaseParam param = new IgdsBaseParam();
+ param.setCompanyId(data.getCompanyId());
+ param.setDeptId(data.getDeptId());
+ param.setDepotId(data.getDepotId());
+ return pledgeContractService.getByDepotId(param);
+ }
+
+ private PledgeContract getPledgeByDepotIdAndBankIdOut(InoutNoticeOut data) {
+ IgdsBaseParam param = new IgdsBaseParam();
+ param.setCompanyId(data.getCompanyId());
+ param.setDeptId(data.getDeptId());
+ param.setDepotId(data.getDepotId());
+ param.setBankId(data.getBankId());
+ return pledgeContractService.getByDepotId(param);
}
/**
@@ -380,4 +558,110 @@
return null;
}
+ /**
+ *
+ * @param param
+ * @return
+ */
+ public ExportWordParam handleInData(ExportWordParam param) {
+
+ InoutNoticeIn notice = this.getNoticeInOne(param.getBizId());
+
+ //杞崲涓烘ā鏉块渶瑕佺殑map鏁版嵁婧�
+ Map<String, Object> map = new HashMap();
+
+ map.put("serId", notice.getId());
+ map.put("name", notice.getName());
+
+ String type = "";
+ if ("10".equals(notice.getType())) {
+ type = "搴撳尯閫氱煡鍗�";
+ }
+ if ("20".equals(notice.getType())) {
+ type = "鐩戠閫氱煡鍗�";
+ }
+ map.put("type", type);
+
+ map.put("customerName", notice.getCustomerName());
+
+ String unitName = "";
+ Dept dept = coreDeptService.getDeptById(notice.getUnitName());
+ if (dept != null) {
+ unitName = dept.getKqmc();
+ }
+ map.put("unitName", unitName);
+
+ Depot depot = depotService.getCacheDepot(notice.getCompanyId(), notice.getDepotId());
+ String depotId = "";
+ if (dept != null) {
+ depotId = depot.getName();
+ }
+ map.put("depotId", depotId);
+
+ map.put("year", notice.getYear());
+ map.put("targetNumber", notice.getTargetNumber());
+ map.put("completeNumber", notice.getCompleteNumber());
+ map.put("completeStatus", notice.getCompleteStatus());
+ map.put("contract", notice.getContract());
+ map.put("remark", notice.getRemark());
+ map.put("createUser", notice.getCreateBy());
+ map.put("createTime", DateFormatUtils.format(notice.getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
+
+ param.setDataMap(map);
+ return param;
+ }
+
+ /**
+ *
+ * @param param
+ * @return
+ */
+ public ExportWordParam handleOutData(ExportWordParam param) {
+
+ InoutNoticeOut notice = this.getNoticeOutOne(param.getBizId());
+
+ //杞崲涓烘ā鏉块渶瑕佺殑map鏁版嵁婧�
+ Map<String, Object> map = new HashMap();
+
+ map.put("serId", notice.getId());
+ map.put("name", notice.getName());
+
+ String type = "";
+ if ("10".equals(notice.getType())) {
+ type = "搴撳尯閫氱煡鍗�";
+ }
+ if ("20".equals(notice.getType())) {
+ type = "鐩戠閫氱煡鍗�";
+ }
+ map.put("type", type);
+
+ map.put("customerName", notice.getCustomerName());
+
+ String unitName = "";
+ Dept dept = coreDeptService.getDeptById(notice.getUnitName());
+ if (dept != null) {
+ unitName = dept.getKqmc();
+ }
+ map.put("unitName", unitName);
+
+ Depot depot = depotService.getCacheDepot(notice.getCompanyId(), notice.getDepotId());
+ String depotId = "";
+ if (dept != null) {
+ depotId = depot.getName();
+ }
+ map.put("depotId", depotId);
+
+ map.put("year", notice.getYear());
+ map.put("targetNumber", notice.getTargetNumber());
+ map.put("completeNumber", notice.getCompleteNumber());
+ map.put("completeStatus", notice.getCompleteStatus());
+ map.put("contract", notice.getContract());
+ map.put("remark", notice.getRemark());
+ map.put("createUser", notice.getCreateBy());
+ map.put("createTime", DateFormatUtils.format(notice.getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
+
+ param.setDataMap(map);
+ return param;
+ }
+
}
--
Gitblit v1.9.3