czt
2026-01-22 e045a93166bcf696012770856c1ac36cf92740b5
增加单价配置
已添加5个文件
464 ■■■■■ 文件已修改
fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/FoodPrice.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/FoodPriceMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/FoodPriceService.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/FoodPrice.view.xml 257 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/FoodPricePR.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
}
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> {
}
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);
    }
}
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">正在删除</Property>
      <Property name="confirmMessage">确定要删除么?</Property>
    </AjaxAction>
    <ListDropDown id="listSymbol">
      <Property name="items">>=,&lt;=,==</Property>
    </ListDropDown>
  </View>
</ViewConfig>
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;
    }
}