From e045a93166bcf696012770856c1ac36cf92740b5 Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期四, 22 一月 2026 17:51:50 +0800
Subject: [PATCH] 增加单价配置

---
 fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/FoodPriceMapper.java   |   15 +
 fzzy-igdss-view/src/main/java/com/fzzy/igds/FoodPrice.view.xml            |  257 ++++++++++++++++++++++++++++++++
 fzzy-igdss-view/src/main/java/com/fzzy/igds/FoodPricePR.java              |   61 +++++++
 fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/FoodPrice.java         |   56 +++++++
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/FoodPriceService.java |   75 +++++++++
 5 files changed, 464 insertions(+), 0 deletions(-)

diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/FoodPrice.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/FoodPrice.java
new file mode 100644
index 0000000..efafc89
--- /dev/null
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/FoodPrice.java
@@ -0,0 +1,56 @@
+package com.fzzy.igds.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fzzy.igds.constant.Constant;
+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;
+
+/**
+ * @Description 绮鍗曚环閰嶇疆琛�
+ * @Author CZT
+ * @Date 2026/1/21 18:55
+ */
+@Data
+@Entity
+@Table(name = "d_food_price")
+@TableName("d_food_price")
+@EqualsAndHashCode(callSuper=false)
+public class FoodPrice extends BizBaseEntity implements Serializable {
+
+    /**
+     *
+     */
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @Column(name = "id", columnDefinition = "varchar(40) COMMENT '涓婚敭ID'")
+    @TableField("id")
+    private String id;
+
+    @Column(name = "bank_id", columnDefinition = "varchar(40) COMMENT '鎵�灞為摱琛�'")
+    @TableField("bank_id")
+    private String bankId;
+
+    @Column(name = "food_variety", columnDefinition = "varchar(7) COMMENT '绮鍝佺'")
+    @TableField("food_variety")
+    private String foodVariety;
+
+    @Column(name = "price", columnDefinition = "decimal(20,2) COMMENT '鍗曚环(鍗曚綅锛氬厓/鍏枻)'")
+    @TableField("price")
+    private Double price = 0.0;
+
+    @Column(name = "vld", columnDefinition = "varchar(2) COMMENT '鏄惁鍚敤'")
+    @TableField("vld")
+    private String vld = Constant.YN_Y;
+
+    @Column(name = "remark", columnDefinition = "varchar(100) COMMENT '澶囨敞璇存槑'")
+    @TableField("remark")
+    private String remark;
+
+}
\ No newline at end of file
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/FoodPriceMapper.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/FoodPriceMapper.java
new file mode 100644
index 0000000..ccd06ef
--- /dev/null
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/FoodPriceMapper.java
@@ -0,0 +1,15 @@
+package com.fzzy.igds.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fzzy.igds.domain.FoodPrice;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @Description
+ * @Author CZT
+ * @Date 2026/01/22 09:04
+ */
+@Mapper
+public interface FoodPriceMapper extends BaseMapper<FoodPrice> {
+
+}
\ No newline at end of file
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/FoodPriceService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/FoodPriceService.java
new file mode 100644
index 0000000..d4e02e3
--- /dev/null
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/FoodPriceService.java
@@ -0,0 +1,75 @@
+package com.fzzy.igds.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.domain.Company;
+import com.fzzy.igds.domain.FoodPrice;
+import com.fzzy.igds.mapper.FoodPriceMapper;
+import com.fzzy.igds.utils.ContextUtil;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.StringUtils;
+import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description
+ * @Author CZT
+ * @Date 2026/01/22 09:04
+ */
+@Service
+public class FoodPriceService {
+
+    @Resource
+    private FoodPriceMapper foodPriceMapper;
+
+    /**
+     *
+     * @return
+     */
+    public List<FoodPrice> listData() {
+        SysUser user = ContextUtil.getLoginUser();
+
+        QueryWrapper<FoodPrice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("company_id", user.getCompanyId());
+
+        //閾惰鐢ㄦ埛鏌ヨ褰撳墠閾惰鐨勫崟浠烽厤缃�
+        if (Constant.USER_TYPE_30.equals(user.getUserType())) {
+            queryWrapper.likeRight("bank_id", user.getUserData());
+        }
+
+        return foodPriceMapper.selectList(queryWrapper);
+    }
+
+    /**
+     * 鏇存柊鎴栦繚瀛樹俊鎭�
+     * @param data
+     * @return
+     */
+    public void saveData(FoodPrice data) {
+        if(StringUtils.isBlank(data.getCompanyId())){
+            data.setCompanyId(ContextUtil.getCompanyId());
+        }
+        data.setUpdateBy(ContextUtil.getLoginUserName());
+        data.setUpdateTime(new Date());
+        if(StringUtils.isBlank(data.getId())){
+            data.setId(ContextUtil.generateId());
+            data.setCreateBy(ContextUtil.getLoginUserName());
+            data.setCreateTime(new Date());
+            foodPriceMapper.insert( data);
+        }else {
+            foodPriceMapper.updateById( data);
+        }
+    }
+
+    /**
+     * 鍒犻櫎淇℃伅
+     * @param data
+     * @return
+     */
+    public void delData(FoodPrice data) {
+        foodPriceMapper.deleteById(data);
+    }
+}
\ No newline at end of file
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/FoodPrice.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/igds/FoodPrice.view.xml
new file mode 100644
index 0000000..ae88659
--- /dev/null
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/FoodPrice.view.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ViewConfig>
+  <Arguments/>
+  <Context/>
+  <Model>
+    <DataType name="dtMain">
+      <Property name="creationType">com.fzzy.igds.domain.FoodPrice</Property>
+      <PropertyDef name="id">
+        <Property></Property>
+        <Property name="label">涓婚敭ID</Property>
+      </PropertyDef>
+      <PropertyDef name="companyId">
+        <Property></Property>
+        <Property name="label">缁勭粐缂栫爜</Property>
+      </PropertyDef>
+      <PropertyDef name="bankId">
+        <Property></Property>
+        <Property name="label">鎵�灞為摱琛�</Property>
+        <Property name="mapping">
+          <Property name="mapValues">${dorado.getDataProvider(&quot;bankPR#listAll&quot;).getResult()}</Property>
+          <Property name="keyProperty">id</Property>
+          <Property name="valueProperty">name</Property>
+        </Property>
+        <Property name="required">true</Property>
+      </PropertyDef>
+      <PropertyDef name="foodVariety">
+        <Property></Property>
+        <Property name="label">绮鍝佺</Property>
+        <Property name="mapping">
+          <Property name="mapValues">${dorado.getDataProvider(&quot;dicPR#sysDictData&quot;).getResult(&quot;FOOD_VARIETY_&quot;)}</Property>
+          <Property name="keyProperty">dictValue</Property>
+          <Property name="valueProperty">dictLabel</Property>
+        </Property>
+        <Property name="required">true</Property>
+      </PropertyDef>
+      <PropertyDef name="price">
+        <Property name="dataType">Double</Property>
+        <Property name="label">鍗曚环</Property>
+        <Property name="displayFormat">#0.00 鍏�/鍏枻</Property>
+        <Property name="required">true</Property>
+      </PropertyDef>
+      <PropertyDef name="vld">
+        <Property></Property>
+        <Property name="label">鏄惁鍚敤</Property>
+        <Property name="mapping">
+          <Property name="mapValues">${dorado.getDataProvider(&quot;dicPR#triggerYN&quot;).getResult(&quot;DEVICE_STATUS&quot;)}</Property>
+          <Property name="keyProperty">dictValue</Property>
+          <Property name="valueProperty">dictLabel</Property>
+        </Property>
+      </PropertyDef>
+      <PropertyDef name="remark">
+        <Property></Property>
+        <Property name="label">澶囨敞</Property>
+      </PropertyDef>
+      <PropertyDef name="createTime">
+        <Property name="dataType">DateTime</Property>
+        <Property name="label">鍒涘缓鏃堕棿</Property>
+        <Property name="readOnly">true</Property>
+      </PropertyDef>
+      <PropertyDef name="createBy">
+        <Property></Property>
+        <Property name="label">鍒涘缓浜�</Property>
+        <Property name="readOnly">true</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">
+    <Property name="packages">font-awesome,css-common</Property>
+    <DataSet id="dsMain">
+      <Property name="dataProvider">foodPricePR#getList</Property>
+      <Property name="dataType">[dtMain]</Property>
+    </DataSet>
+    <Container>
+      <Property name="className">c-param</Property>
+      <ToolBar>
+        <ToolBarButton>
+          <ClientEvent name="onClick">view.get(&quot;#dsMain&quot;).insert();&#xD;
+            view.get(&quot;#dgMain&quot;).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">&#xD;
+            var select = view.get(&quot;#dataGridMain&quot;).get(&quot;selection&quot;);&#xD;
+            if(select){&#xD;
+            view.get(&quot;#dgMain&quot;).show();&#xD;
+            }else{&#xD;
+            $notify(&quot;璇烽�夋嫨闇�瑕佷慨鏀圭殑鏁版嵁鈥︹��&quot;);&#xD;
+            }</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">&#xD;
+            var select = view.get(&quot;#dataGridMain&quot;).get(&quot;selection&quot;);&#xD;
+            if(select){&#xD;
+            view.get(&quot;#ajaxDel&quot;).set(&quot;parameter&quot;,select).execute(function(result){&#xD;
+            select.remove();&#xD;
+            });&#xD;
+            }else{&#xD;
+            $notify(&quot;璇烽�夋嫨闇�瑕佸垹闄ょ殑浠撳簱鈥︹��&quot;);&#xD;
+            }</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(&quot;#dataGridMain&quot;).set(&quot;selection&quot;,arg.data);</ClientEvent>
+        <Property name="dataSet">dsMain</Property>
+        <Property name="readOnly">true</Property>
+        <Property name="groupProperty">bankId</Property>
+        <Property name="selectionMode">singleRow</Property>
+        <RowSelectorColumn/>
+        <RowNumColumn/>
+        <DataColumn name="bankId">
+          <Property name="property">bankId</Property>
+          <Property name="align">left</Property>
+          <Property name="width">300</Property>
+        </DataColumn>
+        <DataColumn name="foodVariety">
+          <Property name="property">foodVariety</Property>
+          <Property name="align">center</Property>
+          <Property name="width">150</Property>
+        </DataColumn>
+        <DataColumn name="price">
+          <Property name="property">price</Property>
+          <Property name="align">center</Property>
+          <Property name="width">150</Property>
+        </DataColumn>
+        <DataColumn name="vld">
+          <Property name="property">vld</Property>
+          <Property name="align">center</Property>
+          <Property name="width">120</Property>
+        </DataColumn>
+        <DataColumn name="remark">
+          <Property name="property">remark</Property>
+          <Property name="align">center</Property>
+        </DataColumn>
+        <DataColumn name="updateBy">
+          <Property name="property">updateBy</Property>
+          <Property name="align">center</Property>
+          <Property name="width">120</Property>
+        </DataColumn>
+        <DataColumn name="updateTime">
+          <Property name="property">updateTime</Property>
+          <Property name="align">center</Property>
+          <Property name="width">160</Property>
+        </DataColumn>
+      </DataGrid>
+    </Container>
+    <UpdateAction id="uaMain">
+      <Property name="dataResolver">foodPricePR#saveData</Property>
+      <UpdateItem>
+        <Property name="dataSet">dsMain</Property>
+        <Property name="dataPath">[#current]</Property>
+      </UpdateItem>
+    </UpdateAction>
+    <Dialog id="dgMain" layout="regionPadding:8">
+      <Property name="iconClass">fa fa-tasks</Property>
+      <Property name="caption">绮鍗曚环閰嶇疆</Property>
+      <Property name="width">66%</Property>
+      <Property name="closeable">false</Property>
+      <Buttons>
+        <Button>
+          <ClientEvent name="onClick">view.get(&quot;#uaMain&quot;).execute(function(){&#xD;
+	view.get(&quot;#dgMain&quot;).hide();&#xD;
+});</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">view.get(&quot;#dsMain.data:#&quot;).cancel();&#xD;
+view.get(&quot;#dgMain&quot;).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>
+        <Container>
+          <FieldSet layout="padding:5">
+            <Property name="caption">鍩烘湰淇℃伅</Property>
+            <Buttons/>
+            <Children>
+              <AutoForm>
+                <Property name="dataSet">dsMain</Property>
+                <Property name="cols">*,*</Property>
+                <Property name="labelSeparator">锛�</Property>
+                <Property name="labelAlign">right</Property>
+                <Property name="labelWidth">100</Property>
+                <AutoFormElement layoutConstraint="colSpan:2">
+                  <Property name="name">bankId</Property>
+                  <Property name="property">bankId</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement>
+                  <Property name="name">foodVariety</Property>
+                  <Property name="property">foodVariety</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement>
+                  <Property name="name">price</Property>
+                  <Property name="property">price</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement>
+                  <Property name="name">vld</Property>
+                  <Property name="property">vld</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement>
+                  <Property name="name">updateTime</Property>
+                  <Property name="property">updateTime</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement layoutConstraint="colSpan:2">
+                  <Property name="name">remark</Property>
+                  <Property name="property">remark</Property>
+                  <Editor/>
+                </AutoFormElement>
+              </AutoForm>
+            </Children>
+          </FieldSet>
+        </Container>
+      </Children>
+      <Tools/>
+    </Dialog>
+    <AjaxAction id="ajaxDel">
+      <Property name="successMessage">鍒犻櫎鎴愬姛</Property>
+      <Property name="service">foodPricePR#delData</Property>
+      <Property name="executingMessage">姝e湪鍒犻櫎</Property>
+      <Property name="confirmMessage">纭畾瑕佸垹闄や箞锛�</Property>
+    </AjaxAction>
+    <ListDropDown id="listSymbol">
+      <Property name="items">>=,&lt;=,==</Property>
+    </ListDropDown>
+  </View>
+</ViewConfig>
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/FoodPricePR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/FoodPricePR.java
new file mode 100644
index 0000000..45aa095
--- /dev/null
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/FoodPricePR.java
@@ -0,0 +1,61 @@
+package com.fzzy.igds;
+
+import com.bstek.dorado.annotation.DataProvider;
+import com.bstek.dorado.annotation.DataResolver;
+import com.bstek.dorado.annotation.Expose;
+import com.fzzy.igds.domain.FoodPrice;
+import com.fzzy.igds.service.FoodPriceService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @Description 绮浠锋牸绠$悊
+ * @Author CZT
+ * @Date 2026/01/22 09:04
+ */
+@Component
+public class FoodPricePR {
+
+    @Resource
+    private FoodPriceService foodPriceService;
+
+    /**
+     * foodPricePR#getList
+     *
+     * @return
+     */
+    @DataProvider
+    public List<FoodPrice> getList() {
+        return foodPriceService.listData();
+    }
+
+    /**
+     * foodPricePR#saveData 鍙傛暟閰嶇疆鏇存柊锛屽寘鎷柊澧炲拰淇敼
+     *
+     * @param data
+     */
+    @DataResolver
+    public void saveData(FoodPrice data) {
+        FoodPrice foodPrice = new FoodPrice();
+        BeanUtils.copyProperties(data, foodPrice);
+        foodPriceService.saveData(foodPrice);
+    }
+
+    /**
+     * foodPricePR#delData
+     *
+     * @param data
+     * @return
+     */
+    @Expose
+    public String delData(FoodPrice data) {
+        FoodPrice foodPrice = new FoodPrice();
+        BeanUtils.copyProperties(data, foodPrice);
+        foodPriceService.delData(foodPrice);
+        return null;
+    }
+
+}
\ No newline at end of file

--
Gitblit v1.9.3