From 1360cdb47a4306039abb3bcbed77fb7093779081 Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期五, 19 十二月 2025 11:06:32 +0800
Subject: [PATCH] 损益管理
---
fzzy-igdss-web/src/main/resources/static/group/gis.js | 2
fzzy-igdss-core/src/main/java/com/fzzy/igds/websocket/WebSocketPacket.java | 6
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutLossOver.view.xml | 397 ++++++++++++++++++++++++++++++
fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/Constant.java | 9
fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/InoutLossOverMapper.java | 14 +
fzzy-igdss-web/src/main/resources/templates/group/index.html | 2
fzzy-igdss-view/src/main/java/com/fzzy/igds/Patrol.view.xml | 2
fzzy-igdss-view/src/main/java/models/core.model.xml | 6
fzzy-igdss-web/src/main/resources/static/group/master.css | 1
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutLossOverPR.java | 70 +++++
fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/group/GroupController.java | 11
fzzy-igdss-web/src/main/resources/static/group/video.js | 2
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutLossOverService.java | 127 +++++++++
fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutLossOver.java | 67 +++++
fzzy-igdss-web/src/main/resources/static/group/index.js | 2
fzzy-igdss-web/src/main/resources/templates/group/video.html | 2
fzzy-igdss-web/src/main/resources/templates/security/patrol/patrolRecord/patrolRecord.html | 2
fzzy-igdss-web/src/main/resources/templates/group/gis.html | 1
18 files changed, 714 insertions(+), 9 deletions(-)
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/Constant.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/Constant.java
index b06c53e..3591b8a 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/Constant.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/Constant.java
@@ -114,6 +114,15 @@
public static final String TYPE_OUT = "OUT";
/**
+ * 鎹熸孩绫诲瀷-鎹熻��
+ */
+ public static final String TYPE_LOSS = "LOSS";
+ /**
+ * 鎹熸孩绫诲瀷-婧㈠嚭
+ */
+ public static final String TYPE_OVER = "OVER";
+
+ /**
* 鍑哄叆搴撴祦绋�
*/
// 娴佺▼-鐧昏
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutLossOver.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutLossOver.java
new file mode 100644
index 0000000..e90bbb8
--- /dev/null
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutLossOver.java
@@ -0,0 +1,67 @@
+package com.fzzy.igds.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description 鎹熺泭瀹炰綋
+ * @Author CZT
+ * @Date 2025/12/18 20:53
+ */
+@Data
+@Entity
+@Table(name = "d_inout_loss_over")
+@TableName("d_inout_loss_over")
+@EqualsAndHashCode(callSuper = false)
+public class InoutLossOver extends BizBaseEntity implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @Id
+ @Column(name = "id", columnDefinition = "varchar(40) COMMENT '鎹熻�楀崟鍙�(yyyyMMdd + 3浣嶉『搴忓彿)'")
+ @TableField("id")
+ private String id;
+
+ @Column(name = "dept_id", columnDefinition = "varchar(40) COMMENT '鎵�灞炲簱鍖�'")
+ @TableField("dept_id")
+ private String deptId;
+
+ @Column(name = "depot_id", columnDefinition = "varchar(40) COMMENT '鍏ュ簱浠撳簱'")
+ @TableField("depot_id")
+ private String depotId;
+
+ @Column(name = "type", columnDefinition = "varchar(40) COMMENT '鎹熺泭绫诲瀷(LOSS-鎹熻�楋紝OVER-婧㈠嚭)'")
+ @TableField("type")
+ private String type;
+
+ @Column(name = "food_variety", columnDefinition = "varchar(7) COMMENT '绮鍝佺'")
+ @TableField("food_variety")
+ private String foodVariety;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @Column(name = "loss_time", columnDefinition = "datetime COMMENT '鎹熺泭鏃ユ湡'")
+ @TableField("loss_time")
+ private Date lossTime;
+
+ @Column(name = "amount", columnDefinition = "decimal(20,6) COMMENT '閲嶉噺(鍗曚綅锛欿G)'")
+ @TableField("amount")
+ private Double amount;
+
+ @Column(name = "info", columnDefinition = "varchar(200) COMMENT '鎹熺泭鍘熷洜'")
+ @TableField("info")
+ private String info;
+
+ @Column(name = "remark", columnDefinition = "varchar(100) COMMENT '澶囨敞璇存槑'")
+ @TableField("remark")
+ private String remark;
+
+}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/InoutLossOverMapper.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/InoutLossOverMapper.java
new file mode 100644
index 0000000..b3dbb1f
--- /dev/null
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/InoutLossOverMapper.java
@@ -0,0 +1,14 @@
+package com.fzzy.igds.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fzzy.igds.domain.InoutLossOver;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @Description
+ * @Author CZT
+ * @Date 2025/12/19 09:05
+ */
+@Mapper
+public interface InoutLossOverMapper extends BaseMapper<InoutLossOver> {
+}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutLossOverService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutLossOverService.java
new file mode 100644
index 0000000..34192b4
--- /dev/null
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutLossOverService.java
@@ -0,0 +1,127 @@
+package com.fzzy.igds.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fzzy.igds.data.IgdsBaseParam;
+import com.fzzy.igds.domain.InoutLossOver;
+import com.fzzy.igds.mapper.InoutLossOverMapper;
+import com.fzzy.igds.utils.ContextUtil;
+import com.fzzy.igds.utils.DateUtil;
+import com.ruoyi.common.utils.StringUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.time.DateFormatUtils;
+import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description
+ * @Author CZT
+ * @Date 2025/12/19 09:05
+ */
+@Slf4j
+@Service
+public class InoutLossOverService {
+
+ @Resource
+ private InoutLossOverMapper inoutLossOverMapper;
+
+ /**
+ * 鍒楄〃鍒嗛〉鏌ヨ
+ * @param page
+ * @param param
+ */
+ public void pageData(Page<InoutLossOver> page, IgdsBaseParam param) {
+ QueryWrapper<InoutLossOver> queryWrapper = new QueryWrapper<>();
+
+ param.setCompanyId(ContextUtil.getCompanyId());
+ param.setDeptId(ContextUtil.subDeptId(null));
+ queryWrapper.eq("company_id", param.getCompanyId());
+ queryWrapper.eq("dept_id", param.getDeptId());
+
+ if(StringUtils.isNotBlank(param.getDepotId())){
+ queryWrapper.like("depot_id", param.getDepotId());
+ }
+ if(null != param.getStart()){
+ queryWrapper.ge("loss_time", DateUtil.getCurZero(param.getStart()));
+ }
+ if(null != param.getEnd()){
+ queryWrapper.le("loss_time", DateUtil.getNextZero(param.getEnd()));
+ }
+
+ inoutLossOverMapper.selectPage(page, queryWrapper);
+ }
+
+ /**
+ * 鏌ヨ搴撳尯涓嬫墍鏈変俊鎭�
+ * @return
+ */
+ public List<InoutLossOver> listData(String companyId, String deptId) {
+
+ QueryWrapper<InoutLossOver> queryWrapper = new QueryWrapper<>();
+
+ if(StringUtils.isNotBlank(companyId)){
+ queryWrapper.eq("company_id", companyId);
+ }
+ if(StringUtils.isNotBlank(deptId)){
+ queryWrapper.eq("dept_id", deptId);
+ }
+ queryWrapper.orderByDesc("id");
+
+ return inoutLossOverMapper.selectList(queryWrapper);
+ }
+
+ /**
+ * 淇濆瓨鏁版嵁
+ * @param data
+ */
+ public void saveData(InoutLossOver data) {
+ if (StringUtils.isEmpty(data.getCompanyId())) {
+ data.setCompanyId(ContextUtil.getCompanyId());
+ }
+ if (StringUtils.isEmpty(data.getDeptId())) {
+ data.setDeptId(ContextUtil.subDeptId(null));
+ }
+ data.setUpdateBy(ContextUtil.getLoginUserName());
+ data.setUpdateTime(new Date());
+ if(StringUtils.isEmpty(data.getId())){
+ data.setId(getStrId(data.getLossTime()));
+ data.setCreateBy(ContextUtil.getLoginUserName());
+ data.setCreateTime(new Date());
+ inoutLossOverMapper.insert(data);
+ }else {
+ inoutLossOverMapper.updateById(data);
+ }
+ }
+
+ /**
+ * 鑾峰彇涓婚敭ID
+ *
+ * @param time
+ */
+ public String getStrId(Date time) {
+
+ QueryWrapper<InoutLossOver> queryWrapper = new QueryWrapper<>();
+ queryWrapper.ge("loss_time", DateUtil.getCurZero(time));
+ queryWrapper.le("loss_time", DateUtil.getNextZero(time));
+ queryWrapper.orderByDesc("id");
+
+ List<InoutLossOver> list = inoutLossOverMapper.selectList(queryWrapper);
+ String oldOrderId = null;
+ if (null != list && list.size() > 0) {
+ oldOrderId = list.get(0).getId().substring(8);
+ }
+ return DateFormatUtils.format(time, "yyyyMMdd") + ContextUtil.getOrderId(oldOrderId, 3);
+ }
+
+ /**
+ * 鍒犻櫎鏁版嵁
+ * @param data
+ * @return
+ */
+ public String delData(InoutLossOver data) {
+ inoutLossOverMapper.deleteById(data);
+ return null;
+ }
+}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/websocket/WebSocketPacket.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/websocket/WebSocketPacket.java
index e6ef456..0961740 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/websocket/WebSocketPacket.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/websocket/WebSocketPacket.java
@@ -14,11 +14,11 @@
public static final String BIZ_TAG_COMMON = "common";
- public static final String BIZ_TAG_SCREEN_CHECK = "check";
+ public static final String BIZ_TAG_SCREEN_INDEX = "index";
- public static final String BIZ_TAG_SCREEN_INOUT = "inout";
+ public static final String BIZ_TAG_SCREEN_GIS = "gis";
- public static final String BIZ_TAG_SCREEN_GROUP = "group";
+ public static final String BIZ_TAG_SCREEN_VIDEO = "video";
/**
*
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutLossOver.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutLossOver.view.xml
new file mode 100644
index 0000000..eaa2f8b
--- /dev/null
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutLossOver.view.xml
@@ -0,0 +1,397 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ViewConfig>
+ <Arguments/>
+ <Context/>
+ <Model>
+ <DataType name="dtMain">
+ <Property name="creationType">com.fzzy.igds.domain.InoutLossOver</Property>
+ <PropertyDef name="id">
+ <Property></Property>
+ <Property name="label">鎹熺泭鍗曞彿</Property>
+ <Property name="readOnly">true</Property>
+ </PropertyDef>
+ <PropertyDef name="companyId">
+ <Property></Property>
+ <Property name="label">鏀跺偍鍏徃</Property>
+ </PropertyDef>
+ <PropertyDef name="deptId">
+ <Property></Property>
+ <Property name="label">鎵�灞炲簱鍖�</Property>
+ <Property name="mapping">
+ <Property name="mapValues">${dorado.getDataProvider("deptPR#getAllData").getResult()}</Property>
+ <Property name="keyProperty">id</Property>
+ <Property name="valueProperty">kqmc</Property>
+ </Property>
+ <Property name="readOnly">true</Property>
+ </PropertyDef>
+ <PropertyDef name="depotId">
+ <Property></Property>
+ <Property name="label">鎹熺泭浠撳簱</Property>
+ <Property name="mapping">
+ <Property name="mapValues">${dorado.getDataProvider("depotPR#getAllCache").getResult()}</Property>
+ <Property name="keyProperty">id</Property>
+ <Property name="valueProperty">name</Property>
+ </Property>
+ </PropertyDef>
+ <PropertyDef name="type">
+ <Property></Property>
+ <Property name="label">鎹熺泭绫诲瀷</Property>
+ <Property name="mapping">
+ <Property name="keyProperty">key</Property>
+ <Property name="valueProperty">value</Property>
+ <Property name="mapValues">
+ <Collection>
+ <Entity>
+ <Property name="key">LOSS</Property>
+ <Property name="value">鎹熻��</Property>
+ </Entity>
+ <Entity>
+ <Property name="key">OVER</Property>
+ <Property name="value">婧㈠嚭</Property>
+ </Entity>
+ </Collection>
+ </Property>
+ </Property>
+ </PropertyDef>
+ <PropertyDef name="foodVariety">
+ <Property></Property>
+ <Property name="label">绮鍝佺</Property>
+ <Property name="mapping">
+ <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("FOOD_VARIETY_")}</Property>
+ <Property name="keyProperty">dictValue</Property>
+ <Property name="valueProperty">dictLabel</Property>
+ </Property>
+ </PropertyDef>
+ <PropertyDef name="lossTime">
+ <Property name="dataType">Date</Property>
+ <Property name="label">鎹熺泭鏃ユ湡</Property>
+ </PropertyDef>
+ <PropertyDef name="amount">
+ <Property name="dataType">Double</Property>
+ <Property name="label">鎹熺泭鏁伴噺</Property>
+ <Property name="displayFormat">0.00 KG</Property>
+ </PropertyDef>
+ <PropertyDef name="confName">
+ <Property></Property>
+ <Property name="label">鐝鍚嶇О</Property>
+ </PropertyDef>
+ <PropertyDef name="info">
+ <Property></Property>
+ <Property name="label">鎹熺泭鍘熷洜</Property>
+ </PropertyDef>
+ <PropertyDef name="remark">
+ <Property></Property>
+ <Property name="label">澶囨敞淇℃伅</Property>
+ </PropertyDef>
+ <PropertyDef name="createTime">
+ <Property name="dataType">DateTime</Property>
+ <Property name="label">鍒涘缓鏃堕棿</Property>
+ </PropertyDef>
+ <PropertyDef name="createBy">
+ <Property></Property>
+ <Property name="label">鍒涘缓浜�</Property>
+ </PropertyDef>
+ <PropertyDef name="updateTime">
+ <Property name="dataType">DateTime</Property>
+ <Property name="label">鏇存柊鏃堕棿</Property>
+ <Property name="readOnly">true</Property>
+ </PropertyDef>
+ <PropertyDef name="updateBy">
+ <Property></Property>
+ <Property name="label">鏇存柊浜�</Property>
+ <Property name="readOnly">true</Property>
+ </PropertyDef>
+ </DataType>
+ </Model>
+ <View layout="padding:10">
+ <ClientEvent name="onReady">
+/**
+* 鏌ヨ
+*/
+query = function(){
+ view.get("#dsMain").flushAsync();
+}
+query();
+
+</ClientEvent>
+ <Property name="packages">font-awesome,css-common</Property>
+ <DataSet id="dsMain">
+ <Property name="dataType">[dtMain]</Property>
+ <Property name="dataProvider">inoutLossOverPR#pageData</Property>
+ <Property name="pageSize">15</Property>
+ <Property name="loadMode">lazy</Property>
+ </DataSet>
+ <DataSet id="dsParam">
+ <ClientEvent name="onReady">self.insert({});</ClientEvent>
+ <Property name="dataType">dtBaseParam</Property>
+ </DataSet>
+ <Container>
+ <Property name="className">c-param</Property>
+ <AutoForm>
+ <Property name="cols">*,*,*,90,90</Property>
+ <Property name="dataSet">dsParam</Property>
+ <Property name="labelAlign">right</Property>
+ <Property name="labelWidth">100</Property>
+ <AutoFormElement>
+ <Property name="name">depotId</Property>
+ <Property name="property">depotId</Property>
+ <Property name="label">鎹熺泭浠撳簱</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">start</Property>
+ <Property name="property">start</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">end</Property>
+ <Property name="property">end</Property>
+ <Editor/>
+ </AutoFormElement>
+ <Button>
+ <ClientEvent name="onClick">var data = view.get("#dsParam.data");
+ if(data){
+ view.get("#dsMain").set("parameter",data).flushAsync();
+ }else{
+ view.get("#dsMain").flushAsync();
+ }</ClientEvent>
+ <Property name="caption">鎼滅储</Property>
+ <Property name="iconClass">fa fa-search</Property>
+ <Property name="exClassName">btn-q1</Property>
+ </Button>
+ <Button>
+ <ClientEvent name="onClick">view.get("#dsParam").setData({});</ClientEvent>
+ <Property name="caption">閲嶇疆</Property>
+ <Property name="exClassName">btn-q2</Property>
+ <Property name="iconClass">fa fa-refresh</Property>
+ </Button>
+ </AutoForm>
+ </Container>
+ <Container>
+ <Property name="className">c-data</Property>
+ <ToolBar>
+ <ToolBarButton>
+ <ClientEvent name="onClick">view.get("#dsMain").insert();
+ view.get("#dialogMain").show();</ClientEvent>
+ <Property name="caption">鏂板</Property>
+ <Property name="exClassName">btn1</Property>
+ <Property name="width">100</Property>
+ <Property name="iconClass">fa fa-plus</Property>
+ </ToolBarButton>
+ <ToolBarButton>
+ <ClientEvent name="onClick">var data = view.get("#dataGridCamera").get("selection");
+ if(data){
+ view.get("#dialogMain").show();
+ }else{
+ $notify("璇烽�夋嫨闇�瑕佷慨鏀圭殑鐩戞帶淇℃伅鈥︹��");
+ }</ClientEvent>
+ <Property name="caption">淇敼</Property>
+ <Property name="exClassName">btn2</Property>
+ <Property name="width">100</Property>
+ <Property name="iconClass">fa fa-pencil-square-o</Property>
+ </ToolBarButton>
+ <ToolBarButton>
+ <ClientEvent name="onClick">var select = view.get("#dataGridCamera").get("selection");
+ if(select){
+ view.get("#ajaxDel").set("parameter",select).execute(function(result){
+ if(result){
+ $alert(result);
+ }else{
+ query();
+ }
+ });
+ }else{
+ $notify("璇烽�夋嫨闇�瑕佸垹闄ょ殑鐩戞帶淇℃伅鈥︹��");
+ }</ClientEvent>
+ <Property name="caption">鍒犻櫎</Property>
+ <Property name="exClassName">btn3</Property>
+ <Property name="width">100</Property>
+ <Property name="iconClass">fa fa-times</Property>
+ </ToolBarButton>
+ </ToolBar>
+ <DataGrid id="dataGridMain" layoutConstraint="padding:8">
+ <ClientEvent name="onDataRowClick">view.get("#dataGridMain").set("selection",arg.data);</ClientEvent>
+ <Property name="dataSet">dsMain</Property>
+ <Property name="selectionMode">singleRow</Property>
+ <Property name="readOnly">true</Property>
+ <RowSelectorColumn/>
+ <RowNumColumn>
+ <Property name="width">50</Property>
+ <Property name="caption">搴忓彿</Property>
+ </RowNumColumn>
+ <DataColumn name="id">
+ <Property name="property">id</Property>
+ <Property name="width">120</Property>
+ <Property name="align">center</Property>
+ </DataColumn>
+ <DataColumn>
+ <Property name="property">deptId</Property>
+ <Property name="align">left</Property>
+ <Property name="name">deptId</Property>
+ </DataColumn>
+ <DataColumn name="depotId">
+ <Property name="property">depotId</Property>
+ <Property name="align">center</Property>
+ <Property name="width">150</Property>
+ </DataColumn>
+ <DataColumn name="foodVariety">
+ <Property name="property">foodVariety</Property>
+ <Property name="align">center</Property>
+ <Property name="width">150</Property>
+ </DataColumn>
+ <DataColumn name="type">
+ <Property name="property">type</Property>
+ <Property name="align">center</Property>
+ <Property name="width">150</Property>
+ </DataColumn>
+ <DataColumn name="lossTime">
+ <Property name="property">lossTime</Property>
+ <Property name="align">center</Property>
+ <Property name="width">150</Property>
+ </DataColumn>
+ <DataColumn name="amount">
+ <Property name="property">amount</Property>
+ <Property name="align">center</Property>
+ <Property name="width">150</Property>
+ </DataColumn>
+ <DataColumn name="remark">
+ <Property name="property">remark</Property>
+ <Property name="align">center</Property>
+ </DataColumn>
+ <DataColumn>
+ <Property name="property">updateTime</Property>
+ <Property name="align">center</Property>
+ <Property name="name">updateTime</Property>
+ <Property name="width">160</Property>
+ </DataColumn>
+ </DataGrid>
+ <ToolBar layoutConstraint="bottom">
+ <Fill/>
+ <DataPilot layoutConstraint="right">
+ <Property name="itemCodes">pageSize,pages</Property>
+ <Property name="dataSet">dsMain</Property>
+ </DataPilot>
+ </ToolBar>
+ </Container>
+ <Dialog id="dialogMain" layout="regionPadding:8">
+ <Property name="iconClass">fa fa-tasks</Property>
+ <Property name="width">60%</Property>
+ <Property name="caption">鎹熺泭淇℃伅</Property>
+ <Property name="closeable">false</Property>
+ <Buttons>
+ <Button>
+ <ClientEvent name="onClick">var data = view.get("#dsMain.data:#");
+ if(data.validate() != 'ok'){
+ $notify("鏁版嵁鏍¢獙澶辫触锛侊紒");
+ return;
+ }
+ view.get("#uaAction").set("parameter",data).execute(function(){
+ self.get("parent").hide();
+ query();
+ });</ClientEvent>
+ <Property name="caption">淇濆瓨</Property>
+ <Property name="iconClass">fa fa-check-circle</Property>
+ <Property name="exClassName">btn1</Property>
+ <Property name="width">120</Property>
+ </Button>
+ <Button>
+ <ClientEvent name="onClick">var cur = view.get("#dsMain.data:#");
+ if(cur) cur.cancel();
+ self.get("parent").hide();</ClientEvent>
+ <Property name="caption">鍙栨秷</Property>
+ <Property name="exClassName">btn3</Property>
+ <Property name="iconClass">fa fa-times-circle</Property>
+ <Property name="width">120</Property>
+ </Button>
+ </Buttons>
+ <Children>
+ <FieldSet layout="padding:5">
+ <Property name="caption">鍩烘湰淇℃伅</Property>
+ <Buttons/>
+ <Children>
+ <AutoForm>
+ <Property name="dataSet">dsMain</Property>
+ <Property name="cols">*,*,*</Property>
+ <Property name="labelWidth">100</Property>
+ <Property name="labelAlign">right</Property>
+ <Property name="labelSeparator">锛�</Property>
+ <AutoFormElement>
+ <Property name="name">id</Property>
+ <Property name="property">id</Property>
+ <Editor>
+ <TextEditor id="sn">
+ <Property name="blankText"> -- 绯荤粺鑷姩鐢熸垚 --</Property>
+ </TextEditor>
+ </Editor>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">deptId</Property>
+ <Property name="property">deptId</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">depotId</Property>
+ <Property name="property">depotId</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">type</Property>
+ <Property name="property">type</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">foodVariety</Property>
+ <Property name="property">foodVariety</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">lossTime</Property>
+ <Property name="property">lossTime</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">amount</Property>
+ <Property name="property">amount</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">updateBy</Property>
+ <Property name="property">updateBy</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">info</Property>
+ <Property name="property">info</Property>
+ <Property name="editorType">TextArea</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">updateBy</Property>
+ <Property name="property">updateBy</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:3">
+ <Property name="name">remark</Property>
+ <Property name="property">remark</Property>
+ <Property name="editorType">TextArea</Property>
+ <Editor/>
+ </AutoFormElement>
+ </AutoForm>
+ </Children>
+ </FieldSet>
+ </Children>
+ <Tools/>
+ </Dialog>
+ <UpdateAction id="uaAction">
+ <Property name="dataResolver">inoutLossOverPR#saveData</Property>
+ <UpdateItem>
+ <Property name="dataSet">dsMain</Property>
+ <Property name="dataPath">[#current]</Property>
+ </UpdateItem>
+ </UpdateAction>
+ <AjaxAction id="ajaxDel">
+ <Property name="confirmMessage">纭畾瑕佸垹闄ゅ悧锛�</Property>
+ <Property name="service">inoutLossOverPR#delData</Property>
+ </AjaxAction>
+ </View>
+</ViewConfig>
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutLossOverPR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutLossOverPR.java
new file mode 100644
index 0000000..8ab3b4f
--- /dev/null
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutLossOverPR.java
@@ -0,0 +1,70 @@
+package com.fzzy.igds;
+
+import com.bstek.dorado.annotation.DataProvider;
+import com.bstek.dorado.annotation.DataResolver;
+import com.bstek.dorado.annotation.Expose;
+import com.bstek.dorado.data.provider.Page;
+import com.fzzy.igds.data.IgdsBaseParam;
+import com.fzzy.igds.domain.InoutLossOver;
+import com.fzzy.igds.service.InoutLossOverService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+import javax.annotation.Resource;
+
+/**
+ * @Description 鎹熺泭绠$悊
+ * @Author CZT
+ * @Date 2025/12/19 09:05
+ */
+@Component
+public class InoutLossOverPR {
+
+ @Resource
+ private InoutLossOverService inoutLossOverService;
+
+ /**
+ * inoutLossOverPR#pageData 鑾峰彇淇℃伅
+ *
+ * @param param
+ * @return
+ */
+ @DataProvider
+ public void pageData(Page<InoutLossOver> page, IgdsBaseParam param) {
+ if(null == param) {
+ param = new IgdsBaseParam();
+ }
+ com.baomidou.mybatisplus.extension.plugins.pagination.Page<InoutLossOver> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize());
+
+
+ inoutLossOverService.pageData(corePage, param);
+
+ // 閲嶆柊灏佽
+ page.setEntities(corePage.getRecords());
+ page.setEntityCount(Integer.parseInt(String.valueOf(corePage.getTotal())));
+ }
+
+ /**
+ * inoutLossOverPR#saveData
+ *
+ * @param data
+ */
+ @DataResolver
+ public void saveData(InoutLossOver data) {
+ InoutLossOver item = new InoutLossOver();
+ BeanUtils.copyProperties(data, item);
+ inoutLossOverService.saveData(item);
+ }
+
+ /**
+ * inoutLossOverPR#delData
+ *
+ * @param data
+ * @return
+ */
+ @Expose
+ public String delData(InoutLossOver data) {
+ InoutLossOver item = new InoutLossOver();
+ BeanUtils.copyProperties(data, item);
+ return inoutLossOverService.delData(item);
+ }
+}
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/Patrol.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/igds/Patrol.view.xml
index 5259831..c1222e0 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/Patrol.view.xml
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/Patrol.view.xml
@@ -132,7 +132,7 @@
<Property name="exClassName">btn-q1</Property>
</Button>
<Button>
- <ClientEvent name="onClick">view.get("#dsParam").flushAsync();</ClientEvent>
+ <ClientEvent name="onClick">view.get("#dsParam").setData({});</ClientEvent>
<Property name="caption">閲嶇疆</Property>
<Property name="exClassName">btn-q2</Property>
<Property name="iconClass">fa fa-refresh</Property>
diff --git a/fzzy-igdss-view/src/main/java/models/core.model.xml b/fzzy-igdss-view/src/main/java/models/core.model.xml
index 1a389aa..9b2565b 100644
--- a/fzzy-igdss-view/src/main/java/models/core.model.xml
+++ b/fzzy-igdss-view/src/main/java/models/core.model.xml
@@ -84,6 +84,12 @@
</PropertyDef>
<PropertyDef name="depotId">
<Property></Property>
+ <Property name="label">浠撳簱</Property>
+ <Property name="mapping">
+ <Property name="mapValues">${dorado.getDataProvider("depotPR#getAllCache").getResult()}</Property>
+ <Property name="keyProperty">id</Property>
+ <Property name="valueProperty">name</Property>
+ </Property>
</PropertyDef>
</DataType>
<DataType name="dtArea">
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/group/GroupController.java b/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/group/GroupController.java
index 5d623d0..0ec94b3 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/group/GroupController.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/group/GroupController.java
@@ -5,6 +5,7 @@
import com.fzzy.igds.domain.DicArea;
import com.fzzy.igds.domain.Slogan;
import com.fzzy.igds.utils.ContextUtil;
+import com.fzzy.igds.websocket.WebSocketPacket;
import com.fzzy.sys.manager.common.CommonManager;
import com.fzzy.sys.manager.gropu.GroupManager;
import com.ruoyi.common.core.domain.entity.SysUser;
@@ -48,6 +49,9 @@
Slogan dicSlogan = commonManager.getDicSlogan();
view.put("dicSlogan", dicSlogan);
+ view.put("bizType", "screen");
+ view.put("bizTag", WebSocketPacket.BIZ_TAG_COMMON);
+
//鏌ヨ搴撳尯淇℃伅
List<Dept> deptList = groupManager.getAllDept(user.getCompanyId());
view.put("deptList", deptList);
@@ -71,6 +75,10 @@
Slogan dicSlogan = commonManager.getDicSlogan();
view.put("dicSlogan", dicSlogan);
+
+ view.put("bizType", "screen");
+ view.put("bizTag", WebSocketPacket.BIZ_TAG_COMMON);
+
//鏌ヨ搴撳尯淇℃伅
List<Dept> deptList = groupManager.getAllDept(user.getCompanyId());
view.put("deptList", deptList);
@@ -94,6 +102,9 @@
Slogan dicSlogan = commonManager.getDicSlogan();
view.put("dicSlogan", dicSlogan);
+ view.put("bizType", "screen");
+ view.put("bizTag", WebSocketPacket.BIZ_TAG_COMMON);
+
view.put("defaultAreaCode", "650000");
//鑾峰彇鏂扮枂鍖哄垝淇℃伅
diff --git a/fzzy-igdss-web/src/main/resources/static/group/gis.js b/fzzy-igdss-web/src/main/resources/static/group/gis.js
index cd450bf..01bad7f 100644
--- a/fzzy-igdss-web/src/main/resources/static/group/gis.js
+++ b/fzzy-igdss-web/src/main/resources/static/group/gis.js
@@ -65,7 +65,7 @@
});
// 鍒濆鍖朩ebSocket
- initWS(companyId,"screen",null,null);
+ initWS(companyId,bizType, bizTag, userId);
});
// socket淇℃伅杩斿洖铏曠悊
diff --git a/fzzy-igdss-web/src/main/resources/static/group/index.js b/fzzy-igdss-web/src/main/resources/static/group/index.js
index 9d2a528..6d57481 100644
--- a/fzzy-igdss-web/src/main/resources/static/group/index.js
+++ b/fzzy-igdss-web/src/main/resources/static/group/index.js
@@ -26,7 +26,7 @@
init();
// 鍒濆鍖朩ebSocket
- initWS(companyId,"screen",null,null);
+ initWS(companyId,bizType, bizTag, userId);
});
// 鍒濆鍖栭〉闈�
diff --git a/fzzy-igdss-web/src/main/resources/static/group/master.css b/fzzy-igdss-web/src/main/resources/static/group/master.css
index 5e8506f..eb1d96d 100644
--- a/fzzy-igdss-web/src/main/resources/static/group/master.css
+++ b/fzzy-igdss-web/src/main/resources/static/group/master.css
@@ -31,7 +31,6 @@
.i-icon img,
.i-icon32 img {
- width: 100%;
height: 100%;
vertical-align: top;
}
diff --git a/fzzy-igdss-web/src/main/resources/static/group/video.js b/fzzy-igdss-web/src/main/resources/static/group/video.js
index b909ec7..05862a1 100644
--- a/fzzy-igdss-web/src/main/resources/static/group/video.js
+++ b/fzzy-igdss-web/src/main/resources/static/group/video.js
@@ -79,7 +79,7 @@
initHtml();
// 鍒濆鍖朩ebSocket
- initWS(companyId,"screen",null,null);
+ initWS(companyId,bizType, bizTag, userId);
});
// 鍒濆鍖栭〉闈�
diff --git a/fzzy-igdss-web/src/main/resources/templates/group/gis.html b/fzzy-igdss-web/src/main/resources/templates/group/gis.html
index 6db5a86..134285d 100644
--- a/fzzy-igdss-web/src/main/resources/templates/group/gis.html
+++ b/fzzy-igdss-web/src/main/resources/templates/group/gis.html
@@ -447,6 +447,7 @@
var allArea = [[${allArea}]];
var deptList = [[${deptList}]];
var bizType = [[${bizType}]];
+ var bizTag = [[${bizTag}]];
var dicSlogan = [[${dicSlogan}]];
var defaultAreaCode = [[${defaultAreaCode}]];
</script>
diff --git a/fzzy-igdss-web/src/main/resources/templates/group/index.html b/fzzy-igdss-web/src/main/resources/templates/group/index.html
index 94f3eec..bee2800 100644
--- a/fzzy-igdss-web/src/main/resources/templates/group/index.html
+++ b/fzzy-igdss-web/src/main/resources/templates/group/index.html
@@ -273,6 +273,8 @@
var deptId = [[${deptId}]];
var dicSlogan = [[${dicSlogan}]];
var deptList = [[${deptList}]];
+ var bizType = [[${bizType}]];
+ var bizTag = [[${bizTag}]];
</script>
</body>
</html>
diff --git a/fzzy-igdss-web/src/main/resources/templates/group/video.html b/fzzy-igdss-web/src/main/resources/templates/group/video.html
index f85edf6..12fb614 100644
--- a/fzzy-igdss-web/src/main/resources/templates/group/video.html
+++ b/fzzy-igdss-web/src/main/resources/templates/group/video.html
@@ -402,6 +402,8 @@
<script th:src="@{/group/video.js}"></script>
<script th:inline="javascript">
+ var bizType = [[${bizType}]];
+ var bizTag = [[${bizTag}]];
var deptCur = [[${deptInfo}]]
var deptId = [[${deptId}]];
var dicSlogan = [[${dicSlogan}]];
diff --git a/fzzy-igdss-web/src/main/resources/templates/security/patrol/patrolRecord/patrolRecord.html b/fzzy-igdss-web/src/main/resources/templates/security/patrol/patrolRecord/patrolRecord.html
index 3022876..465f376 100644
--- a/fzzy-igdss-web/src/main/resources/templates/security/patrol/patrolRecord/patrolRecord.html
+++ b/fzzy-igdss-web/src/main/resources/templates/security/patrol/patrolRecord/patrolRecord.html
@@ -23,7 +23,7 @@
<!-- 杞ㄨ抗鍗$墖鍒楄〃锛圱hymeleaf寰幆娓叉煋锛� -->
<div th:each="record,stat : ${patrolRecordList}" class="track-card" data-index="${stat.index}">
<div style="margin-bottom: 10px">
- <img style="width: 100%" th:src="${record.imgName ?: '/logo-sm.png'}" th:data-id="${record.id}">
+ <img style="width: 100%;max-height: 200px;" th:src="${record.imgName ?: '/logo-sm.png'}" th:data-id="${record.id}">
</div>
<div class="card-row">
<span class="label">宸� 妫� 浜猴細</span>
--
Gitblit v1.9.3