YYC
2023-07-14 dd93297e80ecad5b4fb7267f048d50ffb9f2c191
补单上传照片
已修改4个文件
247 ■■■■ 文件已修改
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/view/InoutHand.view.xml 178 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-web/src/main/resources/templates/admin/inout/in-handle.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java
@@ -7,6 +7,7 @@
import com.ld.igds.data.Page;
import com.ld.igds.data.PageResponse;
import com.ld.igds.file.CoreFileService;
import com.ld.igds.file.dto.FileData;
import com.ld.igds.inout.InoutConstant;
import com.ld.igds.inout.dto.InoutCheckData;
import com.ld.igds.inout.dto.InoutCheckParam;
@@ -50,6 +51,8 @@
    private CheckStandardManager checkStandardManager;
    @Resource
    private InoutEventControlManager inoutEventControl;
    @Resource
    private CoreFileService coreFileService;
    /**
     * 直接从数据库查询,不考虑信息状态
@@ -213,6 +216,22 @@
        return data;
    }
    private InoutData updateFiles(InoutData data) throws Exception {
        List<FileData> files = data.getFiles();
        if (null == files) {
            return data;
        }
        for (FileData fileData : files) {
            fileData.setFileId(ContextUtil.getUUID());
            fileData.setCompanyId(data.getCompanyId());
            fileData.setBizId(data.getId());
            fileData.setCreateTime(new Date());
            coreFileService.addRecord(fileData);
        }
        return data;
    }
    /**
     * 从缓存中获取下一流程
@@ -444,6 +463,7 @@
        if (InoutConstant.TYPE_IN.equals(data.getType())) {
            this.updateCheckItems(data, true);
        }
        this.updateFiles(data);
        return null;
    }
igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java
@@ -1,14 +1,24 @@
package com.ld.igds.inout.view;
import java.io.File;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.bstek.bdf2.core.business.IUser;
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.bstek.dorado.uploader.UploadFile;
import com.bstek.dorado.uploader.annotation.FileProvider;
import com.bstek.dorado.uploader.annotation.FileResolver;
import com.ld.igds.constant.RedisConst;
import com.ld.igds.data.PageResponse;
import com.ld.igds.file.CoreFileService;
import com.ld.igds.file.FileManager;
import com.ld.igds.inout.InoutConstant;
import com.ld.igds.inout.dto.InoutData;
import com.ld.igds.inout.dto.InoutParam;
@@ -16,12 +26,16 @@
import com.ld.igds.inout.manager.InoutReportManager;
import com.ld.igds.inout.service.InoutService;
import com.ld.igds.models.DicTrigger;
import com.ld.igds.models.FileInfo;
import com.ld.igds.util.ContextUtil;
import com.ld.igds.util.RedisUtil;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.apache.commons.lang.time.DateFormatUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
@@ -42,6 +56,10 @@
    private InoutReportManager inoutReportManager;
    @Resource
    private InoutManager inoutManager;
    @Autowired
    private CoreFileService fileService;
    @Autowired
    private RedisUtil redisUtil;
    // ${dorado.getDataProvider("inoutDataPR#triggerRecordStatus1").getResult()}
@@ -232,4 +250,32 @@
        return data;
    }
    /**
     * inoutDataPR#uploadImage
     *
     * @param file
     * @param parameter
     * @return
     */
    @FileResolver
    public String uploadImage(UploadFile file, Map<String, Object> parameter) {
        String plateNum = (String) parameter.get("plateNum");
        String newFileName = null;
        try {
            String basePath = fileService.getInoutFilePath(new Date());
            // 获取新的ID
            newFileName = DateFormatUtils.format(new Date(), "yyyyMMddHHmmss");
            // 文件后缀名
            String suffixName = file.getFileName().substring(file.getFileName().lastIndexOf("."));
            // 合成新的文件名
            newFileName = newFileName + suffixName;
            file.transferTo(new File(basePath + newFileName));
        } catch (Exception e) {
            e.printStackTrace();
        }
        return newFileName;
    }
}
igds-inout/src/main/java/com/ld/igds/inout/view/InoutHand.view.xml
@@ -34,6 +34,11 @@
        <Property name="dataProvider">checkStandardPR#listCheckItemsByParam</Property>
        <Property name="dataType">[dtCheckItems]</Property>
      </Reference>
      <Reference name="files">
        <Property name="dataProvider">sys.fileManager#listFile</Property>
        <Property name="dataType">[dtFileData]</Property>
        <Property name="parameter">$${this.id}</Property>
      </Reference>
    </DataType>
    <DataType name="dtCheckItems">
      <Property name="creationType">com.ld.igds.check.dto.CheckItemData</Property>
@@ -141,6 +146,8 @@
  <View layout="padding:5;regionPadding:5">
    <ClientEvent name="onReady">var TYPE = &quot;${request.getParameter('type')}&quot;;&#xD;
&#xD;
var PROGRESS = &quot;WEIGHT_TAG&quot;;&#xD;
&#xD;
/**&#xD;
 * 刷新页面&#xD;
 */&#xD;
@@ -221,7 +228,7 @@
        <Property name="iconClass">fa fa-minus</Property>
      </Button>
    </Container>
    <TabControl id="tabControlMain">
    <TabControl id="tabControlMain" layoutConstraint="left ">
      <Property name="width">1300</Property>
      <ControlTab>
        <Property name="caption">基础信息</Property>
@@ -602,43 +609,14 @@
            </AutoFormElement>
          </AutoForm>
          <DataGrid id="dataGridCheckItem" layoutConstraint="padding:10">
            <ClientEvent name="onCellValueEdit">var data = arg.entity;&#xD;
//根据填写化验数据,给出提醒是否合格&#xD;
            <ClientEvent name="onCellValueEdit">var data = view.get(&quot;#dsMain.data:#&quot;)&#xD;
if(data){&#xD;
    //填写的数据值&#xD;
    var newValue = data.get(&quot;value&quot;);&#xD;
&#xD;
    //标准值&#xD;
    var limit = data.get(&quot;upperLimit&quot;);&#xD;
&#xD;
    //运算符&#xD;
    var symbol = data.get(&quot;operaSymbol&quot;);&#xD;
&#xD;
    if (symbol &amp;&amp; limit) {&#xD;
        if (&quot;>=&quot; == symbol) {&#xD;
            if (newValue &lt; limit) {&#xD;
                data.set(&quot;result&quot;, &quot;0&quot;);&#xD;
               &#xD;
            } else {&#xD;
                data.set(&quot;result&quot;, &quot;1&quot;);&#xD;
    var plateNum = data.get(&quot;plateNum&quot;);&#xD;
    self.set(&quot;parameter&quot;,{&#xD;
        plateNum:plateNum&#xD;
    })&#xD;
            }&#xD;
        }&#xD;
        if (&quot;&lt;=&quot; == symbol) {&#xD;
            if (newValue > limit) {&#xD;
                data.set(&quot;result&quot;, &quot;0&quot;);&#xD;
            } else {&#xD;
                data.set(&quot;result&quot;, &quot;1&quot;);&#xD;
            }&#xD;
        }&#xD;
        if (&quot;==&quot; == symbol) {&#xD;
            if (newValue != limit) {&#xD;
                data.set(&quot;result&quot;, &quot;0&quot;);&#xD;
            } else {&#xD;
                data.set(&quot;result&quot;, &quot;1&quot;);&#xD;
            }&#xD;
        }&#xD;
    }&#xD;
}</ClientEvent>
</ClientEvent>
            <Property name="dataSet">dsMain</Property>
            <Property name="dataPath">#.checkItems</Property>
            <Property name="highlightCurrentRow">false</Property>
@@ -695,6 +673,56 @@
            </DataColumn>
          </DataGrid>
        </Container>
      </ControlTab>
    </TabControl>
    <TabControl id="tabControlImage" layoutConstraint="left">
      <Property name="width">370</Property>
      <ControlTab id="tabImage">
        <Property name="name">tabImage</Property>
        <Property name="caption">出入库过程记录</Property>
        <FieldSet layout="regionPadding:5" layoutConstraint="top padding:10">
          <Buttons>
            <Button layoutConstraint="left">
              <ClientEvent name="onClick">view.PROGRESS = &quot;EMPTY_WEIGHT&quot;;&#xD;
</ClientEvent>
              <Property name="exClassName">btn-default</Property>
              <Property name="iconClass">fa fa-cloud-upload</Property>
              <Property name="action">uploadImg</Property>
              <Property name="caption">空车称</Property>
            </Button>
            <Button layoutConstraint="left">
              <ClientEvent name="onClick">view.PROGRESS = &quot;FULL_WEIGHT&quot;;&#xD;
</ClientEvent>
              <Property name="exClassName">btn-default</Property>
              <Property name="iconClass">fa fa-cloud-upload</Property>
              <Property name="action">uploadImg1</Property>
              <Property name="caption">满车称</Property>
            </Button>
            <Button layoutConstraint="left">
              <ClientEvent name="onClick">view.PROGRESS = &quot;HAND&quot;;</ClientEvent>
              <Property name="caption">值仓</Property>
              <Property name="exClassName">btn-default</Property>
              <Property name="iconClass">fa fa-cloud-upload</Property>
              <Property name="action">uploadImg2</Property>
            </Button>
          </Buttons>
          <Children>
            <DataGrid id="dgFiles">
              <Property name="dataSet">dsMain</Property>
              <Property name="readOnly">true</Property>
              <Property name="selectionMode">singleRow</Property>
              <Property name="dataPath">#.files</Property>
              <RowNumColumn/>
              <DataColumn name="bizTag">
                <Property name="property">bizTag</Property>
                <Property name="visible">false</Property>
              </DataColumn>
              <DataColumn name="fileName">
                <Property name="property">fileName</Property>
              </DataColumn>
            </DataGrid>
          </Children>
        </FieldSet>
      </ControlTab>
    </TabControl>
    <YearDropDown id="yearDropDown"/>
@@ -832,5 +860,83 @@
        </DataGrid>
      </Container>
    </CustomDropDown>
    <UploadAction id="uploadImg">
      <ClientEvent name="beforeFileUploaded">var data = view.get(&quot;#dsMain.data:#&quot;)&#xD;
&#xD;
var plateNum = data.get(&quot;plateNum&quot;);&#xD;
self.set(&quot;parameter&quot;,{&#xD;
    plateNum:plateNum,&#xD;
    bizTag:&quot;EMPTY_WEIGHT&quot;&#xD;
})</ClientEvent>
      <ClientEvent name="onFileUploaded">//附件上传完成后添加业务数据&#xD;
var mainData = view.get(&quot;#dsMain.data&quot;);&#xD;
var fileName = arg.returnValue;&#xD;
var files = mainData.get(&quot;files&quot;);&#xD;
files.insert({bizTag:view.PROGRESS,fileName:fileName,createTime:new Date()});</ClientEvent>
      <ClientEvent name="beforeFileUploaded">var data = view.get(&quot;#dsMain.data:#&quot;)&#xD;
if(data){&#xD;
    var plateNum = data.get(&quot;plateNum&quot;);&#xD;
    self.set(&quot;parameter&quot;,{&#xD;
        plateNum:plateNum&#xD;
    })&#xD;
}</ClientEvent>
      <Property name="maxFileSize">20MB</Property>
      <Property name="successMessage">上传成功</Property>
      <Property name="parameter"></Property>
      <Property name="fileResolver">inoutDataPR#uploadImage</Property>
      <Filters/>
    </UploadAction>
    <UploadAction id="uploadImg1">
      <ClientEvent name="beforeFileUploaded">var data = view.get(&quot;#dsMain.data:#&quot;)&#xD;
&#xD;
var plateNum = data.get(&quot;plateNum&quot;);&#xD;
self.set(&quot;parameter&quot;,{&#xD;
    plateNum:plateNum,&#xD;
    bizTag:&quot;FULL_WEIGHT&quot;&#xD;
})</ClientEvent>
      <ClientEvent name="onFileUploaded">//附件上传完成后添加业务数据&#xD;
var mainData = view.get(&quot;#dsMain.data&quot;);&#xD;
var fileName = arg.returnValue;&#xD;
var files = mainData.get(&quot;files&quot;);&#xD;
files.insert({bizTag:view.PROGRESS,fileName:fileName});</ClientEvent>
      <ClientEvent name="beforeFileUploaded">var data = view.get(&quot;#dsMain.data:#&quot;)&#xD;
if(data){&#xD;
    var plateNum = data.get(&quot;plateNum&quot;);&#xD;
    self.set(&quot;parameter&quot;,{&#xD;
        plateNum:plateNum&#xD;
    })&#xD;
}</ClientEvent>
      <Property name="maxFileSize">20MB</Property>
      <Property name="successMessage">上传成功</Property>
      <Property name="parameter"></Property>
      <Property name="fileResolver">inoutDataPR#uploadImage</Property>
      <Filters/>
    </UploadAction>
    <UploadAction id="uploadImg2">
      <ClientEvent name="beforeFileUploaded">var data = view.get(&quot;#dsMain.data:#&quot;)&#xD;
&#xD;
var plateNum = data.get(&quot;plateNum&quot;);&#xD;
self.set(&quot;parameter&quot;,{&#xD;
    plateNum:plateNum,&#xD;
    bizTag:&quot;HAND&quot;&#xD;
})</ClientEvent>
      <ClientEvent name="onFileUploaded">//附件上传完成后添加业务数据&#xD;
var mainData = view.get(&quot;#dsMain.data&quot;);&#xD;
var fileName = arg.returnValue;&#xD;
var files = mainData.get(&quot;files&quot;);&#xD;
files.insert({bizTag:view.PROGRESS,fileName:fileName});</ClientEvent>
      <ClientEvent name="beforeFileUploaded">var data = view.get(&quot;#dsMain.data:#&quot;)&#xD;
if(data){&#xD;
    var plateNum = data.get(&quot;plateNum&quot;);&#xD;
    self.set(&quot;parameter&quot;,{&#xD;
        plateNum:plateNum&#xD;
    })&#xD;
}</ClientEvent>
      <Property name="maxFileSize">20MB</Property>
      <Property name="successMessage">上传成功</Property>
      <Property name="parameter"></Property>
      <Property name="fileResolver">inoutDataPR#uploadImage</Property>
      <Filters/>
    </UploadAction>
  </View>
</ViewConfig>
igds-web/src/main/resources/templates/admin/inout/in-handle.html
@@ -500,6 +500,7 @@
                </div>
                <!--kccz-r-item end-->
            </div>
        </div>
        <!--kccz-con end-->