YYC
2023-07-24 b33ec77c0da920c50c1d3e34d2a370f5a6fffbed
质量巡检添加页面优化
已修改5个文件
240 ■■■■ 文件已修改
igds-core/src/main/java/com/ld/igds/check/mapper/CheckStandardMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-core/src/main/java/com/ld/igds/m/view/QualityManager.view.xml 128 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-core/src/main/java/com/ld/igds/m/view/QualityManagerPR.java 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-core/src/main/resources/mapper/CheckStandardMapper.xml 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-core/src/main/java/com/ld/igds/check/mapper/CheckStandardMapper.java
@@ -3,6 +3,7 @@
import com.ld.igds.check.dto.CheckItemData;
import com.ld.igds.check.dto.CheckStandardData;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
@@ -27,6 +28,7 @@
    /**
     * 根据化验结果更新值,如果已经有值则不更新,避免覆盖人工录入信息
     *
     * @param item
     * @return
     */
@@ -41,6 +43,7 @@
     */
    List<CheckItemData> getCheckItemById(@Param("checkId") String checkId,
                                         @Param("companyId") String companyId);
    /**
     * 获取配置的化验项信息
     *
@@ -51,4 +54,12 @@
    List<CheckStandardData> getCheckStandard(@Param("companyId") String companyId,
                                             @Param("foodVariety") String foodVariety);
    /**
     * 根据条件删除化验项
     *
     * @param item
     * @return
     */
    int delCheckItemByParam(@Param("data") CheckItemData item);
}
igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java
@@ -3,6 +3,7 @@
import com.bstek.bdf2.core.orm.hibernate.HibernateDao;
import com.bstek.dorado.data.entity.EntityUtils;
import com.bstek.dorado.data.provider.Page;
import com.ld.igds.check.dto.CheckItemData;
import com.ld.igds.check.mapper.CheckStandardMapper;
import com.ld.igds.constant.RedisConst;
import com.ld.igds.models.MQuality;
@@ -15,10 +16,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * @author chen
@@ -128,6 +126,19 @@
        if (null == data.getDeptId()) {
            data.setDeptId(ContextUtil.subDeptId(null));
        }
        if (null != data.getZblb() || "" != data.getZblb()) {
            String[] str = data.getZblb().split("#");
            //防止在更新操作时再次存入相同的数据
            Set<String> metrics = new HashSet<>();
            for (int i = 0; i < str.length; i++) {
                metrics.add(str[i].substring(0, 1));
            }
            String value = "";
            for (String s : metrics) {
                value = value + s + "#";
            }
            data.setZblb(value.substring(0, value.length() - 1));
        }
        Session session = this.getSessionFactory().openSession();
        data.setUpdateTime(new Date());
        try {
@@ -160,6 +171,10 @@
        try {
            if (null != data.getId()) {
                session.delete(data);
                CheckItemData checkItemData = new CheckItemData();
                checkItemData.setCompanyId(ContextUtil.getCompanyId());
                checkItemData.setCheckId(data.getId());
                checkStandardMapper.delCheckItemByParam(checkItemData);
                redisUtil.del(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId()));
            }
        } catch (Exception e) {
igds-core/src/main/java/com/ld/igds/m/view/QualityManager.view.xml
@@ -135,6 +135,46 @@
      <PropertyDef name="remark">
        <Property name="label">备注信息</Property>
      </PropertyDef>
      <PropertyDef name="storeDate">
        <Property name="dataType">Date</Property>
        <Property name="label">入库日期</Property>
      </PropertyDef>
      <PropertyDef name="unit">
        <Property/>
        <Property name="label">检验单位</Property>
      </PropertyDef>
      <PropertyDef name="zblb">
        <Property/>
        <Property name="label">指标类别</Property>
      </PropertyDef>
      <PropertyDef name="qfrq">
        <Property name="dataType">Date</Property>
        <Property name="label">签发日期</Property>
      </PropertyDef>
      <PropertyDef name="bgcjsj">
        <Property name="dataType">Date</Property>
        <Property name="label">报告出具时间</Property>
      </PropertyDef>
      <PropertyDef name="shrxm">
        <Property/>
        <Property name="label">审核人姓名</Property>
      </PropertyDef>
      <PropertyDef name="qydbh">
        <Property/>
        <Property name="label">扦样单编号</Property>
      </PropertyDef>
      <PropertyDef name="jdrxm">
        <Property/>
        <Property name="label">监督人姓名</Property>
      </PropertyDef>
      <PropertyDef name="ypbh">
        <Property/>
        <Property name="label">样品编号</Property>
      </PropertyDef>
      <PropertyDef name="updateTime">
        <Property name="dataType">Date</Property>
        <Property name="label">数据更新时间</Property>
      </PropertyDef>
      <Reference name="checkItems">
        <Property name="dataProvider">checkStandardPR#listCheckItemsByParam</Property>
        <Property name="dataType">[dtCheckItems]</Property>
@@ -211,10 +251,10 @@
        <Property name="label">化验结果</Property>
      </PropertyDef>
      <PropertyDef name="operaSymbolValue">
        <Property/>
        <Property></Property>
      </PropertyDef>
      <PropertyDef name="operaSymbol">
        <Property/>
        <Property></Property>
        <Property name="label">运算符号</Property>
      </PropertyDef>
      <PropertyDef name="ruleNum">
@@ -258,7 +298,7 @@
        <Property name="label">扣价</Property>
      </PropertyDef>
      <PropertyDef name="result">
        <Property/>
        <Property></Property>
        <Property name="label">检验结果</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;inoutDataPR#triggerResult&quot;).getResult()}</Property>
@@ -396,6 +436,13 @@
        <Property name="dataType">String</Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtMetrics">
      <PropertyDef name="code"/>
      <PropertyDef name="name"/>
    </DataType>
    <DataType name="dtResult">
      <PropertyDef name="name"/>
    </DataType>
  </Model>
  <View layout="padding:5;regionPadding:5">
    <ClientEvent name="onReady">var deptId = window.parent.DEPT_ID;//父页面中的分库编码&#xD;
@@ -436,6 +483,38 @@
      <Property name="dataType">[dataTypeUser]</Property>
      <Property name="pageSize">100</Property>
      <Property name="dataProvider">bdf2.userMaintain#loadUsers</Property>
    </DataSet>
    <DataSet id="dsMetrics">
      <ClientEvent name="onCreate">var data = [ {&#xD;
    name : &quot;1:质量指标检验&quot;&#xD;
}, {&#xD;
    name : &quot;2:储存品质检验&quot;&#xD;
}, {&#xD;
    name : &quot;3:食品安全检验&quot;&#xD;
}]&#xD;
self.setData(data);&#xD;
</ClientEvent>
      <Property name="dataType">[dtMetrics]</Property>
    </DataSet>
    <DataSet id="dsResult">
      <ClientEvent name="onCreate">var data = [ {&#xD;
    name : &quot;达标&quot;&#xD;
}, {&#xD;
    name : &quot;不达标&quot;&#xD;
}, {&#xD;
    name : &quot;宜存&quot;&#xD;
},{&#xD;
    name : &quot;轻度不宜存&quot;&#xD;
},{&#xD;
    name : &quot;重度不宜存&quot;&#xD;
}, {&#xD;
    name : &quot;合格&quot;&#xD;
}, {&#xD;
    name : &quot;不合格&quot;&#xD;
}]&#xD;
self.setData(data);&#xD;
</ClientEvent>
      <Property name="dataType">[dtResult]</Property>
    </DataSet>
    <Container layout="regionPadding:10" layoutConstraint="top">
      <Property name="exClassName">bg-color</Property>
@@ -556,11 +635,6 @@
          <Property name="name">foodVariety</Property>
        </DataColumn>
        <DataColumn>
          <Property name="property">foodType</Property>
          <Property name="align">center</Property>
          <Property name="name">foodType</Property>
        </DataColumn>
        <DataColumn>
          <Property name="property">foodLevel</Property>
          <Property name="align">center</Property>
          <Property name="name">foodLevel</Property>
@@ -673,8 +747,8 @@
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">foodType</Property>
                <Property name="property">foodType</Property>
                <Property name="name">foodLevel</Property>
                <Property name="property">foodLevel</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
@@ -689,8 +763,8 @@
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">foodLevel</Property>
                <Property name="property">foodLevel</Property>
                <Property name="name">unit</Property>
                <Property name="property">unit</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
@@ -704,9 +778,8 @@
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">foodLocation</Property>
                <Property name="property">foodLocation</Property>
                <Property name="trigger">ddFoodOrigin</Property>
                <Property name="name">shrxm</Property>
                <Property name="property">shrxm</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
@@ -736,10 +809,33 @@
                </Editor>
              </AutoFormElement>
              <AutoFormElement layoutConstraint="colSpan:2">
                <Property name="name">zblb</Property>
                <Property name="property">zblb</Property>
                <Editor>
                  <TagEditor>
                    <Property name="textSeperator">#</Property>
                    <Property name="availableTagsDataSet">dsMetrics</Property>
                    <Property name="availableTagsDataPath">.name</Property>
                  </TagEditor>
                </Editor>
              </AutoFormElement>
              <AutoFormElement layoutConstraint="colSpan:1">
                <Property name="name">result</Property>
                <Property name="property">result</Property>
                <Editor/>
                <Editor>
                  <TagEditor>
                    <Property name="availableTagsDataPath">.name</Property>
                    <Property name="availableTagsDataSet">dsResult</Property>
                    <Property name="textSeperator">#</Property>
                  </TagEditor>
                </Editor>
              </AutoFormElement>
              <Label layoutConstraint="colSpan:2">
                <Property name="text">说明:多项指标时按照1:质量指标检验(达标,不达标)、2:储存品质检验(宜存,不宜存)、3:食品安全检验(合格,不合格)这个顺序填写检验结论</Property>
                <Property name="style">
                  <Property name="color">blue</Property>
                </Property>
              </Label>
              <AutoFormElement layoutConstraint="colSpan:3">
                <Property name="name">remark</Property>
                <Property name="property">remark</Property>
igds-core/src/main/java/com/ld/igds/m/view/QualityManagerPR.java
@@ -12,6 +12,7 @@
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -20,7 +21,6 @@
 * 质量追溯管理
 * 
 * @author: chen
 *
 */
@Component
public class QualityManagerPR {
@@ -32,23 +32,36 @@
    /**
     * 检验类别
     *
     * <p>
     * ${dorado.getDataProvider("qualityManagerPR#triggerType").getResult()}
     *
     * @return
     */
//    @DataProvider
//    public List<DicTrigger> triggerType() {
//        List<DicTrigger> list = new ArrayList<DicTrigger>();
//        list.add(new DicTrigger("01", "满仓初检"));
//        list.add(new DicTrigger("02", "出仓检验"));
//        list.add(new DicTrigger("03", "月度普检"));
//        return list;
//    }
    @DataProvider
    public List<DicTrigger> triggerType() {
        List<DicTrigger> list = new ArrayList<DicTrigger>();
        list.add(new DicTrigger("01", "满仓初检"));
        list.add(new DicTrigger("01", "入仓验收"));
        list.add(new DicTrigger("02", "出仓检验"));
        list.add(new DicTrigger("03", "月度普检"));
        list.add(new DicTrigger("03", "3月末普检"));
        list.add(new DicTrigger("04", "9月末普检"));
        list.add(new DicTrigger("05", "入库初检"));
        list.add(new DicTrigger("06", "月度检查"));
        list.add(new DicTrigger("07", "3月末库内普查"));
        list.add(new DicTrigger("08", "9月末库内普查"));
        return list;
    }
    /**
     * 检验依据
     *
     * 指标类别
     * <p>
     * ${dorado.getDataProvider("qualityManagerPR#triggerStandard").getResult()}
     *
     * @return
@@ -64,8 +77,26 @@
    }
    /**
     * 分页获取质量巡检记录信息
     * 检验依据
     * <p>
     * ${dorado.getDataProvider("qualityManagerPR#triggerMetrics").getResult()}
     *
     * @return
     */
    @DataProvider
    public List<DicTrigger> triggerMetrics() {
        List<DicTrigger> list = new ArrayList<DicTrigger>();
        list.add(new DicTrigger("1", "质量指标检验"));
        list.add(new DicTrigger("2", "储存品质检验"));
        list.add(new DicTrigger("3", "食品安全检验"));
        return list;
    }
    /**
     * 分页获取质量巡检记录信息
     * <p>
     * qualityManagerPR#listQuality
     *
     * @param page
igds-core/src/main/resources/mapper/CheckStandardMapper.xml
@@ -7,9 +7,7 @@
    <!--新增化验数据 -->
    <insert id="insertCheckItem" parameterType="com.ld.igds.check.dto.CheckItemData">
        insert into
        D_CHECK_ITEM(
        COMPANY_ID_,
        insert into D_CHECK_ITEM(COMPANY_ID_,
        CHECK_ID_,
        STANDARD_ID_,
        STANDARD_NAME_,
@@ -28,9 +26,8 @@
        ADD_PRICE_,
        DE_PRICE_,
        RESULT_,
        REMARKS_
        )values (
        #{data.companyId},
                                 REMARKS_)
        values (#{data.companyId},
        #{data.checkId},
        #{data.standardId},
        #{data.standardName},
@@ -49,15 +46,15 @@
        #{data.addPrice},
        #{data.dePrice},
        #{data.result},
        #{data.remarks}
        )
                #{data.remarks})
    </insert>
    <!--更新化验项数据 -->
    <update id="updateCheckItem" parameterType="com.ld.igds.check.dto.CheckItemData">
        update D_CHECK_ITEM
        <set>
            <if test="data.standardName != null and data.standardName != '' ">STANDARD_NAME_ = #{data.standardName},</if>
            <if test="data.standardName != null and data.standardName != '' ">STANDARD_NAME_ = #{data.standardName},
            </if>
            <if test="data.upperLimit != null and data.upperLimit != '' ">UPPER_LIMIT_ = #{data.upperLimit},</if>
            <if test="data.unit != null and data.unit != '' ">UNIT_ = #{data.unit},</if>
            <if test="data.value != null and data.value != '' ">VALUE_ = #{data.value},</if>
@@ -92,12 +89,20 @@
        </where>
        AND VALUE_ IS NULL
    </update>
    <!-- 根据条件删除化验项-->
    <delete id="delCheckItemByParam" parameterType="com.ld.igds.check.dto.CheckItemData">
        DELETE
        FROM D_CHECK_ITEM
        <where>
            <if test="data.companyId != null and data.companyId != '' ">COMPANY_ID_= #{data.companyId}</if>
            <if test="data.checkId != null and data.checkId != '' ">AND CHECK_ID_ = #{data.checkId}</if>
        </where>
    </delete>
    <!-- 根据checkId获取检测结果 -->
    <select id="getCheckItemById" parameterType="java.lang.String"
            resultType="com.ld.igds.check.dto.CheckItemData">
        select
        CHECK_ID_ as checkId,
        select CHECK_ID_      as checkId,
        COMPANY_ID_ as companyId,
        STANDARD_ID_ as standardId,
        STANDARD_NAME_ as standardName,
@@ -127,8 +132,7 @@
    <!-- 根据粮食品种获取配的化验信息 -->
    <select id="getCheckStandard" parameterType="java.lang.String"
            resultType="com.ld.igds.check.dto.CheckStandardData">
        select
        ID_ as id,
        select ID_                as id,
        COMPANY_ID_ as companyId,
        FOOD_VARIETY_ as foodVariety,
        STANDARD_ID_ as standardId,
@@ -145,8 +149,7 @@
        UPDATE_TIME_ as updateTime,
        REMARKS_ as remarks
        FROM D_CHECK_STANDARD
        WHERE
        COMPANY_ID_ = #{companyId}
        WHERE COMPANY_ID_ = #{companyId}
        AND FOOD_VARIETY_ = #{foodVariety}
        ORDER by STANDARD_ID_ + 0
    </select>