From db67639449287bcec461916a7dca6003ee5dd03c Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期五, 05 十二月 2025 16:27:18 +0800
Subject: [PATCH] 出入库详单及补单页面及逻辑
---
fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/Constant.java | 8
fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/FileMapper.java | 14
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutHand.view.xml | 944 +++++++++++++++
fzzy-igdss-view/src/main/java/models/core.model.xml | 116 +
fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java | 45
fzzy-igdss-view/pom.xml | 28
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java | 161 ++
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/NoticeParam.java | 2
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/FileService.java | 176 ++
fzzy-igdss-view/src/main/java/com/fzzy/igds/FilePR.java | 78 +
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/NoticeDto.java | 2
fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutRecord.java | 4
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticePR.java | 54
fzzy-igdss-view/src/main/java/com/fzzy/igds/FileUploadManage.java | 94 +
fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/FileInfo.java | 6
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java | 361 +++++
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java | 71
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutList.view.xml | 1165 +++++++++++++++++++
fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/print/PrintManager.java | 281 ----
fzzy-igdss-web/src/main/resources/static/inout/inout-weight2.js | 17
fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/file/FileManager.java | 2
fzzy-igdss-web/src/main/resources/templates/inout/weight.html | 2
fzzy-igdss-web/src/main/resources/templates/inout/weight2.html | 2
23 files changed, 3,248 insertions(+), 385 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 4f3be93..608a66d 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
@@ -119,6 +119,14 @@
// 娴佺▼-澶囨锛堣〃绀烘祦绋嬫暣浣撳畬鎴愬悗澶囨锛�
public static final String PROGRESS_RECORD = "RECORD";
+ // 鏁版嵁鐘舵��-姝e父
+ public static final String RECORD_STATUS_NORMAL = "NORMAL";
+
+ // 鏁版嵁鐘舵��-琛ュ綍
+ public static final String RECORD_STATUS_ADD = "ADD";
+ // 鏁版嵁鐘舵��-宸插垹闄�
+ public static final String RECORD_STATUS_DEL = "DEL";
+
/**
* 鍑哄叆搴撻厤缃殑绫诲瀷 10 = 杞︾墝璇嗗埆
*/
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/NoticeDto.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/NoticeDto.java
index e73f223..d2ae99a 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/NoticeDto.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/NoticeDto.java
@@ -86,6 +86,6 @@
/**
* 鎵�灞炲悎鍚�
*/
- private String contractName;
+ private String contract;
}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/NoticeParam.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/NoticeParam.java
index 823a220..a6b3a65 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/NoticeParam.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/NoticeParam.java
@@ -19,6 +19,8 @@
private String depotId;
+ private String key;
+
private String deptId;// 鎵�灞炲垎搴�
private String customerName;// 瀹㈡埛鍚嶇О
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/FileInfo.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/FileInfo.java
index f4ecf52..5996988 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/FileInfo.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/FileInfo.java
@@ -30,7 +30,7 @@
@Id
@Column(name = "id", columnDefinition = "varchar(40) COMMENT '闄勪欢ID'")
@TableField("id")
- private String fileId;
+ private String id;
@Column(name = "dept_id", columnDefinition = "varchar(40) COMMENT '鎵�灞炲簱鍖�'")
@TableField("dept_id")
@@ -48,4 +48,8 @@
@TableField("file_name")
private String fileName;
+ @Column(name = "file_path", columnDefinition = "varchar(200) COMMENT '鏂囦欢鍏ㄨ矾寰�'")
+ @TableField("file_path")
+ private String filePath;
+
}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutRecord.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutRecord.java
index 87918b3..7cdff1f 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutRecord.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutRecord.java
@@ -196,10 +196,6 @@
@TableField("settle_money")
private Double settleMoney = 0.00;
- @Column(name = "settle_id", columnDefinition = "varchar(40) COMMENT '缁撶畻鍗曞彿'")
- @TableField("settle_id")
- private String settleId;
-
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@Column(name = "settle_time", columnDefinition = "datetime COMMENT '缁撶畻鏃堕棿'")
@TableField("settle_time")
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/FileMapper.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/FileMapper.java
new file mode 100644
index 0000000..5e39538
--- /dev/null
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/FileMapper.java
@@ -0,0 +1,14 @@
+package com.fzzy.igds.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fzzy.igds.domain.FileInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @Description
+ * @Author CZT
+ * @Date 2025/12/05 15:48
+ */
+@Mapper
+public interface FileMapper extends BaseMapper<FileInfo> {
+}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/FileService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/FileService.java
index 28379e8..cdbe480 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/FileService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/FileService.java
@@ -1,12 +1,22 @@
package com.fzzy.igds.service;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fzzy.igds.domain.FileInfo;
+import com.fzzy.igds.mapper.FileMapper;
+import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.config.FrameworkConfig;
import org.apache.commons.lang3.time.DateFormatUtils;
+import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import com.ruoyi.common.utils.StringUtils;
-
+import javax.annotation.Resource;
+import javax.imageio.ImageIO;
+import java.awt.*;
+import java.awt.image.BufferedImage;
import java.io.File;
+import java.io.IOException;
import java.util.Date;
+import java.util.List;
/**
* @Description
@@ -16,14 +26,120 @@
@Service
public class FileService {
+ @Resource
+ private FileMapper fileMapper;
+
/**
- * 鑾峰彇鍑哄叆搴撴枃浠惰矾寰�
- * @param date
+ * 寮傛鎵ц闄勪欢淇濆瓨
+ * @param files 闄勪欢淇℃伅
+ * @param bizId 涓氬姟id
+ * @param bizTag 鏍囩
+ * @param pathTag 鏂囦欢璺緞鏍囪瘑
+ */
+ @Async
+ public void saveInoutFiles(List<FileInfo> files, String bizId, String bizTag, String pathTag) {
+
+ if (null == files || files.isEmpty()) {
+ return;
+ }
+
+ for (FileInfo data : files) {
+ // 濡傛灉娌℃湁闄勪欢鍚嶇О锛屽垯涓嶄繚瀛橀檮浠朵俊鎭�
+ if (StringUtils.isBlank(data.getFileName())) {
+ continue;
+ }
+
+ data.setId(ContextUtil.generateId());
+ data.setCompanyId(ContextUtil.getCompanyId());
+
+ //鏂囦欢鍏ㄨ矾寰�
+ String filePath = getFileSavePath(pathTag) + data.getFileName();
+ filePath = filePath.replace(FrameworkConfig.getProfile(), "/profile/");
+ data.setFilePath(filePath);
+
+ if (StringUtils.isNotEmpty(bizId)) {
+ data.setBizId(bizId);
+ }
+ if (StringUtils.isNotEmpty(bizTag)) {
+ data.setBizTag(bizTag);
+ }
+
+ data.setCreateTime(new Date());
+ data.setCreateBy(ContextUtil.getLoginUserName());
+
+ data.setUpdateTime(new Date());
+ data.setUpdateBy(ContextUtil.getLoginUserName());
+ fileMapper.insert(data);
+ }
+ }
+
+ /**
+ * 鏍规嵁鏉′欢鏌ヨ鏁版嵁
+ * @param companyId
+ * @param deptId
+ * @param bizId
* @return
*/
- public String getInoutFilePath(Date date) {
- if (null == date) date = new Date();
- String basePath = FrameworkConfig.getProfile() + "INOUT/" + DateFormatUtils.format(date, "yyyyMM") + "/";
+ public List<FileInfo> listFile(String companyId, String deptId, String bizId, String bizTag) {
+ QueryWrapper<FileInfo> queryWrapper = new QueryWrapper<>();
+ if (StringUtils.isNotBlank(companyId)) {
+ queryWrapper.eq("company_id", companyId);
+ }
+ if (StringUtils.isNotBlank(deptId)) {
+ queryWrapper.eq("dept_id", deptId);
+ }
+ if (StringUtils.isNotBlank(bizId)) {
+ queryWrapper.eq("biz_id", bizId);
+ }
+ if (StringUtils.isNotBlank(bizTag)) {
+ queryWrapper.eq("biz_tag", bizTag);
+ }
+ return fileMapper.selectList(queryWrapper);
+ }
+
+ /**
+ *
+ * @param id
+ */
+ public void delFile(String id) {
+ fileMapper.deleteById(id);
+ }
+
+ /**
+ * 鑾峰彇鍑哄叆搴撴枃浠惰矾寰�
+ * @param pathTag
+ * @return
+ */
+ public String getFileSavePath(String pathTag) {
+ if(StringUtils.isBlank(pathTag)){
+ pathTag = "COMMON";
+ }
+ if("INOUT".equals(pathTag)) return getInoutFilePath();
+ if("PATROL".equals(pathTag)) return getPatrolFilePath();
+ if("DEPT".equals(pathTag)) return getDeptFilePath();
+
+ return getCommonFilePath();
+ }
+
+ /**
+ * 鑾峰彇鍑哄叆搴撴枃浠惰矾寰�
+ * @return
+ */
+ public String getPatrolFilePath() {
+ String basePath = FrameworkConfig.getProfile() + "INOUT/" + DateFormatUtils.format(new Date(), "yyyyMM") + "/";
+ File file = new File(basePath);
+ if (!file.exists()) {
+ file.mkdirs();
+ }
+ return basePath;
+ }
+
+ /**
+ * 鑾峰彇鍑哄叆搴撴枃浠惰矾寰�
+ * @return
+ */
+ public String getInoutFilePath() {
+ String basePath = FrameworkConfig.getProfile() + "INOUT/" + DateFormatUtils.format(new Date(), "yyyyMM") + "/";
File file = new File(basePath);
if (!file.exists()) {
file.mkdirs();
@@ -33,15 +149,11 @@
/**
* 鑾峰彇搴撳尯璺緞涓嬫枃浠�
- * @param companyId
* @return
*/
- public String getDeptFilePath(String companyId) {
- if (StringUtils.isEmpty(companyId)){
- companyId = FrameworkConfig.getCompanyId();
- }
+ public String getDeptFilePath() {
- String basePath = FrameworkConfig.getProfile() + "IMG/"+ companyId + "/SECURITY/";
+ String basePath = FrameworkConfig.getProfile() + "IMG/"+ FrameworkConfig.getCompanyId() + "/SECURITY/";
File file = new File(basePath);
if (!file.exists()) {
@@ -49,4 +161,44 @@
}
return basePath;
}
+
+ /**
+ * 鑾峰彇鍏叡璺緞
+ * @return
+ */
+ public String getCommonFilePath() {
+
+ String basePath = FrameworkConfig.getProfile() + "COMMON/" + DateFormatUtils.format(new Date(), "yyyyMM") + "/";
+
+ File file = new File(basePath);
+ if (!file.exists()) {
+ file.mkdirs();
+ }
+ return basePath;
+ }
+
+ /**
+ * 鍘嬬缉鍥剧墖
+ *
+ * @param filePath 鍘嬬缉鍓嶈矾寰�
+ * @param scale 鍘嬬缉姣斾緥
+ * @param outputPath 鍘嬬缉鍚庤矾寰�
+ * @throws IOException
+ */
+ public void compressedImage(String filePath, double scale, String outputPath) throws IOException {
+ BufferedImage bufferedImage = ImageIO.read(new File(filePath));
+ int newWidth = (int) (bufferedImage.getWidth() * scale);
+ int newHeight = (int) (bufferedImage.getHeight() * scale);
+
+ //鍒涘缓鍘嬬缉鍚庣殑鍥剧墖
+ BufferedImage compressedImage = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_RGB);
+ Graphics2D graphics2D = compressedImage.createGraphics();
+
+ //缁樺埗鍘熷鍥剧墖鍒板帇缂╁悗鐨勫浘鐗囦笂
+ graphics2D.drawImage(bufferedImage, 0, 0, newWidth, newHeight, null);
+ graphics2D.dispose();
+
+ ImageIO.write(compressedImage, "jpg", new File(outputPath));
+ }
+
}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java
index 7aba052..b2f2136 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java
@@ -62,22 +62,22 @@
/**
* 鏍规嵁鏉′欢鏌ヨ
- * @param companyId
- * @param deptId
- * @param completeStatus
* @return
*/
- public List<InoutNoticeIn> getNoticeIn(String companyId, String deptId, String completeStatus) {
+ public List<InoutNoticeIn> getNoticeIn(NoticeParam param) {
QueryWrapper<InoutNoticeIn> queryWrapper = new QueryWrapper<>();
- if(StringUtils.isNotBlank(companyId)){
- queryWrapper.eq("company_id", companyId);
+ if(StringUtils.isNotBlank(param.getCompanyId())){
+ queryWrapper.eq("company_id", param.getCompanyId());
}
- if(StringUtils.isNotBlank(deptId)){
- queryWrapper.eq("dept_id", deptId);
+ if(StringUtils.isNotBlank(param.getDeptId())){
+ queryWrapper.eq("dept_id", param.getDeptId());
}
- if(StringUtils.isNotBlank(completeStatus)){
- queryWrapper.eq("complete_status", completeStatus);
+ if(StringUtils.isNotBlank(param.getCompleteStatus())){
+ queryWrapper.eq("complete_status", param.getCompleteStatus());
+ }
+ if(StringUtils.isNotBlank(param.getKey())){
+ queryWrapper.like("name", param.getKey());
}
queryWrapper.orderByDesc("create_time");
@@ -97,16 +97,6 @@
}
/**
- * 鏌ヨ鏁版嵁
- * @param companyId
- * @param deptId
- * @return
- */
- public List<InoutNoticeIn> listNoticeIn(String companyId, String deptId) {
- return this.getNoticeIn(companyId, deptId, Constant.COMPLETE_STATUS_NONE);
- }
-
- /**
* 鏌ヨ鏁版嵁
* @param companyId
* @return
@@ -115,7 +105,10 @@
if (StringUtils.isEmpty(companyId)) {
companyId = ContextUtil.getCompanyId();
}
- return this.getNoticeIn(companyId, null, Constant.COMPLETE_STATUS_NONE);
+ NoticeParam param = new NoticeParam();
+ param.setCompanyId(companyId);
+ param.setCompleteStatus(Constant.COMPLETE_STATUS_NONE);
+ return this.getNoticeIn(param);
}
/**
@@ -183,22 +176,21 @@
/**
* 鏍规嵁鏉′欢鏌ヨ
- * @param companyId
- * @param deptId
- * @param completeStatus
* @return
*/
- public List<InoutNoticeOut> getNoticeOut(String companyId, String deptId, String completeStatus) {
-
+ public List<InoutNoticeOut> getNoticeOut(NoticeParam param) {
QueryWrapper<InoutNoticeOut> queryWrapper = new QueryWrapper<>();
- if(StringUtils.isNotBlank(companyId)){
- queryWrapper.eq("company_id", companyId);
+ if(StringUtils.isNotBlank(param.getCompanyId())){
+ queryWrapper.eq("company_id", param.getCompanyId());
}
- if(StringUtils.isNotBlank(deptId)){
- queryWrapper.eq("dept_id", deptId);
+ if(StringUtils.isNotBlank(param.getDeptId())){
+ queryWrapper.eq("dept_id", param.getDeptId());
}
- if(StringUtils.isNotBlank(completeStatus)){
- queryWrapper.eq("complete_status", completeStatus);
+ if(StringUtils.isNotBlank(param.getCompleteStatus())){
+ queryWrapper.eq("complete_status", param.getCompleteStatus());
+ }
+ if(StringUtils.isNotBlank(param.getKey())){
+ queryWrapper.like("name", param.getKey());
}
queryWrapper.orderByDesc("create_time");
@@ -218,16 +210,6 @@
}
/**
- * 鏌ヨ鏁版嵁
- * @param companyId
- * @param deptId
- * @return
- */
- public List<InoutNoticeOut> listNoticeOut(String companyId, String deptId) {
- return this.getNoticeOut(companyId, deptId, Constant.COMPLETE_STATUS_NONE);
- }
-
- /**
* Mybatis-plus 鑾峰彇淇℃伅
* @param companyId
* @return
@@ -236,7 +218,10 @@
if (StringUtils.isEmpty(companyId)) {
companyId = ContextUtil.getCompanyId();
}
- return this.getNoticeOut(companyId, null,Constant.COMPLETE_STATUS_NONE);
+ NoticeParam param = new NoticeParam();
+ param.setCompanyId(companyId);
+ param.setCompleteStatus(Constant.COMPLETE_STATUS_NONE);
+ return this.getNoticeOut(param);
}
/**
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java
index 1c17e61..21012e6 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java
@@ -2,19 +2,28 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fzzy.igds.bill.InoutBill;
import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.constant.FoodVariety;
import com.fzzy.igds.constant.RedisConst;
+import com.fzzy.igds.data.InoutData;
import com.fzzy.igds.data.InoutParam;
+import com.fzzy.igds.data.InoutPrintBill;
+import com.fzzy.igds.domain.Depot;
import com.fzzy.igds.domain.InoutRecord;
import com.fzzy.igds.mapper.InoutRecordMapper;
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.igds.utils.DateUtil;
+import com.fzzy.igds.utils.NumberUtil;
+import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateFormatUtils;
+import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.text.DecimalFormat;
import java.util.Date;
import java.util.List;
@@ -29,6 +38,12 @@
@Resource
private InoutRecordMapper inoutRecordMapper;
+ @Resource
+ private FileService fileService;
+ @Resource
+ private SysDeptService sysDeptService;
+ @Resource
+ private DepotService depotService;
@Resource
private RedisCache redisCache;
@@ -84,7 +99,7 @@
queryWrapper.eq("id", param.getId());
}
if (StringUtils.isNotBlank(param.getPlateNum())) {
- queryWrapper.eq("plate_num", param.getPlateNum());
+ queryWrapper.like("plate_num", param.getPlateNum());
}
if (StringUtils.isNotBlank(param.getWeightTag())) {
//鏌ヨ寰呯О閲嶇殑
@@ -115,7 +130,9 @@
if (null != param.getEnd()) {
queryWrapper.le("create_time", DateUtil.getNextZero(param.getEnd()));
}
- queryWrapper.eq("record_status", "NORMAL"); //姝e父鐘舵�佺殑鍗曞瓙
+ queryWrapper.eq("record_status", Constant.RECORD_STATUS_NORMAL); //姝e父鐘舵�佺殑鍗曞瓙
+ queryWrapper.or();
+ queryWrapper.eq("record_status", Constant.RECORD_STATUS_ADD); //琛ュ綍鍗曞瓙鐨勫崟瀛�
queryWrapper.orderByDesc("create_time");
return queryWrapper;
@@ -152,8 +169,59 @@
queryWrapper.eq("plate_num", plateNum);
queryWrapper.ne("progress", Constant.PROGRESS_RECORD);
queryWrapper.eq("record_status", "NORMAL");
+ queryWrapper.or();
+ queryWrapper.eq("record_status", Constant.RECORD_STATUS_ADD); //琛ュ綍鍗曞瓙鐨勫崟瀛�
return inoutRecordMapper.selectCount(queryWrapper);
+ }
+
+ /**
+ * 鎵嬪姩琛ュ崟
+ * @param data
+ * @return
+ */
+ public String handAddInoutRecord(InoutData data) {
+
+ //琛ュ崟鏁版嵁鐩存帴鍒扮粨鏋滅姸鎬�
+ data.setRecordStatus(Constant.RECORD_STATUS_ADD);
+ data.setProgress(Constant.PROGRESS_RECORD);
+ if(null != data.getPerWet() && data.getPerWet() > 0){
+ data.setCheckStatus(Constant.STATUS_CHECK);
+ }
+ String loginUser = ContextUtil.getLoginUserName();
+ if (StringUtils.isEmpty(data.getRegisterUser())) {
+ data.setRegisterUser(loginUser);
+ }
+ if (StringUtils.isEmpty(data.getFullWeightUser())) {
+ data.setFullWeightUser(loginUser);
+ }
+ if (StringUtils.isEmpty(data.getEmptyWeightUser())) {
+ data.setEmptyWeightUser(loginUser);
+ }
+ if (StringUtils.isEmpty(data.getHandleUser())) {
+ data.setHandleUser(loginUser);
+ }
+ if (StringUtils.isEmpty(data.getCompleteUser())) {
+ data.setCompleteUser(loginUser);
+ }
+
+ if (null == data.getCompleteTime()) {
+ data.setCompleteTime(new Date());
+ }
+
+ InoutRecord record = new InoutRecord();
+ BeanUtils.copyProperties(data, record);
+ //淇濆瓨
+ int num = this.addInoutRecord(record);
+
+ //闄勪欢澶勭悊
+ fileService.saveInoutFiles(data.getFiles(), record.getId(), null, "INOUT");
+
+ if (num > 0) {
+ return null;
+ } else {
+ return "淇濆瓨澶辫触锛�";
+ }
}
/**
@@ -202,6 +270,38 @@
//updateInoutCache(data);
return num;
+ }
+
+ /**
+ * 寮傚父缁堟
+ * @param data
+ * @return
+ */
+ public String errorInoutData(InoutRecord data) {
+
+ InoutParam param = new InoutParam();
+ param.setId(data.getId());
+ data = this.selectOne(param);
+ if (Constant.RECORD_STATUS_DEL.equals(data.getRecordStatus())) {
+ return "褰撳墠淇℃伅宸插仛寮傚父澶勭悊锛屼笉鏀寔閲嶅鎵ц锛�";
+ }
+
+ String msg = " 浜�" + DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm") + " 琚� " + ContextUtil.getLoginUserName() + " 鎵ц缁堟锛屽師鍥狅細" + data.getRemarks();
+
+ data.setRemarks(msg);
+ data.setProgress(Constant.PROGRESS_RECORD);
+ data.setRecordStatus(Constant.RECORD_STATUS_DEL);
+ data.setCompleteTime(new Date());
+
+ int i = this.updateInoutRecord(data);
+
+ //TODO 鍒犻櫎缂撳瓨
+
+ if(i > 0){
+ return null;
+ }else {
+ return "鎿嶄綔澶辫触锛�";
+ }
}
/**
@@ -292,4 +392,261 @@
}
}
+ /**
+ * 鑾峰彇鍏ュ簱杩囩鍗曟暟鎹俊鎭�
+ *
+ * @param data
+ * @return
+ */
+ public String inWeightBill(InoutRecord data) {
+
+ // 鑾峰彇琛ㄥ崟鏁版嵁
+ InoutPrintBill bill = this.createBillData(data, "鍏ュ簱鍒掔爜鍗�");
+
+ // 璋冩暣妯$増鏁版嵁骞惰繑鍥�
+ String htmlStr = InoutBill.IN_WEIGHT_DEFAULT;
+
+ htmlStr = htmlStr.replace("billTitle", bill.getBillTitle());
+
+ htmlStr = htmlStr.replace("registerTime", bill.getRegisterTime());
+ htmlStr = htmlStr.replace("completeTime", bill.getCompleteTime());
+ htmlStr = htmlStr.replace("fullTime", bill.getFullTime());
+ htmlStr = htmlStr.replace("emptyTime", bill.getEmptyTime());
+ htmlStr = htmlStr.replace("serId", bill.getSerId());
+
+ htmlStr = htmlStr.replace("customerName", bill.getCustomerName());
+ htmlStr = htmlStr.replace("deptName", bill.getUnitName());
+
+ htmlStr = htmlStr.replace("driverName", bill.getDriverName());
+ htmlStr = htmlStr.replace("userNumberId", bill.getUserId());
+ htmlStr = htmlStr.replace("userContact", bill.getUserContact());
+ htmlStr = htmlStr.replace("userAddress", bill.getUserAddress());
+ htmlStr = htmlStr.replace("foodVariety", bill.getFoodVariety());
+ htmlStr = htmlStr.replace("depotName", bill.getDepotName());
+ htmlStr = htmlStr.replace("foodLocation", bill.getFoodLocation());
+
+ htmlStr = htmlStr.replace("plateNum", bill.getPlateNum());
+ htmlStr = htmlStr.replace("fullWeight",
+ new DecimalFormat("0.00").format(bill.getFullWeight()));
+ htmlStr = htmlStr.replace("emptyWeight",
+ new DecimalFormat("0.00").format(bill.getEmptyWeight()));
+ htmlStr = htmlStr.replace("netWeight",
+ new DecimalFormat("0.00").format(bill.getNetWeight()));
+
+ htmlStr = htmlStr.replace("deImpurity", bill.getDeImpurity() + "");
+ htmlStr = htmlStr.replace("deWet", bill.getDeWet() + "");
+
+ htmlStr = htmlStr.replace("recordWeight", new DecimalFormat("0.00").format(bill.getRecordWeight()));
+ htmlStr = htmlStr.replace("deCheck", bill.getDeCheck() + "");
+ htmlStr = htmlStr.replace("addCheck", bill.getAddCheck() + "");
+
+ htmlStr = htmlStr.replace("deSum", bill.getDeSum() + "");
+ htmlStr = htmlStr.replace("settleWeight",
+ new DecimalFormat("0.00").format(bill.getSettleWeight()));
+
+ htmlStr = htmlStr.replace("dePackage", bill.getDePackage() + "");
+ htmlStr = htmlStr.replace("deHandle", bill.getDeHandle() + "");
+ htmlStr = htmlStr.replace("deOther", bill.getDeOther() + "");
+ htmlStr = htmlStr.replace("price", bill.getPrice());
+ htmlStr = htmlStr.replace("settleMoney", bill.getSettleMoney() + "");
+ htmlStr = htmlStr.replace("wet", bill.getWet() + "");
+ htmlStr = htmlStr.replace("impurity", bill.getImpurity() + "");
+
+ htmlStr = htmlStr.replace("checkStatus", bill.getCheckStatus());
+ htmlStr = htmlStr.replace("remark", bill.getRemark());
+ htmlStr = htmlStr.replace("moneyName", bill.getMoneyName());
+
+ htmlStr = htmlStr.replace("unitName", bill.getUnitName());
+ htmlStr = htmlStr.replace("time", bill.getRegisterTime());
+ htmlStr = htmlStr.replace("handleStart", "");
+ htmlStr = htmlStr.replace("handleEnd", "");
+ htmlStr = htmlStr.replace("noticeId", bill.getNoticeId() == null ? "" : bill.getNoticeId());
+ htmlStr = htmlStr.replace("phone", data.getUserContact() == null ? "" : data.getUserContact() + "");
+ htmlStr = htmlStr.replace("printTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm"));
+
+ htmlStr = htmlStr.replaceAll("weightUser",
+ bill.getWeightUser() == null ? "" : bill.getWeightUser());
+ htmlStr = htmlStr.replaceAll("handleUser",
+ bill.getHandleUser() == null ? "" : bill.getHandleUser());
+ htmlStr = htmlStr.replaceAll("keeperName",
+ bill.getKeeperUser() == null ? "" : bill.getKeeperUser());
+
+
+ return htmlStr;
+ }
+
+ /**
+ * 鑾峰彇鍑哄簱杩囩鍗�
+ *
+ * @param data
+ * @return
+ */
+ public String outWeightBill(InoutRecord data) {
+ // 鑾峰彇琛ㄥ崟鏁版嵁
+ InoutPrintBill bill = this.createBillData(data, "鍑哄簱鍒掔爜鍗�");
+
+ //榛樿妯$増
+ String htmlStr = InoutBill.OUT_WEIGHT_DEFAULT;
+
+ htmlStr = htmlStr.replace("billTitle", bill.getBillTitle());
+
+ htmlStr = htmlStr.replace("registerTime", bill.getRegisterTime());
+ htmlStr = htmlStr.replace("completeTime", bill.getCompleteTime());
+ htmlStr = htmlStr.replace("fullTime", bill.getFullTime());
+ htmlStr = htmlStr.replace("emptyTime", bill.getEmptyTime());
+ htmlStr = htmlStr.replace("serId", bill.getSerId());
+
+ htmlStr = htmlStr.replace("customerName", bill.getCustomerName());
+ htmlStr = htmlStr.replace("deptName", bill.getUnitName());
+
+ htmlStr = htmlStr.replace("driverName", bill.getDriverName());
+ htmlStr = htmlStr.replace("userNumberId", bill.getUserId());
+ htmlStr = htmlStr.replace("userContact", bill.getUserContact());
+ htmlStr = htmlStr.replace("userAddress", bill.getUserAddress());
+ htmlStr = htmlStr.replace("foodVariety", bill.getFoodVariety());
+ htmlStr = htmlStr.replace("depotName", bill.getDepotName());
+ htmlStr = htmlStr.replace("foodLocation", bill.getFoodLocation());
+
+ htmlStr = htmlStr.replace("plateNum", bill.getPlateNum());
+ htmlStr = htmlStr.replace("fullWeight",
+ new DecimalFormat("0.00").format(bill.getFullWeight()));
+ htmlStr = htmlStr.replace("emptyWeight",
+ new DecimalFormat("0.00").format(bill.getEmptyWeight()));
+ htmlStr = htmlStr.replace("netWeight",
+ new DecimalFormat("0.00").format(bill.getNetWeight()));
+ htmlStr = htmlStr.replace("dePackage",
+ new DecimalFormat("0.00").format(bill.getDePackage()));
+ htmlStr = htmlStr.replace("remark", bill.getRemark());
+
+ htmlStr = htmlStr.replace("settleWeight",
+ new DecimalFormat("0.00").format(bill.getSettleWeight()));
+ htmlStr = htmlStr.replace("deHandle", bill.getDeHandle() + "");
+ htmlStr = htmlStr.replace("recordWeight", new DecimalFormat("0.00").format(bill.getRecordWeight()));
+ htmlStr = htmlStr.replace("deSum", bill.getDeSum() + "");
+ htmlStr = htmlStr.replace("deOther", bill.getDeOther() + "");
+ htmlStr = htmlStr.replace("price", bill.getPrice());
+ htmlStr = htmlStr.replace("settleMoney", bill.getSettleMoney() + "");
+ htmlStr = htmlStr.replace("wet", bill.getWet() + "");
+ htmlStr = htmlStr.replace("impurity", bill.getImpurity() + "");
+
+ htmlStr = htmlStr.replace("unitName", getValue(bill.getUnitName()));
+ htmlStr = htmlStr.replace("time", bill.getRegisterTime());
+ htmlStr = htmlStr.replace("handleStart", "");
+ htmlStr = htmlStr.replace("handleEnd", "");
+ htmlStr = htmlStr.replace("noticeId", bill.getNoticeId() == null ? "" : bill.getNoticeId());
+ htmlStr = htmlStr.replace("phone", data.getUserContact() == null ? "" : data.getUserContact() + "");
+ htmlStr = htmlStr.replace("printTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm"));
+
+ htmlStr = htmlStr.replaceAll("weightUser", getValue(bill.getWeightUser()));
+ htmlStr = htmlStr.replace("handleUser", getValue(bill.getHandleUser()));
+ htmlStr = htmlStr.replaceAll("keeperName", getValue(bill.getKeeperUser()));
+ return htmlStr;
+ }
+
+
+ public String getValue(String value) {
+ if (null == value) return "";
+ return value;
+ }
+
+ /**
+ * 灏佽杩囩鍗曟暟鎹�
+ *
+ * @param data
+ * @param billTitle
+ * @return
+ */
+ private InoutPrintBill createBillData(InoutRecord data, String billTitle) {
+ InoutPrintBill bill = new InoutPrintBill();
+
+ bill.setBillTitle(billTitle);
+
+ SysDept dept = sysDeptService.getCacheDept(data.getCompanyId(), data.getDeptId());
+ if (null != dept && StringUtils.isNotEmpty(dept.getDeptName())) {
+ bill.setBillTitle(dept.getDeptName() + billTitle);
+ bill.setDeptId(dept.getDeptId() + "");
+ bill.setDeptName(dept.getDeptName() + "");
+ bill.setUnitName(dept.getDeptName());
+ }
+
+ bill.setCompanyId(data.getCompanyId() == null ? "" : data
+ .getCompanyId());
+ if (null == data.getRegisterTime()) {
+ data.setRegisterTime(new Date());
+ }
+ bill.setRegisterTime(DateFormatUtils.format(data.getRegisterTime(),
+ "yyyy-MM-dd HH:mm"));
+
+ if (null == data.getCompleteTime()) {
+ data.setCompleteTime(new Date());
+ }
+ bill.setCompleteTime(DateFormatUtils.format(data.getCompleteTime(),
+ "yyyy-MM-dd HH:mm"));
+
+ bill.setEmptyTime(DateFormatUtils.format(data.getEmptyWeightTime(),
+ "yyyy-MM-dd HH:mm:ss"));
+ bill.setFullTime(DateFormatUtils.format(data.getFullWeightTime(),
+ "yyyy-MM-dd HH:mm:ss"));
+ bill.setSerId(data.getId());
+ if ("5016".equals(data.getCompanyId()) || "5347".equals(data.getCompanyId()) || "5352".equals(data.getCompanyId())) {
+ bill.setCompleteTime(DateFormatUtils.format(data.getCompleteTime(), "yyyy-MM-dd"));
+ bill.setSerId(data.getId().substring(2));
+
+ }
+
+ //瀹㈡埛淇℃伅
+ bill.setCustomerName(data.getCustomerName() == null ? "" : data.getCustomerName());
+ bill.setUserId(data.getUserId() == null ? "" : data.getUserId());
+ bill.setUserAddress(data.getUserAddress() == null ? "" : data.getUserAddress());
+ bill.setUserContact(data.getUserContact() == null ? "" : data.getUserContact());
+
+
+ bill.setNoticeId(data.getNoticeId());
+
+
+ bill.setDriverName(data.getUserName() == null ? "" : data.getUserName());
+
+ // 鑾峰彇浠撳簱淇℃伅
+ Depot depot = depotService.getCacheDepot(data.getCompanyId(),
+ data.getDepotId());
+ if (depot != null) {
+ bill.setDepotName(depot.getName() == null ? "" : depot.getName());
+ bill.setHandleUser(depot.getStoreKeeperName() == null ? "" : depot
+ .getStoreKeeperName());
+ }
+
+ bill.setFoodVariety(FoodVariety.getMsg(data.getFoodVariety()));
+ bill.setFoodLocation(data.getFoodLocation() == null ? "" : data
+ .getFoodLocation());
+ bill.setPlateNum(data.getPlateNum());
+
+ bill.setFullWeight(data.getFullWeight());
+ bill.setEmptyWeight(data.getEmptyWeight());
+ bill.setNetWeight(data.getNetWeight());
+ bill.setRecordWeight(data.getRecordWeight());
+ bill.setCheckStatus(data.getCheckStatus().equals(Constant.STATUS_CHECK) ? "鍚堟牸" : "涓嶅悎鏍�");
+
+ bill.setDeOther(data.getDeOther());
+ bill.setSettleWeight(data.getSettleWeight());
+
+ bill.setPrice(data.getPrice() == null ? "" : data.getPrice() + "");
+ if (data.getSettleMoney() <= 0) {
+ if (null != data.getPrice() && null != data.getRecordWeight()) {
+ data.setSettleMoney(NumberUtil.keepPrecision(data.getPrice() * data.getRecordWeight(), 2));
+ }
+ }
+ bill.setSettleMoney(data.getSettleMoney() == null ? "" : data.getSettleMoney() + "");
+ bill.setRemark(data.getRemarks() == null ? "" : data.getRemarks());
+
+ if (Constant.TYPE_IN.equals(data.getType())) {
+ bill.setWeightUser(data.getFullWeightUser());
+ }
+ if (Constant.TYPE_OUT.equals(data.getType())) {
+ bill.setWeightUser(data.getEmptyWeightUser());
+ }
+ bill.setHandleUser(data.getHandleUser());
+ bill.setKeeperUser(depot.getStoreKeeperName());
+ return bill;
+ }
+
}
diff --git a/fzzy-igdss-view/pom.xml b/fzzy-igdss-view/pom.xml
index 8bd8fd0..38c1a6e 100644
--- a/fzzy-igdss-view/pom.xml
+++ b/fzzy-igdss-view/pom.xml
@@ -96,11 +96,29 @@
</exclusions>
</dependency>
-<!-- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>2.6</version>
- </dependency>-->
+ <dependency>
+ <groupId>com.bstek.dorado</groupId>
+ <artifactId>dorado-uploader</artifactId>
+ <version>1.0.20</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>slf4j-jcl</artifactId>
+ <groupId>org.slf4j</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>slf4j-log4j12</artifactId>
+ <groupId>org.slf4j</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>log4j</artifactId>
+ <groupId>log4j</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>slf4j-jdk14</artifactId>
+ <groupId>org.slf4j</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>org.apache.commons</groupId>
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/FilePR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/FilePR.java
new file mode 100644
index 0000000..01613a6
--- /dev/null
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/FilePR.java
@@ -0,0 +1,78 @@
+package com.fzzy.igds;
+
+import com.bstek.dorado.annotation.DataProvider;
+import com.bstek.dorado.annotation.Expose;
+import com.fzzy.common.utils.Base64Util;
+import com.fzzy.igds.domain.FileInfo;
+import com.fzzy.igds.service.FileService;
+import com.fzzy.igds.utils.ContextUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description 鏂囦欢涓婁紶
+ * @Author CZT
+ * @Date 2025/11/29 11:02
+ */
+@Slf4j
+@Component
+public class FilePR {
+
+ @Resource
+ private FileService fileService;
+
+ /**
+ * filePR#parseExcel
+ *
+ * @param fileName
+ * @return
+ */
+ @Expose
+ public String parseExcel(String fileName) {
+ return fileName;
+ }
+
+ /**
+ * filePR#listFile 鏍规嵁鏉′欢鑾峰彇鍒楄〃鏁版嵁
+ *
+ * @param bizId
+ * @param bizId
+ * @return
+ */
+ @DataProvider
+ public List<FileInfo> listFile(String bizId) {
+ if (null == bizId){
+ return null;
+ }
+
+ return fileService.listFile(ContextUtil.getCompanyId(),ContextUtil.subDeptId(null), bizId, null);
+ }
+
+ /**
+ *
+ * filePR#getImg
+ * 鑾峰彇鍥剧墖淇℃伅
+ *
+ * @param file
+ * @return
+ */
+ @Expose
+ public Map<String, String> getImg(FileInfo file) {
+ Map<String, String> result = new HashMap<String, String>();
+ result.put("code", "SUCCESS");
+ String basePath = fileService.getFileSavePath("COMMON");
+
+ String imgData = Base64Util.getImageStr(basePath + file.getFileName());
+
+ if (null == imgData) {
+ result.put("code", "ERROR");
+ }
+ result.put("data", imgData);
+ return result;
+ }
+
+}
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/FileUploadManage.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/FileUploadManage.java
new file mode 100644
index 0000000..8066365
--- /dev/null
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/FileUploadManage.java
@@ -0,0 +1,94 @@
+package com.fzzy.igds;
+
+import com.bstek.dorado.uploader.UploadFile;
+import com.bstek.dorado.uploader.annotation.FileResolver;
+import com.fzzy.igds.service.FileService;
+import com.fzzy.igds.utils.ContextUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.time.DateFormatUtils;
+import org.springframework.stereotype.Component;
+import javax.annotation.Resource;
+import java.io.File;
+import java.io.IOException;
+import java.util.Date;
+import java.util.Map;
+
+
+/**
+ * @Description Dorado7 闄勪欢涓婁紶鍏叡绠$悊灞�
+ * @Author CZT
+ * @Date 2025/12/05 10:05
+ */
+@Slf4j
+@Component
+public class FileUploadManage {
+
+ @Resource
+ private FileService fileService;
+
+ /**
+ * 涓婁紶搴撳尯楦熺灠鍥�
+ * fileUploadManage#imgFile
+ *
+ * @param file
+ * @param parameter
+ * @return
+ */
+ @FileResolver
+ public String imgFile(UploadFile file, Map<String, Object> parameter) {
+
+ String fileId = null;
+ try {
+
+ String basePath = fileService.getFileSavePath("DEPT");
+
+ fileId = "aerial-" + ContextUtil.subDeptId(null)
+ + file.getFileName().substring(
+ file.getFileName().lastIndexOf("."));
+
+ file.transferTo(new File(basePath + fileId));
+
+ } catch (IllegalStateException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ return fileId;
+ }
+
+ /**
+ * 涓婁紶鍑哄叆搴撻檮浠�
+ * fileUploadManage#inoutFile
+ *
+ * @param file
+ * @param parameter
+ * @return
+ */
+ @FileResolver
+ public String inoutFile(UploadFile file, Map<String, Object> parameter) {
+ //娴佺▼
+ String bizTag = (String) parameter.get("bizTag");
+ String newFileName = null;
+ try {
+ String basePath = fileService.getFileSavePath("INOUT");
+ // 鑾峰彇鏂扮殑ID
+ newFileName = DateFormatUtils.format(new Date(), "yyyyMMddHHmmss");
+ if(StringUtils.isNotEmpty(bizTag)){
+ newFileName = bizTag + "_" + newFileName;
+ }
+ // 鏂囦欢鍚庣紑鍚�
+ String suffixName = file.getFileName().substring(file.getFileName().lastIndexOf("."));
+ // 鍚堟垚鏂扮殑鏂囦欢鍚�
+
+ newFileName = newFileName + suffixName;
+ file.transferTo(new File(basePath + newFileName));
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return newFileName;
+ }
+
+}
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java
new file mode 100644
index 0000000..46f4786
--- /dev/null
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java
@@ -0,0 +1,161 @@
+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.constant.Constant;
+import com.fzzy.igds.data.InoutData;
+import com.fzzy.igds.data.InoutParam;
+import com.fzzy.igds.domain.InoutRecord;
+import com.fzzy.igds.service.InoutRecordService;
+import com.fzzy.igds.utils.ContextUtil;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.Resource;
+import java.util.Date;
+
+/**
+ * @Description 鍑哄叆搴撹鍗曢〉闈㈢鐞�
+ * @Author CZT
+ * @Date 2025/12/05 10:40
+ */
+@Component
+public class InoutDataPR {
+
+ @Resource
+ private InoutRecordService inoutRecordService;
+
+ /**
+ * inoutDataPR#pageInoutData
+ *
+ * @param page
+ * @param param
+ * @throws Exception
+ */
+ @DataProvider
+ public void pageInoutData(Page<InoutRecord> page, InoutParam param) {
+ com.baomidou.mybatisplus.extension.plugins.pagination.Page<InoutRecord> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize());
+
+ if(null == param) {
+ param = new InoutParam();
+ }
+ inoutRecordService.listPageInout(corePage, param);
+
+ // 閲嶆柊灏佽
+ page.setEntities(corePage.getRecords());
+ page.setEntityCount(Integer.parseInt(String.valueOf(corePage.getTotal())));
+ }
+
+ /**
+ * 淇濆瓨鍑哄叆搴撴暟鎹� inoutDataPR#saveInoutData
+ */
+ @DataResolver
+ public String saveInoutData(InoutRecord data) {
+ if (Constant.RECORD_STATUS_DEL.equals(data.getRecordStatus())) {
+ return "绯荤粺锛氬凡缁忓垹闄ょ殑鏁版嵁涓嶆敮鎸佷慨鏀癸紒";
+ }
+ if (!Constant.PROGRESS_RECORD.equals(data.getProgress())) {
+ return "绯荤粺锛氭湭缁撴潫娴佺▼鐨勬暟鎹笉鏀寔淇敼锛�";
+ }
+ int i = inoutRecordService.updateInoutRecord(data);
+ if (i > 0) {
+ return null;
+ } else {
+ return "淇濆瓨澶辫触锛�";
+ }
+ }
+
+ /**
+ * inoutDataPR#errorInoutData 鍑哄叆搴撴暟鎹墽琛� 寮傚父缁堟
+ *
+ * @param data
+ * @return
+ * @throws Exception
+ */
+ @DataResolver
+ @Transactional
+ public String errorInoutData(InoutRecord data) {
+ return inoutRecordService.errorInoutData(data);
+ }
+
+ /**
+ * inoutDataPR#printWeightBill 鑾峰彇鎵撳嵃鍗曚俊鎭�
+ *
+ * @param data
+ * @return
+ * @throws Exception
+ */
+ @Expose
+ public String printWeightBill(InoutRecord data) {
+ if (Constant.RECORD_STATUS_DEL.equals(data.getRecordStatus())) {
+ return "鍒犻櫎鐨勬暟鎹笉鏀寔鎵撳嵃锛�";
+ }
+ if (!Constant.PROGRESS_RECORD.equals(data.getProgress())) {
+ return "鏈畬鎴愮殑鏁版嵁涓嶆敮鎸佹墦鍗帮紒";
+ }
+
+ if (Constant.TYPE_IN.equals(data.getType())) {
+ return inoutRecordService.inWeightBill(data);
+ } else {
+ return inoutRecordService.outWeightBill(data);
+ }
+ }
+
+
+ /**
+ * inoutDataPR#initDataByHand 鏂板
+ *
+ * @return
+ */
+ @DataProvider
+ public InoutData initDataByHand(String type) {
+ SysUser user = ContextUtil.getLoginUser();
+ InoutData data = new InoutData();
+ data.setCompanyId(user.getCompanyId());
+ data.setRegisterTime(new Date());
+ data.setType(type);
+ data.setRegisterUser(user.getUserName());
+ data.setDeptId(ContextUtil.subDeptId(user));
+ data.setCheckUser(user.getUserName());
+ data.setProgress(Constant.PROGRESS_RECORD);
+ data.setRecordStatus(Constant.RECORD_STATUS_ADD);
+ return data;
+ }
+
+ /**
+ * 琛ュ崟 inoutDataPR#addData
+ */
+ @DataResolver
+ public String addData(InoutData data) {
+ if (data.getSettleWeight() <= 0.0) {
+ return "绯荤粺锛氱粨绠楅噸閲忓繀椤诲ぇ浜�0";
+ }
+
+ return inoutRecordService.handAddInoutRecord(data);
+ }
+
+ /**
+ * inoutDataPR#printWeightBill 鑾峰彇鎵撳嵃鍗曚俊鎭�
+ *
+ * @param data
+ * @return
+ * @throws Exception
+ */
+ @Expose
+ public String printWeightBillHand(InoutData data) {
+ if (Constant.RECORD_STATUS_DEL.equals(data.getRecordStatus())) {
+ return "鍒犻櫎鐨勬暟鎹笉鏀寔鎵撳嵃锛�";
+ }
+ if (!Constant.PROGRESS_RECORD.equals(data.getProgress())) {
+ return "鏈畬鎴愮殑鏁版嵁涓嶆敮鎸佹墦鍗帮紒";
+ }
+
+ if (Constant.TYPE_IN.equals(data.getType())) {
+ return inoutRecordService.inWeightBill(data);
+ } else {
+ return inoutRecordService.outWeightBill(data);
+ }
+ }
+}
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutHand.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutHand.view.xml
new file mode 100644
index 0000000..ff21b6a
--- /dev/null
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutHand.view.xml
@@ -0,0 +1,944 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ViewConfig>
+ <Arguments/>
+ <Context/>
+ <Model>
+ <DataType name="dtMain">
+ <Property name="creationType">com.fzzy.igds.data.InoutData</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="progress">
+ <Property></Property>
+ <Property name="label">娴佺▼杩涘害</Property>
+ <Property name="mapping">
+ <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("PROCESS_STATUS_")}</Property>
+ <Property name="keyProperty">dictValue</Property>
+ <Property name="valueProperty">dictLabel</Property>
+ </Property>
+ </PropertyDef>
+ <PropertyDef name="recordStatus">
+ <Property></Property>
+ <Property name="label">鏁版嵁鐘舵��</Property>
+ <Property name="mapping">
+ <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("RECORD_STATUS")}</Property>
+ <Property name="keyProperty">dictValue</Property>
+ <Property name="valueProperty">dictLabel</Property>
+ </Property>
+ </PropertyDef>
+ <PropertyDef name="checkStatus">
+ <Property></Property>
+ <Property name="label">鎵︽牱缁撴灉</Property>
+ <Property name="mapping">
+ <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("CHECK_STATUS")}</Property>
+ <Property name="keyProperty">dictValue</Property>
+ <Property name="valueProperty">dictLabel</Property>
+ </Property>
+ </PropertyDef>
+ <PropertyDef name="registerTime">
+ <Property name="dataType">DateTime</Property>
+ <Property name="label">鐧昏鏃堕棿</Property>
+ </PropertyDef>
+ <PropertyDef name="registerUser">
+ <Property></Property>
+ <Property name="label">鐧昏浜哄憳</Property>
+ </PropertyDef>
+ <PropertyDef name="userName">
+ <Property></Property>
+ <Property name="label">鎵胯繍浜�</Property>
+ </PropertyDef>
+ <PropertyDef name="userId">
+ <Property></Property>
+ <Property name="label">韬唤璇佸彿</Property>
+ </PropertyDef>
+ <PropertyDef name="userContact">
+ <Property></Property>
+ <Property name="label">鑱旂郴鏂瑰紡</Property>
+ </PropertyDef>
+ <PropertyDef name="userAddress">
+ <Property></Property>
+ <Property name="label">鎵胯繍浜哄湴鍧�</Property>
+ </PropertyDef>
+ <PropertyDef name="plateNum">
+ <Property></Property>
+ <Property name="label">杞︾墝鍙�</Property>
+ </PropertyDef>
+ <PropertyDef name="customerName">
+ <Property></Property>
+ <Property name="label">寰�鏉ュ崟浣�</Property>
+ <Property name="required">true</Property>
+ </PropertyDef>
+ <PropertyDef name="foodLocation">
+ <Property></Property>
+ <Property name="label">绮浜у湴</Property>
+ </PropertyDef>
+ <PropertyDef name="foodYear">
+ <Property></Property>
+ <Property name="label">绮骞翠唤</Property>
+ </PropertyDef>
+ <PropertyDef name="deOther">
+ <Property name="dataType">Double</Property>
+ <Property name="label">鎵i噸</Property>
+ <Property name="displayFormat">0.0 KG</Property>
+ </PropertyDef>
+ <PropertyDef name="fullWeight">
+ <Property name="dataType">Double</Property>
+ <Property name="label">婊¤溅绉伴噸</Property>
+ <Property name="required">true</Property>
+ <Property name="displayFormat">0.0 KG</Property>
+ </PropertyDef>
+ <PropertyDef name="fullWeightTime">
+ <Property name="dataType">DateTime</Property>
+ <Property name="label">婊¤溅绉版椂闂�</Property>
+ </PropertyDef>
+ <PropertyDef name="fullWeightUser">
+ <Property></Property>
+ <Property name="label">婊¤溅绉伴噸浜�</Property>
+ </PropertyDef>
+ <PropertyDef name="emptyWeight">
+ <Property name="dataType">Double</Property>
+ <Property name="label">绌鸿溅绉伴噸</Property>
+ <Property name="required">true</Property>
+ <Property name="displayFormat">0.0 KG</Property>
+ </PropertyDef>
+ <PropertyDef name="emptyWeightTime">
+ <Property name="dataType">DateTime</Property>
+ <Property name="label">绌鸿溅绉版椂闂�</Property>
+ </PropertyDef>
+ <PropertyDef name="emptyWeightUser">
+ <Property></Property>
+ <Property name="label">绌鸿溅绉伴噸浜�</Property>
+ </PropertyDef>
+ <PropertyDef name="netWeight">
+ <Property name="dataType">Double</Property>
+ <Property name="label">鍑�閲�</Property>
+ <Property name="displayFormat">0.0 KG</Property>
+ </PropertyDef>
+ <PropertyDef name="settleWeight">
+ <Property name="dataType">Double</Property>
+ <Property name="label">缁撶畻鍑�閲�</Property>
+ <Property name="required">true</Property>
+ <Property name="displayFormat">0.0 KG</Property>
+ </PropertyDef>
+ <PropertyDef name="recordWeight">
+ <Property name="dataType">Double</Property>
+ <Property name="label">鍏ュ簱閲嶉噺</Property>
+ <Property name="displayFormat">0.0 KG</Property>
+ </PropertyDef>
+ <PropertyDef name="handleStart">
+ <Property name="dataType">Date</Property>
+ <Property name="label">鍊间粨寮�濮嬫椂闂�</Property>
+ </PropertyDef>
+ <PropertyDef name="handleEnd">
+ <Property name="dataType">Date</Property>
+ <Property name="label">鍊间粨缁撴潫鏃堕棿</Property>
+ </PropertyDef>
+ <PropertyDef name="handleUser">
+ <Property></Property>
+ <Property name="label">鍊间粨鎿嶄綔浜�</Property>
+ </PropertyDef>
+ <PropertyDef name="completeTime">
+ <Property name="dataType">DateTime</Property>
+ <Property name="label">瀹屾垚鏃堕棿</Property>
+ <Property name="required">true</Property>
+ </PropertyDef>
+ <PropertyDef name="completeUser">
+ <Property></Property>
+ <Property name="label">瀹屾垚纭浜�</Property>
+ </PropertyDef>
+ <PropertyDef name="remarks">
+ <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>
+ </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>
+ <Property name="required">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>
+ <Property name="required">true</Property>
+ </PropertyDef>
+ <PropertyDef name="type">
+ <Property name="label">鍑哄叆搴撶被鍨�</Property>
+ <Property name="mapping">
+ <Property name="mapValues">
+ <Collection>
+ <Entity>
+ <Property name="name">鍑哄簱</Property>
+ <Property name="value">OUT</Property>
+ </Entity>
+ <Entity>
+ <Property name="name">鍏ュ簱</Property>
+ <Property name="value">IN</Property>
+ </Entity>
+ </Collection>
+ </Property>
+ <Property name="keyProperty">value</Property>
+ <Property name="valueProperty">name</Property>
+ </Property>
+ </PropertyDef>
+ <PropertyDef name="foodLevel">
+ <Property></Property>
+ <Property name="label">绮绛夌骇</Property>
+ <Property name="mapping">
+ <Property name="mapValues">${dorado.getDataProvider("dicPR#triggerFoodLevel").getResult()}</Property>
+ <Property name="keyProperty">dictValue</Property>
+ <Property name="valueProperty">dictLabel</Property>
+ </Property>
+ </PropertyDef>
+ <PropertyDef name="checkUser">
+ <Property></Property>
+ <Property name="label">璐ㄦ浜�</Property>
+ </PropertyDef>
+ <PropertyDef name="price">
+ <Property name="dataType">double</Property>
+ <Property name="label">绮瀹氫环</Property>
+ <Property name="displayFormat">0.00 鍏�/鍏枻</Property>
+ </PropertyDef>
+ <PropertyDef name="noticeId">
+ <Property></Property>
+ <Property name="label">閫氱煡鍗曠紪鐮�</Property>
+ <Property name="readOnly">true</Property>
+ </PropertyDef>
+ <PropertyDef name="foodLocationId">
+ <Property></Property>
+ <Property name="label">浜у湴鍚嶇О浠g爜</Property>
+ </PropertyDef>
+ <PropertyDef name="checkTime">
+ <Property name="dataType">DateTime</Property>
+ <Property name="label">璐ㄦ鏃堕棿</Property>
+ </PropertyDef>
+ <PropertyDef name="perWet">
+ <Property name="dataType">Double</Property>
+ <Property name="label">姘村垎</Property>
+ <Property name="displayFormat">0.00 %</Property>
+ </PropertyDef>
+ <PropertyDef name="perImpurity">
+ <Property name="dataType">Double</Property>
+ <Property name="label">鏉傝川</Property>
+ <Property name="displayFormat">0.00 %</Property>
+ </PropertyDef>
+ <PropertyDef name="settleMoney">
+ <Property name="dataType">Double</Property>
+ <Property name="label">缁撶畻閲戦</Property>
+ <Property name="displayFormat">0.00 鍏�</Property>
+ </PropertyDef>
+ <PropertyDef name="settleTag">
+ <Property></Property>
+ <Property name="label">鏄惁缁撶畻</Property>
+ <Property name="mapping">
+ <Property name="mapValues">
+ <Collection>
+ <Entity>
+ <Property name="name">鏈粨绠�</Property>
+ <Property name="value">N</Property>
+ </Entity>
+ <Entity>
+ <Property name="name">宸茬粨绠�</Property>
+ <Property name="value">Y</Property>
+ </Entity>
+ </Collection>
+ </Property>
+ <Property name="keyProperty">value</Property>
+ <Property name="valueProperty">name</Property>
+ </Property>
+ </PropertyDef>
+ <PropertyDef name="settleTime">
+ <Property name="dataType">DateTime</Property>
+ <Property name="label">缁撶畻鏃堕棿</Property>
+ <Property name="readOnly">true</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>
+ <Reference name="files">
+ <Property name="dataProvider">filePR#listFile</Property>
+ <Property name="dataType">[dtFileData]</Property>
+ <Property name="parameter">$${this.id}</Property>
+ </Reference>
+ </DataType>
+ </Model>
+ <View layout="padding:10">
+ <ClientEvent name="onReady">var TYPE = "${request.getParameter('type')}";
+var PROGRESS = "WEIGHT_TAG";
+ 
+ /**
+ * 鍒锋柊椤甸潰
+ */
+ flush = function(){
+ view.get("#btnSave").set("disabled",false);
+ view.get("#btnPrintWeigh").set("disabled",true);
+ view.get("#dsMain").set("parameter",TYPE).flushAsync();
+ };
+ flush();
+ 
+ /**
+ * 鏁版嵁淇濆瓨鎻愪氦
+ */
+ save = function(){
+ var data = view.get("#dsMain.data");
+ if(data.validate() != 'ok'){
+ $alert("鏁版嵁楠岃瘉澶辫触锛岃鏌ョ湅銆愬熀纭�淇℃伅銆戙�愭墻鏍峰寲楠屼俊鎭�戜腑绾㈣壊鎻愰啋锛�");
+ return;
+ }
+ var netWeight = data.get("netWeight");
+ if(netWeight <= 0){
+ $alert("鏁版嵁楠岃瘉澶辫触锛屻�愬熀纭�淇℃伅銆�-缁撶畻閲嶉噺蹇呴』澶т簬0锛�");
+ return;
+ }
+ view.get("#uaSave").execute(function(result){
+ if(result){
+ $alert("淇濆瓨澶辫触锛�"+result);
+ }else{
+ view.get("#btnSave").set("disabled",true);
+ view.get("#btnPrintWeigh").set("disabled",false);
+ $alert("淇濆瓨鎴愬姛锛屽彲浠ヨ繘琛屾墦鍗板拰閲嶆柊鎻愭柊琛ㄥ崟锛�");
+ flush();
+ 
+ }
+ });
+ }
+ 
+ /**
+ * 鑷姩璁$畻
+ * @param name
+ */
+ deAutoByWeight = function () {
+ 
+ var curData = view.get("#dsMain.data:#");
+ var fullWeight = curData.get("fullWeight");
+ var emptyWeight = curData.get("emptyWeight");
+ //鎵i噸淇℃伅
+ var deOther = curData.get("deOther");
+ 
+ if (fullWeight == 0 || emptyWeight == 0) {
+ return;
+ }
+ // 鍑�閲�
+ var netWeight = Number(fullWeight) - Number(emptyWeight);
+ 
+ if (netWeight <= 0) {
+ $notify("鍑�閲嶅皬浜�0锛屽綋鍓嶇О閲嶅瓨鍦ㄩ�昏緫闂");
+ return;
+ }
+ 
+ /** 鍏ュ簱閲嶉噺 = 鍑�閲� - 鎬绘墸閲� */
+ recordWeight = Number(netWeight) - Number(deOther);
+ 
+ /** 缁撶畻閲嶉噺 = 鍑�閲� - 鎬绘墸閲� + 澧為噸 */
+ settleWeight = Number(recordWeight);
+ 
+ curData.set("netWeight", netWeight);
+ curData.set("settleWeight", settleWeight);
+ curData.set("recordWeight", recordWeight);
+ };
+ //鍒犻櫎闄勪欢
+ delFile = function(){
+ var entity = view.get("#dgFiles").getCurrentItem();
+ view.get("#ajaxDelFile").set("parameter",{
+ fileName:entity.get("fileName"),
+ createTime:entity.get("createTime")
+ }).execute(function(result){
+ if(result){
+ $alert(result);
+ }else{
+ entity.remove();
+ $alert("鍒犻櫎鎴愬姛锛�");
+ }
+ });
+ }</ClientEvent>
+ <Property name="packages">font-awesome,css-common</Property>
+ <Property name="javaScriptFile">./static/js/plugins/lodop/LodopFuncs.js</Property>
+ <DataSet id="dsMain">
+ <Property name="dataType">dtMain</Property>
+ <Property name="dataProvider">inoutDataPR#initDataByHand</Property>
+ <Property name="loadMode">manual</Property>
+ </DataSet>
+ <Container>
+ <Property name="className">c-data</Property>
+ <ToolBar>
+ <ToolBarButton id="btnSave">
+ <ClientEvent name="onClick">save();</ClientEvent>
+ <Property name="caption">鎻愪氦淇濆瓨</Property>
+ <Property name="exClassName">btn1</Property>
+ <Property name="width">100</Property>
+ <Property name="iconClass">fa fa-plus</Property>
+ </ToolBarButton>
+ <ToolBarButton id="btnPrintWeigh">
+ <ClientEvent name="onClick">printWeight();</ClientEvent>
+ <Property name="caption">鎵撳嵃杩囩鍗�</Property>
+ <Property name="exClassName">btn4</Property>
+ <Property name="iconClass">fa fa-print</Property>
+ <Property name="disabled">true</Property>
+ <Property name="width">120</Property>
+ </ToolBarButton>
+ <ToolBarButton>
+ <ClientEvent name="onClick">flush();</ClientEvent>
+ <Property name="caption">鍒锋柊椤甸潰</Property>
+ <Property name="exClassName">btn2</Property>
+ <Property name="iconClass">fa fa-refresh</Property>
+ </ToolBarButton>
+ </ToolBar>
+ </Container>
+ <Container>
+ <Property name="className">c-data</Property>
+ <TabControl id="tabControlMain" layoutConstraint="left">
+ <Property name="width">1300</Property>
+ <ControlTab>
+ <Property name="caption">鍩虹淇℃伅</Property>
+ <Property name="iconClass">fa fa-download</Property>
+ <Property name="width">150</Property>
+ <Property name="name">tabCommon</Property>
+ <Container>
+ <FieldSet layoutConstraint="padding:2" layout="padding:5">
+ <Property name="caption">鍩烘湰淇℃伅</Property>
+ <Buttons/>
+ <Children>
+ <AutoForm>
+ <Property name="dataSet">dsMain</Property>
+ <Property name="cols">*,*,*</Property>
+ <Property name="labelAlign">right</Property>
+ <Property name="labelSeparator">锛�</Property>
+ <Property name="labelWidth">100</Property>
+ <AutoFormElement>
+ <Property name="name">id</Property>
+ <Property name="property">id</Property>
+ <Editor>
+ <TextEditor>
+ <Property name="blankText">-- 绯荤粺鑷姩鐢熸垚 --</Property>
+ </TextEditor>
+ </Editor>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">plateNum</Property>
+ <Property name="property">plateNum</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">depotId</Property>
+ <Property name="property">depotId</Property>
+ <Property name="label">瑁呭嵏浠撳簱</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">userName</Property>
+ <Property name="property">userName</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">userId</Property>
+ <Property name="property">userId</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">foodVariety</Property>
+ <Property name="property">foodVariety</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">perWet</Property>
+ <Property name="property">perWet</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">userContact</Property>
+ <Property name="property">userContact</Property>
+ <Property name="label">鑱旂郴鐢佃瘽</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">foodLevel</Property>
+ <Property name="property">foodLevel</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">perImpurity</Property>
+ <Property name="property">perImpurity</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">foodYear</Property>
+ <Property name="property">foodYear</Property>
+ <Property name="trigger">yearDropDown</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">foodLocation</Property>
+ <Property name="property">foodLocation</Property>
+ <Property name="trigger">ddDicArea</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="label">瀹㈡埛鍚嶇О</Property>
+ <Property name="property">customerName</Property>
+ <Property name="editable">false</Property>
+ <Property name="trigger">ddNotice</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">noticeId</Property>
+ <Property name="property">noticeId</Property>
+ <Editor/>
+ </AutoFormElement>
+ </AutoForm>
+ </Children>
+ </FieldSet>
+ <FieldSet layoutConstraint="padding:2" layout="padding:5">
+ <Property name="caption">绉伴噸淇℃伅锛堝崟浣嶏細KG锛�</Property>
+ <Buttons/>
+ <Children>
+ <AutoForm>
+ <Property name="dataSet">dsMain</Property>
+ <Property name="cols">*,50,*,50,*,50</Property>
+ <Property name="labelAlign">right</Property>
+ <Property name="labelWidth">100</Property>
+ <Property name="labelSeparator">锛�</Property>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <ClientEvent name="onBlur">deAutoByWeight();</ClientEvent>
+ <Property name="name">fullWeight</Property>
+ <Property name="property">fullWeight</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">fullWeightTime</Property>
+ <Property name="property">fullWeightTime</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">fullWeightUser</Property>
+ <Property name="property">fullWeightUser</Property>
+ <Property name="label">婊¤溅绉伴噸浜�</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <ClientEvent name="onBlur">deAutoByWeight();</ClientEvent>
+ <Property name="name">emptyWeight</Property>
+ <Property name="property">emptyWeight</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">emptyWeightTime</Property>
+ <Property name="property">emptyWeightTime</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">emptyWeightUser</Property>
+ <Property name="property">emptyWeightUser</Property>
+ <Property name="label">绌鸿溅绉伴噸浜�</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">netWeight</Property>
+ <Property name="property">netWeight</Property>
+ <Property name="readOnly">true</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <ClientEvent name="onBlur">deAutoByWeight();</ClientEvent>
+ <Property name="name">deOther</Property>
+ <Property name="property">deOther</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">registerTime</Property>
+ <Property name="property">registerTime</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">settleWeight</Property>
+ <Property name="property">settleWeight</Property>
+ <Property name="readOnly">true</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">recordWeight</Property>
+ <Property name="property">recordWeight</Property>
+ <Property name="readOnly">true</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">completeTime</Property>
+ <Property name="property">completeTime</Property>
+ <Editor/>
+ </AutoFormElement>
+ </AutoForm>
+ </Children>
+ </FieldSet>
+ <FieldSet layoutConstraint="padding:2" layout="padding:5">
+ <Property name="caption">鍏朵粬淇℃伅</Property>
+ <Buttons/>
+ <Children>
+ <AutoForm>
+ <Property name="dataSet">dsMain</Property>
+ <Property name="cols">*,*,*</Property>
+ <Property name="labelAlign">right</Property>
+ <Property name="labelSeparator">锛�</Property>
+ <Property name="labelWidth">100</Property>
+ <AutoFormElement>
+ <Property name="name">price</Property>
+ <Property name="property">price</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">settleMoney</Property>
+ <Property name="property">settleMoney</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">settleTime</Property>
+ <Property name="property">settleTime</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:3">
+ <Property name="name">remarks</Property>
+ <Property name="property">remarks</Property>
+ <Editor/>
+ </AutoFormElement>
+ </AutoForm>
+ </Children>
+ </FieldSet>
+ </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 layoutConstraint="padding:10" layout="padding:5">
+ <Buttons>
+ <Button layoutConstraint="left">
+ <ClientEvent name="onClick">view.PROGRESS = "WEIGHT_EMPTY";
+ </ClientEvent>
+ <Property name="exClassName">btn1</Property>
+ <Property name="iconClass">fa fa-cloud-upload</Property>
+ <Property name="action">uploadImg</Property>
+ <Property name="caption">绌鸿溅绉扮収鐗�</Property>
+ <Property name="width">110</Property>
+ </Button>
+ <Button layoutConstraint="left">
+ <ClientEvent name="onClick">view.PROGRESS = "WEIGHT_FULL";
+ </ClientEvent>
+ <Property name="exClassName">btn2</Property>
+ <Property name="iconClass">fa fa-cloud-upload</Property>
+ <Property name="action">uploadImg1</Property>
+ <Property name="caption">婊¤溅绉扮収鐗�</Property>
+ <Property name="width">110</Property>
+ </Button>
+ <Button layoutConstraint="left">
+ <ClientEvent name="onClick">view.PROGRESS = "HANDLE";</ClientEvent>
+ <Property name="caption">鍊间粨鐓х墖</Property>
+ <Property name="exClassName">btn4</Property>
+ <Property name="iconClass">fa fa-cloud-upload</Property>
+ <Property name="action">uploadImg2</Property>
+ <Property name="width">110</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>
+ <DataColumn>
+ <ClientEvent name="onRenderCell">arg.dom.innerHTML = "<a href='javascript:;' onClick='delFile()'>鍒犻櫎</a>";
+ </ClientEvent>
+ <Property name="property">fileId</Property>
+ <Property name="name">fileId</Property>
+ <Property name="align">center</Property>
+ <Property name="caption">鎿嶄綔</Property>
+ <Property name="readOnly">true</Property>
+ <Property name="width">80</Property>
+ </DataColumn>
+ </DataGrid>
+ </Children>
+ </FieldSet>
+ </ControlTab>
+ </TabControl>
+ </Container>
+ <YearDropDown id="yearDropDown"/>
+ <UpdateAction id="uaSave">
+ <Property name="dataResolver">inoutDataPR#addData</Property>
+ <Property name="confirmMessage">纭畾瑕佹彁浜や箞锛�</Property>
+ <UpdateItem>
+ <Property name="dataSet">dsMain</Property>
+ <Property name="dataPath">[#current]</Property>
+ <Property name="validateData">false</Property>
+ </UpdateItem>
+ </UpdateAction>
+ <AjaxAction id="ajaxPrint">
+ <Property name="service">inoutDataPR#printWeightBillHand</Property>
+ <Property name="executingMessage">姝e湪鎵ц鎵撳嵃鈥︹��</Property>
+ <Property name="async">false</Property>
+ </AjaxAction>
+ <CustomDropDown id="ddNotice">
+ <Property name="minHeight">400</Property>
+ <Property name="assignmentMap">noticeId=id,customerName=customerName</Property>
+ <Property name="minWidth">1000</Property>
+ <Property name="autoOpen">true</Property>
+ <Container layout="regionPadding:5">
+ <DataSet id="dsNotice">
+ <Property name="dataProvider">inoutNoticePR#queryNoticeByKey</Property>
+ <Property name="parameter">
+ <Entity>
+ <Property name="type">${request.getParameter('type')}</Property>
+ </Entity>
+ </Property>
+ <Property name="dataType">[dtNoticeDto]</Property>
+ </DataSet>
+ <Container layout="hbox regionPadding:5">
+ <TextEditor id="key3">
+ <Property name="blankText"> -- 瀹㈡埛鍚嶇О鎴栫紪鐮� --</Property>
+ <Property name="width">200</Property>
+ </TextEditor>
+ <Button>
+ <ClientEvent name="onClick">var key = view.get("#key3.value");
+ var type = "${request.getParameter('type')}";
+ view.get("#dsNotice").set("parameter",{key: key,type: type}).flushAsync();</ClientEvent>
+ <Property name="caption">鏌ヨ</Property>
+ <Property name="exClassName">btn1</Property>
+ <Property name="iconClass">fa fa-search</Property>
+ </Button>
+ <Button>
+ <ClientEvent name="onClick">var data = view.get("#dsNotice.data:#");
+ if(data){
+ view.get("#ddNotice").close(data.toJSON());
+ }</ClientEvent>
+ <Property name="iconClass">fa fa-check</Property>
+ <Property name="exClassName">btn2</Property>
+ <Property name="caption">纭畾</Property>
+ </Button>
+ </Container>
+ <DataGrid>
+ <ClientEvent name="onDataRowDoubleClick">var data = view.get("#dsNotice.data:#");
+ if(data){
+ view.get("#ddNotice").close(data.toJSON());
+ }</ClientEvent>
+ <Property name="dataSet">dsNotice</Property>
+ <Property name="readOnly">true</Property>
+ <DataColumn name="name">
+ <Property name="property">name</Property>
+ <Property name="align">center</Property>
+ <Property name="width">100</Property>
+ </DataColumn>
+ <DataColumn>
+ <Property name="property">customerName</Property>
+ <Property name="align">center</Property>
+ <Property name="name">customerName</Property>
+ <Property name="width">240</Property>
+ </DataColumn>
+ <DataColumn name="foodVariety">
+ <Property name="property">foodVariety</Property>
+ <Property name="align">center</Property>
+ </DataColumn>
+ <DataColumn name="year">
+ <Property name="property">year</Property>
+ <Property name="align">center</Property>
+ </DataColumn>
+ <DataColumn name="contract">
+ <Property name="property">contract</Property>
+ <Property name="align">center</Property>
+ <Property name="width">300</Property>
+ </DataColumn>
+ </DataGrid>
+ </Container>
+ </CustomDropDown>
+ <CustomDropDown id="ddDicArea">
+ <Property name="minHeight">500</Property>
+ <Property name="minWidth">500</Property>
+ <Property name="assignmentMap">foodLocation=name,foodLocationId=code</Property>
+ <Container layout="regionPadding:5">
+ <DataSet id="dsDicArea">
+ <Property name="dataProvider">dicAreaPR#pageList</Property>
+ <Property name="parameter"></Property>
+ <Property name="dataType">[dtArea]</Property>
+ <Property name="pageSize">1000</Property>
+ </DataSet>
+ <Container layout="hbox regionPadding:5">
+ <TextEditor id="key2">
+ <Property name="blankText"> -鍚嶇О鎴栫畝鎷硷紝鍖椾含甯� bjs -</Property>
+ <Property name="width">200</Property>
+ </TextEditor>
+ <Button>
+ <ClientEvent name="onClick">var key = view.get("#key2.value");
+ view.get("#dsDicArea").set("parameter",{key:key}).flushAsync();</ClientEvent>
+ <Property name="caption">鏌ヨ</Property>
+ <Property name="iconClass">fa fa-search</Property>
+ <Property name="exClassName">btn1</Property>
+ </Button>
+ <Button>
+ <ClientEvent name="onClick">var data = view.get("#dsDicArea.data:#");
+ if(data){
+ view.get("#ddDicArea").close(data.toJSON());
+ }</ClientEvent>
+ <Property name="iconClass">fa fa-check</Property>
+ <Property name="exClassName">btn2</Property>
+ <Property name="caption">纭畾</Property>
+ </Button>
+ </Container>
+ <DataGrid>
+ <ClientEvent name="onDataRowDoubleClick">var data = view.get("#dsDicArea.data:#");
+ if(data){
+ view.get("#ddDicArea").close(data.toJSON());
+ }</ClientEvent>
+ <Property name="dataSet">dsDicArea</Property>
+ <Property name="readOnly">true</Property>
+ <DataColumn name="name">
+ <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = "bold";
+ arg.processDefault = true;</ClientEvent>
+ <Property name="property">name</Property>
+ <Property name="readOnly">true</Property>
+ <Property name="align">center</Property>
+ </DataColumn>
+ <DataColumn name="code">
+ <Property name="property">code</Property>
+ <Property name="readOnly">true</Property>
+ <Property name="align">center</Property>
+ </DataColumn>
+ <DataColumn name="simple">
+ <Property name="property">simple</Property>
+ <Property name="readOnly">true</Property>
+ <Property name="align">center</Property>
+ </DataColumn>
+ </DataGrid>
+ <DataPilot layoutConstraint="bottom">
+ <Property name="dataSet">dsDicArea</Property>
+ </DataPilot>
+ </Container>
+ </CustomDropDown>
+ <UploadAction id="uploadImg">
+ <ClientEvent name="beforeFileUploaded">var data = view.get("#dsMain.data:#")
;
+ var bizTag = "EMPTY";
+ self.set("parameter",{
+ bizTag: bizTag
+ })</ClientEvent>
+ <ClientEvent name="onFileUploaded">//闄勪欢涓婁紶瀹屾垚鍚庢坊鍔犱笟鍔℃暟鎹�
+ var mainData = view.get("#dsMain.data");
+ var fileName = arg.returnValue;
+ var files = mainData.get("files");
+ files.insert({bizTag:view.PROGRESS,fileName:fileName,createTime:new Date()});</ClientEvent>
+ <ClientEvent name="beforeFileUploaded">var data = view.get("#dsMain.data:#")
+ if(data){
+ var plateNum = data.get("plateNum");
+ var bizTag = "EMPTY";
+ self.set("parameter",{
+ bizTag:bizTag
+ })
+ }</ClientEvent>
+ <Property name="maxFileSize">20MB</Property>
+ <Property name="successMessage">涓婁紶鎴愬姛</Property>
+ <Property name="parameter"></Property>
+ <Property name="fileResolver">fileUploadManage#inoutFile</Property>
+ <Filters/>
+ </UploadAction>
+ <UploadAction id="uploadImg1">
+ <ClientEvent name="beforeFileUploaded">var data = view.get("#dsMain.data:#")
+ 
+ var bizTag = "FULL";
+ self.set("parameter",{
+ bizTag: bizTag
+ })</ClientEvent>
+ <ClientEvent name="onFileUploaded">//闄勪欢涓婁紶瀹屾垚鍚庢坊鍔犱笟鍔℃暟鎹�
+ var mainData = view.get("#dsMain.data");
+ var fileName = arg.returnValue;
+ var files = mainData.get("files");
+ files.insert({bizTag:view.PROGRESS,fileName:fileName});</ClientEvent>
+ <ClientEvent name="beforeFileUploaded">var data = view.get("#dsMain.data:#")
+ if(data){
+ var bizTag = "FULL";
+ self.set("parameter",{
+ bizTag:bizTag
+ })
+ }</ClientEvent>
+ <Property name="maxFileSize">20MB</Property>
+ <Property name="successMessage">涓婁紶鎴愬姛</Property>
+ <Property name="parameter"></Property>
+ <Property name="fileResolver">fileUploadManage#inoutFile</Property>
+ <Filters/>
+ </UploadAction>
+ <UploadAction id="uploadImg2">
+ <ClientEvent name="beforeFileUploaded">var data = view.get("#dsMain.data:#")
+ 
+ var plateNum = data.get("plateNum");
+ var bizTag = "HANDLE";
+ self.set("parameter",{
+ bizTag: bizTag
+ })</ClientEvent>
+ <ClientEvent name="onFileUploaded">//闄勪欢涓婁紶瀹屾垚鍚庢坊鍔犱笟鍔℃暟鎹�
+ var mainData = view.get("#dsMain.data");
+ var fileName = arg.returnValue;
+ var files = mainData.get("files");
+ files.insert({bizTag:view.PROGRESS,fileName:fileName});</ClientEvent>
+ <ClientEvent name="beforeFileUploaded">var data = view.get("#dsMain.data:#")
+ if(data){
+ var plateNum = data.get("plateNum");
+ var bizTag = "HANDLE";
+ self.set("parameter",{
+ bizTag:bizTag
+ })
+ }</ClientEvent>
+ <Property name="maxFileSize">20MB</Property>
+ <Property name="successMessage">涓婁紶鎴愬姛</Property>
+ <Property name="parameter"></Property>
+ <Property name="fileResolver">fileUploadManage#inoutFile</Property>
+ <Filters/>
+ </UploadAction>
+ <AjaxAction id="ajaxDelFile">
+ <Property name="service">fileUploadManage#delInoutFile</Property>
+ <Property name="async">true</Property>
+ <Property name="confirmMessage">纭畾瑕佸垹闄や箞锛�</Property>
+ </AjaxAction>
+ </View>
+</ViewConfig>
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutList.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutList.view.xml
new file mode 100644
index 0000000..6afd1cd
--- /dev/null
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutList.view.xml
@@ -0,0 +1,1165 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ViewConfig>
+ <Arguments/>
+ <Context/>
+ <Model>
+ <DataType name="dtMain">
+ <Property name="creationType">com.fzzy.igds.domain.InoutRecord</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="progress">
+ <Property></Property>
+ <Property name="label">娴佺▼杩涘害</Property>
+ <Property name="mapping">
+ <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("PROCESS_STATUS_")}</Property>
+ <Property name="keyProperty">dictValue</Property>
+ <Property name="valueProperty">dictLabel</Property>
+ </Property>
+ </PropertyDef>
+ <PropertyDef name="recordStatus">
+ <Property></Property>
+ <Property name="label">鏁版嵁鐘舵��</Property>
+ <Property name="mapping">
+ <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("RECORD_STATUS")}</Property>
+ <Property name="keyProperty">dictValue</Property>
+ <Property name="valueProperty">dictLabel</Property>
+ </Property>
+ </PropertyDef>
+ <PropertyDef name="checkStatus">
+ <Property></Property>
+ <Property name="label">鎵︽牱缁撴灉</Property>
+ <Property name="mapping">
+ <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("CHECK_STATUS")}</Property>
+ <Property name="keyProperty">dictValue</Property>
+ <Property name="valueProperty">dictLabel</Property>
+ </Property>
+ </PropertyDef>
+ <PropertyDef name="registerTime">
+ <Property name="dataType">DateTime</Property>
+ <Property name="label">鐧昏鏃堕棿</Property>
+ </PropertyDef>
+ <PropertyDef name="registerUser">
+ <Property></Property>
+ <Property name="label">鐧昏浜哄憳</Property>
+ </PropertyDef>
+ <PropertyDef name="userName">
+ <Property></Property>
+ <Property name="label">鎵胯繍浜�</Property>
+ </PropertyDef>
+ <PropertyDef name="userId">
+ <Property></Property>
+ <Property name="label">韬唤璇佸彿</Property>
+ </PropertyDef>
+ <PropertyDef name="userContact">
+ <Property></Property>
+ <Property name="label">鑱旂郴鏂瑰紡</Property>
+ </PropertyDef>
+ <PropertyDef name="userAddress">
+ <Property></Property>
+ <Property name="label">鎵胯繍浜哄湴鍧�</Property>
+ </PropertyDef>
+ <PropertyDef name="plateNum">
+ <Property></Property>
+ <Property name="label">杞︾墝鍙�</Property>
+ <Property name="readOnly">true</Property>
+ </PropertyDef>
+ <PropertyDef name="customerName">
+ <Property></Property>
+ <Property name="label">寰�鏉ュ崟浣�</Property>
+ <Property name="required">true</Property>
+ </PropertyDef>
+ <PropertyDef name="foodLocation">
+ <Property></Property>
+ <Property name="label">绮浜у湴</Property>
+ </PropertyDef>
+ <PropertyDef name="foodYear">
+ <Property></Property>
+ <Property name="label">绮骞翠唤</Property>
+ </PropertyDef>
+ <PropertyDef name="deOther">
+ <Property name="dataType">Double</Property>
+ <Property name="label">鎵i噸</Property>
+ <Property name="displayFormat">0.0 KG</Property>
+ </PropertyDef>
+ <PropertyDef name="fullWeight">
+ <Property name="dataType">Double</Property>
+ <Property name="label">婊¤溅绉伴噸</Property>
+ <Property name="required">true</Property>
+ <Property name="displayFormat">0.0 KG</Property>
+ </PropertyDef>
+ <PropertyDef name="fullWeightTime">
+ <Property name="dataType">DateTime</Property>
+ <Property name="label">婊¤溅绉版椂闂�</Property>
+ </PropertyDef>
+ <PropertyDef name="fullWeightUser">
+ <Property></Property>
+ <Property name="label">婊¤溅绉伴噸浜�</Property>
+ </PropertyDef>
+ <PropertyDef name="emptyWeight">
+ <Property name="dataType">Double</Property>
+ <Property name="label">绌鸿溅绉伴噸</Property>
+ <Property name="required">true</Property>
+ <Property name="displayFormat">0.0 KG</Property>
+ </PropertyDef>
+ <PropertyDef name="emptyWeightTime">
+ <Property name="dataType">DateTime</Property>
+ <Property name="label">绌鸿溅绉版椂闂�</Property>
+ </PropertyDef>
+ <PropertyDef name="emptyWeightUser">
+ <Property></Property>
+ <Property name="label">绌鸿溅绉伴噸浜�</Property>
+ </PropertyDef>
+ <PropertyDef name="netWeight">
+ <Property name="dataType">Double</Property>
+ <Property name="label">鍑�閲�</Property>
+ <Property name="displayFormat">0.0 KG</Property>
+ </PropertyDef>
+ <PropertyDef name="settleWeight">
+ <Property name="dataType">Double</Property>
+ <Property name="label">缁撶畻鍑�閲�</Property>
+ <Property name="required">true</Property>
+ <Property name="displayFormat">0.0 KG</Property>
+ </PropertyDef>
+ <PropertyDef name="recordWeight">
+ <Property name="dataType">Double</Property>
+ <Property name="label">鍏ュ簱閲嶉噺</Property>
+ <Property name="displayFormat">0.0 KG</Property>
+ </PropertyDef>
+ <PropertyDef name="handleStart">
+ <Property name="dataType">Date</Property>
+ <Property name="label">鍊间粨寮�濮嬫椂闂�</Property>
+ </PropertyDef>
+ <PropertyDef name="handleEnd">
+ <Property name="dataType">Date</Property>
+ <Property name="label">鍊间粨缁撴潫鏃堕棿</Property>
+ </PropertyDef>
+ <PropertyDef name="handleUser">
+ <Property></Property>
+ <Property name="label">鍊间粨鎿嶄綔浜�</Property>
+ </PropertyDef>
+ <PropertyDef name="completeTime">
+ <Property name="dataType">DateTime</Property>
+ <Property name="label">瀹屾垚鏃堕棿</Property>
+ <Property name="required">true</Property>
+ </PropertyDef>
+ <PropertyDef name="completeUser">
+ <Property></Property>
+ <Property name="label">瀹屾垚纭浜�</Property>
+ </PropertyDef>
+ <PropertyDef name="remarks">
+ <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>
+ </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>
+ <Property name="required">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>
+ <Property name="required">true</Property>
+ </PropertyDef>
+ <PropertyDef name="type">
+ <Property name="label">鍑哄叆搴撶被鍨�</Property>
+ <Property name="mapping">
+ <Property name="mapValues">
+ <Collection>
+ <Entity>
+ <Property name="name">鍑哄簱</Property>
+ <Property name="value">OUT</Property>
+ </Entity>
+ <Entity>
+ <Property name="name">鍏ュ簱</Property>
+ <Property name="value">IN</Property>
+ </Entity>
+ </Collection>
+ </Property>
+ <Property name="keyProperty">value</Property>
+ <Property name="valueProperty">name</Property>
+ </Property>
+ </PropertyDef>
+ <PropertyDef name="foodLevel">
+ <Property></Property>
+ <Property name="label">绮绛夌骇</Property>
+ <Property name="mapping">
+ <Property name="mapValues">${dorado.getDataProvider("dicPR#triggerFoodLevel").getResult()}</Property>
+ <Property name="keyProperty">dictValue</Property>
+ <Property name="valueProperty">dictLabel</Property>
+ </Property>
+ </PropertyDef>
+ <PropertyDef name="checkUser">
+ <Property></Property>
+ <Property name="label">璐ㄦ浜�</Property>
+ </PropertyDef>
+ <PropertyDef name="price">
+ <Property name="dataType">double</Property>
+ <Property name="label">绮瀹氫环</Property>
+ <Property name="displayFormat">0.00 鍏�/鍏枻</Property>
+ </PropertyDef>
+ <PropertyDef name="noticeId">
+ <Property></Property>
+ <Property name="label">閫氱煡鍗曠紪鐮�</Property>
+ <Property name="readOnly">true</Property>
+ </PropertyDef>
+ <PropertyDef name="foodLocationId">
+ <Property></Property>
+ <Property name="label">浜у湴鍚嶇О浠g爜</Property>
+ </PropertyDef>
+ <PropertyDef name="checkTime">
+ <Property name="dataType">DateTime</Property>
+ <Property name="label">璐ㄦ鏃堕棿</Property>
+ </PropertyDef>
+ <PropertyDef name="perWet">
+ <Property name="dataType">Double</Property>
+ <Property name="label">姘村垎</Property>
+ <Property name="displayFormat">0.00 %</Property>
+ </PropertyDef>
+ <PropertyDef name="perImpurity">
+ <Property name="dataType">Double</Property>
+ <Property name="label">鏉傝川</Property>
+ <Property name="displayFormat">0.00 %</Property>
+ </PropertyDef>
+ <PropertyDef name="settleMoney">
+ <Property name="dataType">Double</Property>
+ <Property name="label">缁撶畻閲戦</Property>
+ <Property name="displayFormat">0.00 鍏�</Property>
+ </PropertyDef>
+ <PropertyDef name="settleTag">
+ <Property></Property>
+ <Property name="label">鏄惁缁撶畻</Property>
+ <Property name="mapping">
+ <Property name="mapValues">
+ <Collection>
+ <Entity>
+ <Property name="name">鏈粨绠�</Property>
+ <Property name="value">N</Property>
+ </Entity>
+ <Entity>
+ <Property name="name">宸茬粨绠�</Property>
+ <Property name="value">Y</Property>
+ </Entity>
+ </Collection>
+ </Property>
+ <Property name="keyProperty">value</Property>
+ <Property name="valueProperty">name</Property>
+ </Property>
+ </PropertyDef>
+ <PropertyDef name="settleTime">
+ <Property name="dataType">DateTime</Property>
+ <Property name="label">缁撶畻鏃堕棿</Property>
+ <Property name="readOnly">true</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>
+ <DataType name="dtQuery">
+ <Property name="creationType">com.fzzy.igds.data.InoutParam</Property>
+ <PropertyDef name="type">
+ <Property name="label">鍑哄叆搴撶被鍨�</Property>
+ </PropertyDef>
+ <PropertyDef name="deptId">
+ <Property></Property>
+ <Property name="label">鎵�灞炲垎搴�</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="plateNum">
+ <Property name="label">杞︾墝鍙峰彿</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="progress">
+ <Property></Property>
+ <Property name="label">娴佺▼杩涘害</Property>
+ <Property name="mapping">
+ <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("PROCESS_STATUS_")}</Property>
+ <Property name="keyProperty">dictValue</Property>
+ <Property name="valueProperty">dictLabel</Property>
+ </Property>
+ </PropertyDef>
+ <PropertyDef name="recordStatus">
+ <Property></Property>
+ <Property name="label">鍗曟嵁鐘舵��</Property>
+ <Property name="mapping">
+ <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("RECORD_STATUS")}</Property>
+ <Property name="keyProperty">dictValue</Property>
+ <Property name="valueProperty">dictLabel</Property>
+ </Property>
+ </PropertyDef>
+ <PropertyDef name="start">
+ <Property name="label">寮�濮嬫椂闂�</Property>
+ <Property name="dataType">Date</Property>
+ </PropertyDef>
+ <PropertyDef name="end">
+ <Property name="label">鎴鏃堕棿</Property>
+ <Property name="dataType">Date</Property>
+ </PropertyDef>
+ </DataType>
+ </Model>
+ <View layout="padding:10">
+ <ClientEvent name="onReady">var TYPE = "${request.getParameter('type')}";
+var EDIT = "${request.getParameter('edit')}";
+var deptId = window.parent.DEPT_ID;//鐖堕〉闈腑鐨勫垎搴撶紪鐮�
+
+//濡傛灉edit鏈夊�艰〃绀洪殣钘廇DD鍜岀紪杈戞寜閽�
+if(EDIT){
+ view.get("#btnEdit").set("visible",false);
+ view.get("#btnDel").set("visible",false);
+}
+
+if("OUT" == TYPE){
+ view.get("#recordWeight").set("caption","鍑哄簱閲嶉噺");
+}else{
+ view.get("#recordWeight").set("caption","鍏ュ簱閲嶉噺");
+}
+
+//榛樿鏌ヨ鏌ヨ鎻愭潯浠�
+view.get("#dsQuery").insert({
+ type:TYPE,
+ deptId:deptId
+});
+
+//鏌ヨ
+query = function(){
+ var data = view.get("#dsQuery.data");
+ view.get("#dsMain").set("parameter",data).flushAsync();
+};
+query();
+
+
+//缂栬緫锛屽彧鏈夋祦绋嬬粨鏉熺殑鎵嶅彲浠ヤ慨鏀�
+edit = function(){
+ 
+ var select = view.get("#dataGridMain").get("selection");
+ if(select){
+ console.log(select);
+ view.get("#dialogMain").show();;
+ }else{
+ $notify("璇烽�夋嫨闇�瑕佷慨鏀圭殑鏁版嵁鈥︹��");
+ } 
+};
+
+
+//寮傚父鎿嶄綔
+showAbnormal = function(){ 
+ var select = view.get("#dataGridMain").get("selection");
+ if(select){
+ view.get("#dialogAbnormal").show();
+ view.get("#textAbnormal").set("value",null);
+ }else{
+ $notify("璇烽�夋嫨鏁版嵁鈥︹��");
+ } 
+};
+
+//杩借釜
+showImg = function(){
+ 
+ var select = view.get("#dataGridMain").get("selection");
+ if(select){
+ var user = encodeURIComponent(select.get("userName"));
+ var plateNum = encodeURIComponent(select.get("plateNum"));
+ 
+ view.get("#iFrameImg").set("path", "./basic/inout/inout-img?id=" + select.get("id")+"&plateNum="+plateNum+"&user="+user);
+ view.get("#dialogImg").show();
+ }else{
+ $notify("璇烽�夋嫨鏁版嵁鈥︹��");
+ }
+};
+
+//寮傚父鎵ц
+todoError = function(){
+ var data = view.get("#dataGridMain.currentEntity");
+ if(!data) return;
+ 
+ var textError = view.get("#textAbnormal.text");
+ if(!textError){
+ $alert("璇疯鏄庡紓甯哥粓姝㈠師鍥狅紒锛�");
+ return;
+ }
+ data.set("remarks",textError);
+ view.get("#ajaxError").execute(function(result){
+ if(result){
+ $alert(result);
+ return;
+ }else{
+ data.remove();
+ view.get("#dialogAbnormal").close();
+ $alert("鎵ц鎴愬姛锛岃嚜鍔ㄥ埛鏂版暟鎹紒");
+ }
+ });
+};
+
+/**
+ * 鎵撳嵃杩囩鍗�
+ */
+printBill = function (htmlStr) {
+ var LODOP = CLODOP;
+ LODOP.PRINT_INIT("绉伴噸鍗�");
+ LODOP.SET_PRINT_PAGESIZE(1, 2100, 1400, "A4");
+ //LODOP.SET_PRINT_PAGESIZE(1, 0, '90mm', "A4");
+ LODOP.ADD_PRINT_HTM(0, 0, "100%", "100%", htmlStr);
+ LODOP.PREVIEW();
+};
+
+//鎵撳嵃杩囩鍗�
+printWeight = function () {
+ var data = view.get("#dataGridMain").get("selection");
+ if (!data) return;
+ if ("DEL" == data.get("recordStatus")) {
+ $alert("寮傚父澶勭悊鐨勪俊鎭笉鏀寔鎵撳嵃锛�");
+ return;
+ }
+ if ("RECORD" != data.get("progress")) {
+ $alert("娴佺▼鏈畬鎴愪笉鏀寔鎵撳嵃锛�");
+ return;
+ }
+ view.get("#ajaxPrint").set("parameter", data).execute(function (result) {
+ printBill(result);
+ });
+};
+
+/**
+ * 鑷姩璁$畻
+ * @param name
+ */
+deAutoByWeight = function () {
+
+ var curData = view.get("#dsMain.data:#");
+ var fullWeight = curData.get("fullWeight");
+ var emptyWeight = curData.get("emptyWeight");
+ //鎵i噸淇℃伅
+ var deOther = curData.get("deOther");
+
+ if (fullWeight == 0 || emptyWeight == 0) {
+ return;
+ }
+ // 鍑�閲�
+ var netWeight = Number(fullWeight) - Number(emptyWeight);
+
+ if (netWeight <= 0) {
+ $notify("鍑�閲嶅皬浜�0锛屽綋鍓嶇О閲嶅瓨鍦ㄩ�昏緫闂");
+ return;
+ }
+
+ /** 鍏ュ簱閲嶉噺 = 鍑�閲� - 鎬绘墸閲� */
+ recordWeight = Number(netWeight) - Number(deOther);
+
+ /** 缁撶畻閲嶉噺 = 鍑�閲� - 鎬绘墸閲� + 澧為噸 */
+ settleWeight = Number(recordWeight);
+
+ curData.set("netWeight", netWeight);
+ curData.set("settleWeight", settleWeight);
+ curData.set("recordWeight", recordWeight);
+};
+</ClientEvent>
+ <Property name="packages">font-awesome,css-common</Property>
+ <Property name="javaScriptFile">./static/js/plugins/lodop/LodopFuncs.js</Property>
+ <DataSet id="dsMain">
+ <Property name="dataType">[dtMain]</Property>
+ <Property name="pageSize">20</Property>
+ <Property name="dataProvider">inoutDataPR#pageInoutData</Property>
+ <Property name="loadMode">manual</Property>
+ </DataSet>
+ <DataSet id="dsQuery">
+ <Property name="dataType">dtQuery</Property>
+ </DataSet>
+ <Container>
+ <Property name="className">c-param</Property>
+ <AutoForm>
+ <Property name="cols">*,*,*,*,90,90</Property>
+ <Property name="dataSet">dsQuery</Property>
+ <Property name="labelAlign">right</Property>
+ <Property name="labelWidth">100</Property>
+ <AutoFormElement>
+ <Property name="name">depotId</Property>
+ <Property name="property">depotId</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">plateNum</Property>
+ <Property name="property">plateNum</Property>
+ <Editor>
+ <TextEditor>
+ <Property name="blankText">-- 鏀寔妯$硦 --</Property>
+ </TextEditor>
+ </Editor>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">start</Property>
+ <Property name="property">start</Property>
+ <Property name="trigger">defaultDateDropDown</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">end</Property>
+ <Property name="property">end</Property>
+ <Property name="trigger">defaultDateDropDown</Property>
+ <Editor/>
+ </AutoFormElement>
+ <Button layoutConstraint="left">
+ <ClientEvent name="onClick">query();
+ </ClientEvent>
+ <Property name="caption">鎼滅储</Property>
+ <Property name="iconClass">fa fa-search</Property>
+ <Property name="exClassName">btn-q1</Property>
+ </Button>
+ <Button layoutConstraint="left">
+ <ClientEvent name="onClick">var type ="${request.getParameter('type')}";
+ var deptId = window.parent.DEPT_ID;//鐖堕〉闈腑鐨勫垎搴撶紪鐮�
+ view.get("#dsQuery").setData({type:type,deptId:deptId});</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 id="btnEdit">
+ <ClientEvent name="onClick">edit();</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 id="btnDel">
+ <ClientEvent name="onClick">showAbnormal();</ClientEvent>
+ <Property name="caption">寮傚父鎿嶄綔</Property>
+ <Property name="exClassName">btn4</Property>
+ <Property name="iconClass">fa fa-minus</Property>
+ <Property name="width">100</Property>
+ </ToolBarButton>
+ <ToolBarButton>
+ <ClientEvent name="onClick">showImg();</ClientEvent>
+ <Property name="caption">杩囩▼杩借釜</Property>
+ <Property name="exClassName">btn1</Property>
+ <Property name="width">100</Property>
+ <Property name="iconClass">fa fa-picture-o</Property>
+ </ToolBarButton>
+ <ToolBarButton>
+ <ClientEvent name="onClick">var data = view.get("#dataGridMain").get("selection");
+ if (!data) {
+ $alert("璇峰厛閫夋嫨鏁版嵁锛�");
+ return;
+ }
+ 
+ printWeight();
+ </ClientEvent>
+ <Property name="caption">鎵撳嵃杩囩鍗�</Property>
+ <Property name="exClassName">btn4</Property>
+ <Property name="iconClass">fa fa-print</Property>
+ <Property name="width">120</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="readOnly">true</Property>
+ <Property name="selectionMode">singleRow</Property>
+ <RowSelectorColumn/>
+ <RowNumColumn>
+ <Property name="width">50</Property>
+ </RowNumColumn>
+ <DataColumn name="id">
+ <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = "bold";
+arg.dom.style.color = "#f67d06";
+arg.processDefault = true;</ClientEvent>
+ <Property name="property">id</Property>
+ <Property name="align">center</Property>
+ <Property name="width">150</Property>
+ </DataColumn>
+ <DataColumn name="plateNum">
+ <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = "bold";
+arg.processDefault = true;</ClientEvent>
+ <Property name="property">plateNum</Property>
+ <Property name="align">center</Property>
+ <Property name="width">130</Property>
+ </DataColumn>
+ <DataColumn>
+ <Property name="property">customerName</Property>
+ <Property name="name">customerName</Property>
+ <Property name="align">center</Property>
+ <Property name="caption">寰�鏉ュ崟浣�</Property>
+ </DataColumn>
+ <DataColumn name="depotId">
+ <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = "bold";
+arg.processDefault = true;</ClientEvent>
+ <Property name="property">depotId</Property>
+ <Property name="align">center</Property>
+ <Property name="width">120</Property>
+ </DataColumn>
+ <DataColumn name="foodVariety">
+ <Property name="property">foodVariety</Property>
+ <Property name="align">center</Property>
+ <Property name="width">110</Property>
+ </DataColumn>
+ <DataColumn name="fullWeight">
+ <Property name="property">fullWeight</Property>
+ <Property name="caption">姣涢噸</Property>
+ <Property name="align">center</Property>
+ <Property name="width">100</Property>
+ </DataColumn>
+ <DataColumn name="emptyWeight">
+ <Property name="property">emptyWeight</Property>
+ <Property name="caption">鐨噸</Property>
+ <Property name="align">center</Property>
+ <Property name="width">100</Property>
+ </DataColumn>
+ <DataColumn name="deOther">
+ <Property name="property">deOther</Property>
+ <Property name="caption">鎵i噸</Property>
+ <Property name="align">center</Property>
+ <Property name="width">100</Property>
+ </DataColumn>
+ <DataColumn name="settleWeight">
+ <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = "bold";
+arg.processDefault = true;</ClientEvent>
+ <Property name="property">settleWeight</Property>
+ <Property name="align">center</Property>
+ <Property name="width">100</Property>
+ </DataColumn>
+ <DataColumn id="recordWeight">
+ <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = "bold";
+arg.processDefault = true;</ClientEvent>
+ <Property name="property">recordWeight</Property>
+ <Property name="align">center</Property>
+ <Property name="width">100</Property>
+ <Property name="visible">true</Property>
+ <Property name="name">recordWeight</Property>
+ </DataColumn>
+ <DataColumn name="progress">
+ <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = "bold";
+arg.processDefault = true;</ClientEvent>
+ <Property name="property">progress</Property>
+ <Property name="align">center</Property>
+ <Property name="width">80</Property>
+ </DataColumn>
+ <DataColumn name="completeTime">
+ <Property name="property">completeTime</Property>
+ <Property name="align">center</Property>
+ <Property name="width">150</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="caption">鍗曟嵁淇℃伅</Property>
+ <Property name="width">1200</Property>
+ <Property name="showCaptionBar">false</Property>
+ <Buttons>
+ <Button id="btnOK">
+ <ClientEvent name="onClick">var data = view.get("#dsMain.data:#");
+if(data.validate() != 'ok'){
+ $notify("鏁版嵁鏍¢獙澶辫触锛侊紒");
+ return;
+}
+view.get("#uaSave").execute(function(result){
+ if(result){
+ $alert(result);
+ return;
+ }
+ $notify("鏁版嵁鎵ц瀹屾垚锛侊紒");
+ self.get("parent").hide();
+});</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">self.get("parent").close();</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="labelAlign">right</Property>
+ <Property name="labelSeparator">锛�</Property>
+ <Property name="labelWidth">100</Property>
+ <AutoFormElement>
+ <Property name="name">id</Property>
+ <Property name="property">id</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">plateNum</Property>
+ <Property name="property">plateNum</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">depotId</Property>
+ <Property name="property">depotId</Property>
+ <Property name="label">瑁呭嵏浠撳簱</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">userName</Property>
+ <Property name="property">userName</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">userId</Property>
+ <Property name="property">userId</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">foodVariety</Property>
+ <Property name="property">foodVariety</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">perWet</Property>
+ <Property name="property">perWet</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">userContact</Property>
+ <Property name="property">userContact</Property>
+ <Property name="label">鑱旂郴鐢佃瘽</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">foodLevel</Property>
+ <Property name="property">foodLevel</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">perImpurity</Property>
+ <Property name="property">perImpurity</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">foodYear</Property>
+ <Property name="property">foodYear</Property>
+ <Property name="trigger">yearDropDown</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">foodLocation</Property>
+ <Property name="property">foodLocation</Property>
+ <Property name="trigger">ddDicArea</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="label">瀹㈡埛鍚嶇О</Property>
+ <Property name="property">customerName</Property>
+ <Property name="editable">false</Property>
+ <Property name="trigger">ddNotice</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">noticeId</Property>
+ <Property name="property">noticeId</Property>
+ <Editor/>
+ </AutoFormElement>
+ </AutoForm>
+ </Children>
+ </FieldSet>
+ <FieldSet layout="padding:5">
+ <Property name="caption">绉伴噸淇℃伅锛堝崟浣嶏細KG锛�</Property>
+ <Buttons/>
+ <Children>
+ <AutoForm>
+ <Property name="dataSet">dsMain</Property>
+ <Property name="cols">*,50,*,50,*,50</Property>
+ <Property name="labelAlign">right</Property>
+ <Property name="labelWidth">100</Property>
+ <Property name="labelSeparator">锛�</Property>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <ClientEvent name="onBlur">deAutoByWeight();</ClientEvent>
+ <Property name="name">fullWeight</Property>
+ <Property name="property">fullWeight</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">fullWeightTime</Property>
+ <Property name="property">fullWeightTime</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">fullWeightUser</Property>
+ <Property name="property">fullWeightUser</Property>
+ <Property name="label">婊¤溅绉伴噸浜�</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <ClientEvent name="onBlur">deAutoByWeight();</ClientEvent>
+ <Property name="name">emptyWeight</Property>
+ <Property name="property">emptyWeight</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">emptyWeightTime</Property>
+ <Property name="property">emptyWeightTime</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">emptyWeightUser</Property>
+ <Property name="property">emptyWeightUser</Property>
+ <Property name="label">绌鸿溅绉伴噸浜�</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">netWeight</Property>
+ <Property name="property">netWeight</Property>
+ <Property name="readOnly">true</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <ClientEvent name="onBlur">deAutoByWeight();</ClientEvent>
+ <Property name="name">deOther</Property>
+ <Property name="property">deOther</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">registerTime</Property>
+ <Property name="property">registerTime</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">settleWeight</Property>
+ <Property name="property">settleWeight</Property>
+ <Property name="readOnly">true</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">recordWeight</Property>
+ <Property name="property">recordWeight</Property>
+ <Property name="readOnly">true</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">completeTime</Property>
+ <Property name="property">completeTime</Property>
+ <Editor/>
+ </AutoFormElement>
+ </AutoForm>
+ </Children>
+ </FieldSet>
+ <FieldSet layout="padding:5">
+ <Property name="caption">鍏朵粬淇℃伅</Property>
+ <Buttons/>
+ <Children>
+ <AutoForm>
+ <Property name="dataSet">dsMain</Property>
+ <Property name="cols">*,*,*</Property>
+ <Property name="labelAlign">right</Property>
+ <Property name="labelSeparator">锛�</Property>
+ <Property name="labelWidth">100</Property>
+ <AutoFormElement>
+ <Property name="name">price</Property>
+ <Property name="property">price</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">settleMoney</Property>
+ <Property name="property">settleMoney</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">settleTime</Property>
+ <Property name="property">settleTime</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:3">
+ <Property name="name">remarks</Property>
+ <Property name="property">remarks</Property>
+ <Editor/>
+ </AutoFormElement>
+ </AutoForm>
+ </Children>
+ </FieldSet>
+ </Children>
+ <Tools/>
+ </Dialog>
+ <Dialog id="dialogImg">
+ <Property name="width">1000</Property>
+ <Property name="height">95%</Property>
+ <Property name="iconClass">fa fa-tasks</Property>
+ <Property name="caption">娴佺▼杩芥函灞曠ず</Property>
+ <Buttons/>
+ <Children>
+ <IFrame id="iFrameImg">
+ <Property name="width">100%</Property>
+ </IFrame>
+ </Children>
+ <Tools/>
+ </Dialog>
+ <Dialog id="dialogAbnormal" layout="regionPadding:5">
+ <Property name="width">450</Property>
+ <Property name="iconClass">fa fa-tasks</Property>
+ <Property name="caption">寮傚父鎿嶄綔鍘熷洜</Property>
+ <Property name="closeable">false</Property>
+ <Buttons>
+ <Button>
+ <ClientEvent name="onClick">todoError();</ClientEvent>
+ <Property name="caption">寮傚父缁堟</Property>
+ <Property name="iconClass">fa fa-check</Property>
+ <Property name="exClassName">btn1</Property>
+ <Property name="width">120</Property>
+ </Button>
+ <Button>
+ <ClientEvent name="onClick">self.get("parent").close();</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>
+ <TextArea id="textAbnormal">
+ <Property name="height">165</Property>
+ </TextArea>
+ <AutoForm>
+ <Property name="cols">*</Property>
+ <Label layoutConstraint="colSpan:1">
+ <Property name="style">
+ <Property name="color">blue</Property>
+ </Property>
+ <Property name="text">寮傚父缁堟锛氫笟鍔℃暟鎹祦绋嬬粨鏉燂紝閲嶉噺淇℃伅涓嶈繘琛岀粺璁¤绠椼��</Property>
+ </Label>
+ <Label layoutConstraint="colSpan:1">
+ <Property name="style">
+ <Property name="color">blue</Property>
+ </Property>
+ <Property name="text">鍒犻櫎鎿嶄綔锛氫笟鍔℃暟鎹鍒犻櫎涓斾笉缁熻锛屽彧淇濈暀鏃ュ織璁板綍銆�</Property>
+ </Label>
+ </AutoForm>
+ </Children>
+ <Tools/>
+ </Dialog>
+ <UpdateAction id="uaSave">
+ <Property name="dataResolver">inoutDataPR#saveInoutData</Property>
+ <UpdateItem>
+ <Property name="dataSet">dsMain</Property>
+ <Property name="dataPath">[#current]</Property>
+ <Property name="validateData">false</Property>
+ </UpdateItem>
+ </UpdateAction>
+ <UpdateAction id="ajaxError">
+ <Property name="dataResolver">inoutDataPR#errorInoutData</Property>
+ <UpdateItem>
+ <Property name="dataSet">dsMain</Property>
+ <Property name="dataPath">[#current]</Property>
+ <Property name="validateData">false</Property>
+ </UpdateItem>
+ </UpdateAction>
+ <AjaxAction id="ajaxPrint">
+ <Property name="service">inoutDataPR#printWeightBill</Property>
+ <Property name="executingMessage">姝e湪鎵ц鎵撳嵃鈥︹��</Property>
+ <Property name="async">false</Property>
+ </AjaxAction>
+ <CustomDropDown id="ddNotice">
+ <Property name="minHeight">400</Property>
+ <Property name="assignmentMap">noticeId=id,customerName=customerName</Property>
+ <Property name="minWidth">1000</Property>
+ <Property name="autoOpen">true</Property>
+ <Container layout="regionPadding:5">
+ <DataSet id="dsNotice">
+ <Property name="dataProvider">inoutNoticePR#queryNoticeByKey</Property>
+ <Property name="parameter">
+ <Entity>
+ <Property name="type">${request.getParameter('type')}</Property>
+ </Entity>
+ </Property>
+ <Property name="dataType">[dtNoticeDto]</Property>
+ </DataSet>
+ <Container layout="hbox regionPadding:5">
+ <TextEditor id="key3">
+ <Property name="blankText"> -- 瀹㈡埛鍚嶇О鎴栫紪鐮� --</Property>
+ <Property name="width">200</Property>
+ </TextEditor>
+ <Button>
+ <ClientEvent name="onClick">var key = view.get("#key3.value");
+var type = "${request.getParameter('type')}";
+view.get("#dsNotice").set("parameter",{key: key,type: type}).flushAsync();</ClientEvent>
+ <Property name="caption">鏌ヨ</Property>
+ <Property name="exClassName">btn1</Property>
+ <Property name="iconClass">fa fa-search</Property>
+ </Button>
+ <Button>
+ <ClientEvent name="onClick">var data = view.get("#dsNotice.data:#");
+if(data){
+ view.get("#ddNotice").close(data.toJSON());
+}</ClientEvent>
+ <Property name="iconClass">fa fa-check</Property>
+ <Property name="exClassName">btn2</Property>
+ <Property name="caption">纭畾</Property>
+ </Button>
+ </Container>
+ <DataGrid>
+ <ClientEvent name="onDataRowDoubleClick">var data = view.get("#dsNotice.data:#");
+if(data){
+ view.get("#ddNotice").close(data.toJSON());
+}</ClientEvent>
+ <Property name="dataSet">dsNotice</Property>
+ <Property name="readOnly">true</Property>
+ <DataColumn name="name">
+ <Property name="property">name</Property>
+ <Property name="align">center</Property>
+ <Property name="width">100</Property>
+ </DataColumn>
+ <DataColumn>
+ <Property name="property">customerName</Property>
+ <Property name="align">center</Property>
+ <Property name="name">customerName</Property>
+ <Property name="width">240</Property>
+ </DataColumn>
+ <DataColumn name="foodVariety">
+ <Property name="property">foodVariety</Property>
+ <Property name="align">center</Property>
+ </DataColumn>
+ <DataColumn name="year">
+ <Property name="property">year</Property>
+ <Property name="align">center</Property>
+ </DataColumn>
+ <DataColumn name="contract">
+ <Property name="property">contract</Property>
+ <Property name="align">center</Property>
+ <Property name="width">300</Property>
+ </DataColumn>
+ </DataGrid>
+ </Container>
+ </CustomDropDown>
+ <CustomDropDown id="ddDicArea">
+ <Property name="minHeight">500</Property>
+ <Property name="minWidth">500</Property>
+ <Property name="assignmentMap">foodLocation=name,foodLocationId=code</Property>
+ <Container layout="regionPadding:5">
+ <DataSet id="dsDicArea">
+ <Property name="dataProvider">dicAreaPR#pageList</Property>
+ <Property name="parameter"></Property>
+ <Property name="dataType">[dtArea]</Property>
+ <Property name="pageSize">1000</Property>
+ </DataSet>
+ <Container layout="hbox regionPadding:5">
+ <TextEditor id="key2">
+ <Property name="blankText"> -鍚嶇О鎴栫畝鎷硷紝鍖椾含甯� bjs -</Property>
+ <Property name="width">200</Property>
+ </TextEditor>
+ <Button>
+ <ClientEvent name="onClick">var key = view.get("#key2.value");
+view.get("#dsDicArea").set("parameter",{key:key}).flushAsync();</ClientEvent>
+ <Property name="caption">鏌ヨ</Property>
+ <Property name="iconClass">fa fa-search</Property>
+ <Property name="exClassName">btn1</Property>
+ </Button>
+ <Button>
+ <ClientEvent name="onClick">var data = view.get("#dsDicArea.data:#");
+if(data){
+ view.get("#ddDicArea").close(data.toJSON());
+}</ClientEvent>
+ <Property name="iconClass">fa fa-check</Property>
+ <Property name="exClassName">btn2</Property>
+ <Property name="caption">纭畾</Property>
+ </Button>
+ </Container>
+ <DataGrid>
+ <ClientEvent name="onDataRowDoubleClick">var data = view.get("#dsDicArea.data:#");
+if(data){
+ view.get("#ddDicArea").close(data.toJSON());
+}</ClientEvent>
+ <Property name="dataSet">dsDicArea</Property>
+ <Property name="readOnly">true</Property>
+ <DataColumn name="name">
+ <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = "bold";
+arg.processDefault = true;</ClientEvent>
+ <Property name="property">name</Property>
+ <Property name="readOnly">true</Property>
+ <Property name="align">center</Property>
+ </DataColumn>
+ <DataColumn name="code">
+ <Property name="property">code</Property>
+ <Property name="readOnly">true</Property>
+ <Property name="align">center</Property>
+ </DataColumn>
+ <DataColumn name="simple">
+ <Property name="property">simple</Property>
+ <Property name="readOnly">true</Property>
+ <Property name="align">center</Property>
+ </DataColumn>
+ </DataGrid>
+ <DataPilot layoutConstraint="bottom">
+ <Property name="dataSet">dsDicArea</Property>
+ </DataPilot>
+ </Container>
+ </CustomDropDown>
+ <YearDropDown id="yearDropDown"/>
+ </View>
+</ViewConfig>
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticePR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticePR.java
index 2091463..0c6c3e8 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticePR.java
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticePR.java
@@ -5,12 +5,15 @@
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.provider.Page;
+import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.data.NoticeDto;
import com.fzzy.igds.data.NoticeParam;
import com.fzzy.igds.service.InoutNoticeService;
import com.fzzy.igds.domain.InoutNoticeIn;
import com.fzzy.igds.domain.InoutNoticeOut;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
@@ -208,4 +211,55 @@
return "fail";
}
+
+ /**
+ * inoutNoticePR#queryNoticeByKey 鏍规嵁鍙傛暟鏌ヨ鍑哄叆搴撻�氱煡鍗曪紝鐢ㄤ簬鎵嬪姩琛ュ崟鏃讹紝閫夋嫨閫氱煡鍗�
+ *
+ * @param
+ * @return
+ */
+ @DataProvider
+ public List<NoticeDto> queryNoticeByKey(Map<String, Object> param) {
+ if (param == null) {
+ return null;
+ }
+ String type = (String)param.get("type");
+ if (StringUtils.isEmpty(type)) {
+ return null;
+ }
+ List<NoticeDto> list = new ArrayList<>();
+ NoticeDto dto;
+
+ NoticeParam noticeParam = new NoticeParam();
+ noticeParam.setCompanyId(ContextUtil.getCompanyId());
+ noticeParam.setDeptId(ContextUtil.subDeptId(null));
+ noticeParam.setCompleteStatus(Constant.COMPLETE_STATUS_NONE);
+ String key = (String)param.get("key");
+ if (StringUtils.isNotEmpty(key)) {
+ noticeParam.setKey(key);
+ }
+
+ if (Constant.TYPE_IN.equals(type)) {
+ List<InoutNoticeIn> listIn = inoutNoticeService.getNoticeIn(noticeParam);
+ if (null != listIn && listIn.size() > 0) {
+ for (InoutNoticeIn inoutNoticeIn : listIn) {
+ dto = new NoticeDto();
+ BeanUtils.copyProperties(inoutNoticeIn, dto);
+ list.add(dto);
+ }
+ }
+ }
+ if (Constant.TYPE_OUT.equals(type)) {
+ List<InoutNoticeOut> listOut = inoutNoticeService.getNoticeOut(noticeParam);
+ if (null != listOut && listOut.size() > 0) {
+ for (InoutNoticeOut inoutNoticeOut : listOut) {
+ dto = new NoticeDto();
+ BeanUtils.copyProperties(inoutNoticeOut, dto);
+ list.add(dto);
+ }
+ }
+ }
+ return list;
+ }
+
}
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 feb4ca7..1ebed17 100644
--- a/fzzy-igdss-view/src/main/java/models/core.model.xml
+++ b/fzzy-igdss-view/src/main/java/models/core.model.xml
@@ -1209,4 +1209,120 @@
<Property name="label">鎵ц鏃堕棿3</Property>
</PropertyDef>
</DataType>
+ <DataType name="dtNoticeDto">
+ <Property name="creationType">com.fzzy.igds.data.NoticeDto</Property>
+ <PropertyDef name="id">
+ <Property></Property>
+ <Property name="label">閫氶亾鍗曠紪鐮�</Property>
+ </PropertyDef>
+ <PropertyDef name="name">
+ <Property></Property>
+ <Property name="label">閫氱煡鍗曞悕绉�</Property>
+ </PropertyDef>
+ <PropertyDef name="companyId">
+ <Property></Property>
+ </PropertyDef>
+ <PropertyDef name="deptId">
+ <Property></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="customerId">
+ <Property></Property>
+ </PropertyDef>
+ <PropertyDef name="customerName">
+ <Property></Property>
+ <Property name="label">鏀�/鍙戣揣瀹㈡埛</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="foodType">
+ <Property></Property>
+ </PropertyDef>
+ <PropertyDef name="year">
+ <Property></Property>
+ <Property name="label">骞翠唤</Property>
+ </PropertyDef>
+ <PropertyDef name="targetNumber">
+ <Property name="dataType">Double</Property>
+ </PropertyDef>
+ <PropertyDef name="completeNumber">
+ <Property name="dataType">Double</Property>
+ </PropertyDef>
+ <PropertyDef name="completeTime">
+ <Property name="dataType">Date</Property>
+ </PropertyDef>
+ <PropertyDef name="unitName">
+ <Property></Property>
+ </PropertyDef>
+ <PropertyDef name="contract">
+ <Property></Property>
+ <Property name="label">鎵�灞炲悎鍚�</Property>
+ </PropertyDef>
+ </DataType>
+ <DataType name="dtFileData">
+ <Property name="creationType">com.fzzy.igds.domain.FileInfo</Property>
+ <PropertyDef name="fileId">
+ <Property></Property>
+ <Property name="label">闄勪欢ID</Property>
+ </PropertyDef>
+ <PropertyDef name="companyId">
+ <Property></Property>
+ <Property name="label">缁勭粐缂栧彿</Property>
+ </PropertyDef>
+ <PropertyDef name="deptId">
+ <Property></Property>
+ <Property name="label">搴撳尯缂栫爜</Property>
+ </PropertyDef>
+ <PropertyDef name="bizId">
+ <Property></Property>
+ <Property name="label">涓氬姟ID</Property>
+ </PropertyDef>
+ <PropertyDef name="bizTag">
+ <Property></Property>
+ <Property name="label">涓氬姟鏍囩</Property>
+ </PropertyDef>
+ <PropertyDef name="fileName">
+ <Property></Property>
+ <Property name="label">鏂囦欢鍚嶇О</Property>
+ </PropertyDef>
+ <PropertyDef name="filePath">
+ <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>
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/file/FileManager.java b/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/file/FileManager.java
index 907c248..6318747 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/file/FileManager.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/file/FileManager.java
@@ -71,7 +71,7 @@
String oldFileName = file.getOriginalFilename();
// 鑾峰彇鏂囦欢淇濆瓨璺緞
- String filePath = fileService.getInoutFilePath(new Date());
+ String filePath = fileService.getFileSavePath("INOUT");
// 鑾峰彇鏂扮殑ID
String newFileName = ContextUtil.generateId();
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java b/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java
index 0c8456e..d4bba19 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java
@@ -5,10 +5,7 @@
import com.fzzy.igds.constant.RespCodeEnum;
import com.fzzy.igds.data.*;
import com.fzzy.igds.domain.*;
-import com.fzzy.igds.service.DicAreaService;
-import com.fzzy.igds.service.InoutConfService;
-import com.fzzy.igds.service.InoutNoticeService;
-import com.fzzy.igds.service.InoutRecordService;
+import com.fzzy.igds.service.*;
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.igds.utils.SystemUtil;
import com.ruoyi.common.core.domain.entity.SysUser;
@@ -35,6 +32,8 @@
private RedisCache redisCache;
@Resource
private InoutConfService inoutConfService;
+ @Resource
+ private FileService fileService;
@Resource
private InoutRecordService inoutRecordService;
@Resource
@@ -228,7 +227,7 @@
}
//闄勪欢澶勭悊
- saveInoutFiles(data.getFiles(), data.getId(), curProgress);
+ fileService.saveInoutFiles(data.getFiles(), data.getId(), curProgress, "INOUT");
return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鐧昏鎴愬姛锛�", data);
}
@@ -293,6 +292,11 @@
String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf);
data.setProgress(nextProgress);
+ if(Constant.PROGRESS_RECORD.equals(nextProgress)){
+ //娴佺▼缁撴潫鏃讹紝璁剧疆瀹屾垚鏃堕棿鍜屽畬鎴愪汉
+ data.setCompleteTime(new Date());
+ data.setCompleteUser(ContextUtil.getLoginUserName());
+ }
//绉伴噸鏁版嵁鏇存柊
int num = inoutRecordService.updateInoutRecord(data);
@@ -301,7 +305,7 @@
}
//闄勪欢澶勭悊
- saveInoutFiles(data.getFiles(), data.getId(), curProgress);
+ fileService.saveInoutFiles(data.getFiles(), data.getId(), curProgress, "INOUT");
return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛", data);
}
@@ -335,28 +339,9 @@
}
//闄勪欢澶勭悊
- saveInoutFiles(data.getFiles(), data.getId(), curProgress);
+ fileService.saveInoutFiles(data.getFiles(), data.getId(), curProgress, "INOUT");
return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎻愪氦鎴愬姛", data);
- }
-
- /**
- * 寮傛鎵ц闄勪欢淇濆瓨
- * @param files 闄勪欢淇℃伅
- * @param bizId 涓氬姟id
- * @param progress 娴佺▼鑺傜偣
- */
- @Async
- public void saveInoutFiles(List<FileInfo> files, String bizId, String progress) {
-
- if (null == files || files.isEmpty()) {
- return;
- }
-
- //TODO 闄勪欢閫昏緫寰呭鐞�
-
-
-
}
/**
@@ -524,8 +509,8 @@
param.setCompanyId(user.getCompanyId());
}
param.setDeptId(ContextUtil.subDeptId(user));
-
- List<InoutNoticeIn> list = inoutNoticeService.getNoticeIn(param.getCompanyId(), param.getDeptId(), Constant.COMPLETE_STATUS_NONE);
+ param.setCompleteStatus(Constant.COMPLETE_STATUS_NONE);
+ List<InoutNoticeIn> list = inoutNoticeService.getNoticeIn(param);
if (null == list || list.isEmpty()) {
return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鏌ヨ缁撴灉涓虹┖锛�");
@@ -544,8 +529,8 @@
param.setCompanyId(user.getCompanyId());
}
param.setDeptId(ContextUtil.subDeptId(user));
-
- List<InoutNoticeOut> list = inoutNoticeService.getNoticeOut(param.getCompanyId(), param.getDeptId(), Constant.COMPLETE_STATUS_NONE);
+ param.setCompleteStatus(Constant.COMPLETE_STATUS_NONE);
+ List<InoutNoticeOut> list = inoutNoticeService.getNoticeOut(param);
if (null == list || list.isEmpty()) {
return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鏌ヨ缁撴灉涓虹┖锛�");
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/print/PrintManager.java b/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/print/PrintManager.java
index a20a322..29ac315 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/print/PrintManager.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/print/PrintManager.java
@@ -1,21 +1,9 @@
package com.fzzy.sys.manager.print;
-import com.fzzy.igds.bill.InoutBill;
-import com.fzzy.igds.constant.Constant;
-import com.fzzy.igds.constant.FoodVariety;
-import com.fzzy.igds.data.InoutPrintBill;
-import com.fzzy.igds.domain.Depot;
import com.fzzy.igds.domain.InoutRecord;
-import com.fzzy.igds.service.DepotService;
-import com.fzzy.igds.service.SysDeptService;
-import com.fzzy.igds.utils.NumberUtil;
-import com.ruoyi.common.core.domain.entity.SysDept;
-import com.ruoyi.common.utils.StringUtils;
-import org.apache.commons.lang3.time.DateFormatUtils;
+import com.fzzy.igds.service.InoutRecordService;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
-import java.text.DecimalFormat;
-import java.util.*;
/**
* @Description 鍗曟嵁鎵撳嵃
@@ -26,9 +14,7 @@
public class PrintManager {
@Resource
- private SysDeptService sysDeptService;
- @Resource
- private DepotService depotService;
+ private InoutRecordService inoutRecordService;
/**
* 鑾峰彇鍏ュ簱杩囩鍗曟暟鎹俊鎭�
@@ -37,87 +23,7 @@
* @return
*/
public String inWeightBill(InoutRecord data) {
-
- // 鑾峰彇琛ㄥ崟鏁版嵁
- InoutPrintBill bill = this.createBillData(data, "鍏ュ簱鍒掔爜鍗�");
-
- // 璋冩暣妯$増鏁版嵁骞惰繑鍥�
- String htmlStr = InoutBill.IN_WEIGHT_DEFAULT;
-
- htmlStr = htmlStr.replace("billTitle", bill.getBillTitle());
-
- htmlStr = htmlStr.replace("registerTime", bill.getRegisterTime());
- htmlStr = htmlStr.replace("completeTime", bill.getCompleteTime());
- htmlStr = htmlStr.replace("fullTime", bill.getFullTime());
- htmlStr = htmlStr.replace("emptyTime", bill.getEmptyTime());
- htmlStr = htmlStr.replace("serId", bill.getSerId());
-
- htmlStr = htmlStr.replace("customerName", bill.getCustomerName());
- htmlStr = htmlStr.replace("deptName", bill.getUnitName());
-
- htmlStr = htmlStr.replace("driverName", bill.getDriverName());
- htmlStr = htmlStr.replace("userNumberId", bill.getUserId());
- htmlStr = htmlStr.replace("userContact", bill.getUserContact());
- htmlStr = htmlStr.replace("userAddress", bill.getUserAddress());
- htmlStr = htmlStr.replace("foodVariety", bill.getFoodVariety());
- htmlStr = htmlStr.replace("depotName", bill.getDepotName());
- htmlStr = htmlStr.replace("foodLocation", bill.getFoodLocation());
-
- if ("5326".equals(data.getCompanyId())) {
- htmlStr = htmlStr.replace("recordWeight", new DecimalFormat("0").format(bill.getRecordWeight()));
- htmlStr = htmlStr.replace("settleWeight", new DecimalFormat("0").format(bill.getSettleWeight()));
- htmlStr = htmlStr.replace("fullWeight", new DecimalFormat("0").format(bill.getFullWeight()));
- htmlStr = htmlStr.replace("emptyWeight", new DecimalFormat("0").format(bill.getEmptyWeight()));
- htmlStr = htmlStr.replace("netWeight", new DecimalFormat("0").format(bill.getNetWeight()));
- }
- htmlStr = htmlStr.replace("plateNum", bill.getPlateNum());
- htmlStr = htmlStr.replace("fullWeight",
- new DecimalFormat("0.00").format(bill.getFullWeight()));
- htmlStr = htmlStr.replace("emptyWeight",
- new DecimalFormat("0.00").format(bill.getEmptyWeight()));
- htmlStr = htmlStr.replace("netWeight",
- new DecimalFormat("0.00").format(bill.getNetWeight()));
-
- htmlStr = htmlStr.replace("deImpurity", bill.getDeImpurity() + "");
- htmlStr = htmlStr.replace("deWet", bill.getDeWet() + "");
-
- htmlStr = htmlStr.replace("recordWeight", new DecimalFormat("0.00").format(bill.getRecordWeight()));
- htmlStr = htmlStr.replace("deCheck", bill.getDeCheck() + "");
- htmlStr = htmlStr.replace("addCheck", bill.getAddCheck() + "");
-
- htmlStr = htmlStr.replace("deSum", bill.getDeSum() + "");
- htmlStr = htmlStr.replace("settleWeight",
- new DecimalFormat("0.00").format(bill.getSettleWeight()));
-
- htmlStr = htmlStr.replace("dePackage", bill.getDePackage() + "");
- htmlStr = htmlStr.replace("deHandle", bill.getDeHandle() + "");
- htmlStr = htmlStr.replace("deOther", bill.getDeOther() + "");
- htmlStr = htmlStr.replace("price", bill.getPrice());
- htmlStr = htmlStr.replace("settleMoney", bill.getSettleMoney() + "");
- htmlStr = htmlStr.replace("wet", bill.getWet() + "");
- htmlStr = htmlStr.replace("impurity", bill.getImpurity() + "");
-
- htmlStr = htmlStr.replace("checkStatus", bill.getCheckStatus());
- htmlStr = htmlStr.replace("remark", bill.getRemark());
- htmlStr = htmlStr.replace("moneyName", bill.getMoneyName());
-
- htmlStr = htmlStr.replace("unitName", bill.getUnitName());
- htmlStr = htmlStr.replace("time", bill.getRegisterTime());
- htmlStr = htmlStr.replace("handleStart", "");
- htmlStr = htmlStr.replace("handleEnd", "");
- htmlStr = htmlStr.replace("noticeId", bill.getNoticeId() == null ? "" : bill.getNoticeId());
- htmlStr = htmlStr.replace("phone", data.getUserContact() == null ? "" : data.getUserContact() + "");
- htmlStr = htmlStr.replace("printTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm"));
-
- htmlStr = htmlStr.replaceAll("weightUser",
- bill.getWeightUser() == null ? "" : bill.getWeightUser());
- htmlStr = htmlStr.replaceAll("handleUser",
- bill.getHandleUser() == null ? "" : bill.getHandleUser());
- htmlStr = htmlStr.replaceAll("keeperName",
- bill.getKeeperUser() == null ? "" : bill.getKeeperUser());
-
-
- return htmlStr;
+ return inoutRecordService.inWeightBill( data);
}
/**
@@ -127,187 +33,8 @@
* @return
*/
public String outWeightBill(InoutRecord data) {
- // 鑾峰彇琛ㄥ崟鏁版嵁
- InoutPrintBill bill = this.createBillData(data, "鍑哄簱鍒掔爜鍗�");
- //榛樿妯$増
- String htmlStr = InoutBill.OUT_WEIGHT_DEFAULT;
-
- htmlStr = htmlStr.replace("billTitle", bill.getBillTitle());
-
- htmlStr = htmlStr.replace("registerTime", bill.getRegisterTime());
- htmlStr = htmlStr.replace("completeTime", bill.getCompleteTime());
- htmlStr = htmlStr.replace("fullTime", bill.getFullTime());
- htmlStr = htmlStr.replace("emptyTime", bill.getEmptyTime());
- htmlStr = htmlStr.replace("serId", bill.getSerId());
-
- htmlStr = htmlStr.replace("customerName", bill.getCustomerName());
- htmlStr = htmlStr.replace("deptName", bill.getUnitName());
-
- htmlStr = htmlStr.replace("driverName", bill.getDriverName());
- htmlStr = htmlStr.replace("userNumberId", bill.getUserId());
- htmlStr = htmlStr.replace("userContact", bill.getUserContact());
- htmlStr = htmlStr.replace("userAddress", bill.getUserAddress());
- htmlStr = htmlStr.replace("foodVariety", bill.getFoodVariety());
- htmlStr = htmlStr.replace("depotName", bill.getDepotName());
- htmlStr = htmlStr.replace("foodLocation", bill.getFoodLocation());
-
- if ("5326".equals(data.getCompanyId())) {
- htmlStr = htmlStr.replace("recordWeight", new DecimalFormat("0").format(bill.getRecordWeight()));
- htmlStr = htmlStr.replace("settleWeight", new DecimalFormat("0").format(bill.getSettleWeight()));
- htmlStr = htmlStr.replace("fullWeight", new DecimalFormat("0").format(bill.getFullWeight()));
- htmlStr = htmlStr.replace("emptyWeight", new DecimalFormat("0").format(bill.getEmptyWeight()));
- htmlStr = htmlStr.replace("netWeight", new DecimalFormat("0").format(bill.getNetWeight()));
- }
- htmlStr = htmlStr.replace("plateNum", bill.getPlateNum());
- htmlStr = htmlStr.replace("fullWeight",
- new DecimalFormat("0.00").format(bill.getFullWeight()));
- htmlStr = htmlStr.replace("emptyWeight",
- new DecimalFormat("0.00").format(bill.getEmptyWeight()));
- htmlStr = htmlStr.replace("netWeight",
- new DecimalFormat("0.00").format(bill.getNetWeight()));
- htmlStr = htmlStr.replace("dePackage",
- new DecimalFormat("0.00").format(bill.getDePackage()));
- htmlStr = htmlStr.replace("remark", bill.getRemark());
-
- htmlStr = htmlStr.replace("settleWeight",
- new DecimalFormat("0.00").format(bill.getSettleWeight()));
- htmlStr = htmlStr.replace("deHandle", bill.getDeHandle() + "");
- htmlStr = htmlStr.replace("recordWeight", new DecimalFormat("0.00").format(bill.getRecordWeight()));
- htmlStr = htmlStr.replace("deSum", bill.getDeSum() + "");
- htmlStr = htmlStr.replace("deOther", bill.getDeOther() + "");
- htmlStr = htmlStr.replace("price", bill.getPrice());
- htmlStr = htmlStr.replace("settleMoney", bill.getSettleMoney() + "");
- htmlStr = htmlStr.replace("wet", bill.getWet() + "");
- htmlStr = htmlStr.replace("impurity", bill.getImpurity() + "");
-
- htmlStr = htmlStr.replace("unitName", getValue(bill.getUnitName()));
- htmlStr = htmlStr.replace("time", bill.getRegisterTime());
- htmlStr = htmlStr.replace("handleStart", "");
- htmlStr = htmlStr.replace("handleEnd", "");
- htmlStr = htmlStr.replace("noticeId", bill.getNoticeId() == null ? "" : bill.getNoticeId());
- htmlStr = htmlStr.replace("phone", data.getUserContact() == null ? "" : data.getUserContact() + "");
- htmlStr = htmlStr.replace("printTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm"));
-
- htmlStr = htmlStr.replaceAll("weightUser", getValue(bill.getWeightUser()));
- htmlStr = htmlStr.replace("handleUser", getValue(bill.getHandleUser()));
- htmlStr = htmlStr.replaceAll("keeperName", getValue(bill.getKeeperUser()));
- return htmlStr;
- }
-
-
- public String getValue(String value) {
- if (null == value) return "";
- return value;
- }
-
- /**
- * 灏佽杩囩鍗曟暟鎹�
- *
- * @param data
- * @param billTitle
- * @return
- */
- private InoutPrintBill createBillData(InoutRecord data, String billTitle) {
- InoutPrintBill bill = new InoutPrintBill();
-
- bill.setBillTitle(billTitle);
-
- SysDept dept = sysDeptService.getCacheDept(data.getCompanyId(), data.getDeptId());
- if (null != dept && StringUtils.isNotEmpty(dept.getDeptName())) {
- bill.setBillTitle(dept.getDeptName() + billTitle);
- bill.setDeptId(dept.getDeptId() + "");
- bill.setDeptName(dept.getDeptName() + "");
- bill.setUnitName(dept.getDeptName());
- }
-
- //娓呰繙鍑哄彂璐у崟浣嶅強鏍囬锛屼娇鐢ㄥ叕鍙稿悕
- if ("5368".equals(data.getCompanyId())) {
- SysDept company = sysDeptService.getCacheDept(data.getCompanyId(), data.getCompanyId());
- if (null != company && StringUtils.isNotEmpty(company.getDeptName())) {
- bill.setBillTitle(company.getDeptName() + billTitle);
- bill.setUnitName(company.getDeptName());
- }
- }
-
- bill.setCompanyId(data.getCompanyId() == null ? "" : data
- .getCompanyId());
- if (null == data.getRegisterTime()) {
- data.setRegisterTime(new Date());
- }
- bill.setRegisterTime(DateFormatUtils.format(data.getRegisterTime(),
- "yyyy-MM-dd HH:mm"));
-
- if (null == data.getCompleteTime()) {
- data.setCompleteTime(new Date());
- }
- bill.setCompleteTime(DateFormatUtils.format(data.getCompleteTime(),
- "yyyy-MM-dd HH:mm"));
-
- bill.setEmptyTime(DateFormatUtils.format(data.getEmptyWeightTime(),
- "yyyy-MM-dd HH:mm:ss"));
- bill.setFullTime(DateFormatUtils.format(data.getFullWeightTime(),
- "yyyy-MM-dd HH:mm:ss"));
- bill.setSerId(data.getId());
- if ("5016".equals(data.getCompanyId()) || "5347".equals(data.getCompanyId()) || "5352".equals(data.getCompanyId())) {
- bill.setCompleteTime(DateFormatUtils.format(data.getCompleteTime(), "yyyy-MM-dd"));
- bill.setSerId(data.getId().substring(2));
-
- }
-
- //瀹㈡埛淇℃伅
- bill.setCustomerName(data.getCustomerName() == null ? "" : data.getCustomerName());
- bill.setUserId(data.getUserId() == null ? "" : data.getUserId());
- bill.setUserAddress(data.getUserAddress() == null ? "" : data.getUserAddress());
- bill.setUserContact(data.getUserContact() == null ? "" : data.getUserContact());
-
-
- bill.setNoticeId(data.getNoticeId());
-
-
- bill.setDriverName(data.getUserName() == null ? "" : data.getUserName());
-
- // 鑾峰彇浠撳簱淇℃伅
- Depot depot = depotService.getCacheDepot(data.getCompanyId(),
- data.getDepotId());
- if (depot != null) {
- bill.setDepotName(depot.getName() == null ? "" : depot.getName());
- bill.setHandleUser(depot.getStoreKeeperName() == null ? "" : depot
- .getStoreKeeperName());
- }
-
- bill.setFoodVariety(FoodVariety.getMsg(data.getFoodVariety()));
- bill.setFoodLocation(data.getFoodLocation() == null ? "" : data
- .getFoodLocation());
- bill.setPlateNum(data.getPlateNum());
-
- bill.setFullWeight(data.getFullWeight());
- bill.setEmptyWeight(data.getEmptyWeight());
- bill.setNetWeight(data.getNetWeight());
- bill.setRecordWeight(data.getRecordWeight());
- bill.setCheckStatus(data.getCheckStatus().equals(Constant.STATUS_CHECK) ? "鍚堟牸" : "涓嶅悎鏍�");
-
- bill.setDeOther(data.getDeOther());
- bill.setSettleWeight(data.getSettleWeight());
-
- bill.setPrice(data.getPrice() == null ? "" : data.getPrice() + "");
- if (data.getSettleMoney() <= 0) {
- if (null != data.getPrice() && null != data.getRecordWeight()) {
- data.setSettleMoney(NumberUtil.keepPrecision(data.getPrice() * data.getRecordWeight(), 2));
- }
- }
- bill.setSettleMoney(data.getSettleMoney() == null ? "" : data.getSettleMoney() + "");
- bill.setRemark(data.getRemarks() == null ? "" : data.getRemarks());
-
- if (Constant.TYPE_IN.equals(data.getType())) {
- bill.setWeightUser(data.getFullWeightUser());
- }
- if (Constant.TYPE_OUT.equals(data.getType())) {
- bill.setWeightUser(data.getEmptyWeightUser());
- }
- bill.setHandleUser(data.getHandleUser());
- bill.setKeeperUser(depot.getStoreKeeperName());
- return bill;
+ return inoutRecordService.outWeightBill( data);
}
}
\ No newline at end of file
diff --git a/fzzy-igdss-web/src/main/resources/static/inout/inout-weight2.js b/fzzy-igdss-web/src/main/resources/static/inout/inout-weight2.js
index 4b14cbf..2f4c536 100644
--- a/fzzy-igdss-web/src/main/resources/static/inout/inout-weight2.js
+++ b/fzzy-igdss-web/src/main/resources/static/inout/inout-weight2.js
@@ -234,11 +234,13 @@
* 鐧昏寮圭獥
*/
function quickRegister() {
+ $("#form-data")[0].reset();
+ form.render();
//鐧昏鎸夐挳鏀惧紑
$("#btn_register").css("display", "block");
$("#text-info").removeClass("text-info");
//绉伴噸鎿嶄綔寮圭獥
- var pro = '鐧昏';
+ var pro = '鐧昏绉伴噸';
recordData = null;
updateEditAndProgress();
flushPage();
@@ -261,8 +263,9 @@
* @param progress
*/
function showWindows() {
-
- //鐧昏鎸夐挳鏀惧紑
+ $("#form-data")[0].reset();
+ form.render();
+ //鐧昏鎸夐挳闅愯棌
$("#btn_register").css("display", "none");
$("#text-info").addClass("text-info");
//绉伴噸鎿嶄綔寮圭獥
@@ -606,8 +609,8 @@
notify("鏁版嵁鎻愪氦鎴愬姛", result.data);
//绗竴娆$О閲嶅悗锛屽埛鏂伴〉闈�
if (recordData.recordWeight <= 0.0) {
- flushData();
- layer.closeAll();
+ $("#form-data")[0].reset();
+ form.render();
}
}
layer.close(index);
@@ -709,7 +712,7 @@
}
$("#resultIntelCard").text(data.intelCard);
- layer.open({
+ var indexNotify = layer.open({
type: 1,
offset: ['150px', '200px'],
area: '450px;',
@@ -718,7 +721,7 @@
btn: ['纭畾'],
content: $('#dialog-from-notify'),
yes: function (index) {
- layer.closeAll();
+ layer.close(indexNotify);
}
});
} else {
diff --git a/fzzy-igdss-web/src/main/resources/templates/inout/weight.html b/fzzy-igdss-web/src/main/resources/templates/inout/weight.html
index abbfe16..6616e31 100644
--- a/fzzy-igdss-web/src/main/resources/templates/inout/weight.html
+++ b/fzzy-igdss-web/src/main/resources/templates/inout/weight.html
@@ -386,7 +386,7 @@
<label class="layui-form-label color-red">姣涢噸(婊¤溅)</label>
<div class="layui-input-block">
<input type="text" name="fullWeight" id="fullWeight" autocomplete="off"
- placeholder="鍦扮鑷姩甯﹀叆" class="layui-input rkbk-search-input"
+ placeholder="鍦扮鑷姩甯﹀叆" class="layui-input weight rkbk-search-input"
disabled>
<em
class="kccz-data-dw">KG</em>
diff --git a/fzzy-igdss-web/src/main/resources/templates/inout/weight2.html b/fzzy-igdss-web/src/main/resources/templates/inout/weight2.html
index 4813f3e..249fd31 100644
--- a/fzzy-igdss-web/src/main/resources/templates/inout/weight2.html
+++ b/fzzy-igdss-web/src/main/resources/templates/inout/weight2.html
@@ -591,7 +591,7 @@
<label class="layui-form-label color-red">姣涢噸(婊¤溅)</label>
<div class="layui-input-block">
<input type="text" name="fullWeight" id="fullWeight" autocomplete="off"
- placeholder="鍦扮鑷姩甯﹀叆" class="layui-input rkbk-search-input"
+ placeholder="鍦扮鑷姩甯﹀叆" class="layui-input weight rkbk-search-input"
disabled>
<em
class="kccz-data-dw">KG</em>
--
Gitblit v1.9.3