-
+
@@ -235,7 +236,7 @@
@@ -244,7 +245,7 @@
@@ -264,7 +265,7 @@
@@ -303,7 +304,7 @@
@@ -318,7 +319,7 @@
@@ -327,7 +328,7 @@
@@ -339,7 +340,7 @@
@@ -348,7 +349,7 @@
@@ -360,7 +361,7 @@
@@ -369,7 +370,7 @@
@@ -381,7 +382,7 @@
@@ -390,7 +391,7 @@
@@ -402,7 +403,7 @@
@@ -421,57 +422,121 @@
$("#form-project-add").validate({
onkeyup: false,
rules:{
- name:{
- minlength: 1,
- maxlength: 32
- },
- username:{
- minlength: 1,
- maxlength: 32
- },
- password:{
- minlength: 4,
- maxlength: 32
- },
- password1:{
- minlength: 4,
+ projectName:{
+ minlength: 6,
maxlength: 32,
- equalTo: "#password"
},
- email:{
- email:true,
+ boardThickness:{
+ number: true
+ },
+ maxHeightTop:{
+ number: true
},
- ccEmail:{
- email:true,
+ subPcbNum:{
+ number: true
},
- department:{
-
- },
- projectGroup:{
-
- }
+ maxHeightBot:{
+ number: true
+ }
},
- messages: {
- password1: {
- required: "请再次输入新密码",
- equalTo: "两次密码输入不一致"
- }
- },
focusCleanup: true
});
function submitHandler() {
- // var chrtype = [[${#strings.defaultString(@config.getKey('sys.account.chrtype'), 0)}]];
- // var password = $("#password").val();
- // if ($.validate.form() && checkpwd(chrtype, password)) {
if ($.validate.form() ) {
+ var checkResult = submitForm();
+ if(!checkResult) {
+ return false;
+ }
+
var data = $("#form-project-add").serializeArray();
- $.operate.save(prefix + "/addSave", data);
+ // $.operate.save(prefix + "/addSave", data);
+ var url = prefix + "/addSave";
+
+ var formData = new FormData();
+ formData.append('pcbFile', $('#pcbFile')[0].files[0]);
+ formData.append('bomFile', $('#bomFile')[0].files[0]);
+
+ $.each( data, function(i, obj){
+ formData.append(obj.name, obj.value);
+ });
+
+ $.ajax({
+ url: url,
+ type: 'post',
+ cache: false,
+ data: formData,
+ processData: false,
+ contentType: false,
+ dataType: "json",
+ beforeSend: function () {
+ $.modal.loading("正在处理中,请稍后...");
+ $.modal.disable();
+ },
+ success: function(result) {
+ $.operate.successCallback(result);
+ }
+ });
}
}
+
+ //验证form
+ function submitForm() {
+
+ if (!$.validate.form() ) {
+ return false;
+ }
+
+ if ($.trim($("input[name='projectName']").val()) == "") {
+ // alert("项目名不能为空!");
+ $modal.alertError("项目名不能为空!");
+ return false;
+ }
+ if ($.trim($("input[name='version']").val()) == "") {
+ // alert("版本不能为空!");
+ $modal.alertError("版本不能为空!");
+ return false;
+ }
+ if ($("select[name='checkType']").val() == "") {
+ // alert("请选择任务类型!");
+ $modal.alertError("请选择任务类型!");
+ return false;
+ }
+
+ var checkType = $("select[name='checkType']");
+ var dfmCheck = checkType.children(":selected").text();
+ //var dfmCheck = $(checkType).val();
+ if (dfmCheckName == dfmCheck) { //必须提供PCB文件包与BOM文件,需提供所有的单板参数、工艺参数。
+ // if (!doValidate('addProjectForm')) {
+ // return false;
+ // }
+ } else if ("BOM预审" == dfmCheck) {
+ //只需提供BOM文件,无需提供PCB文件包。无需提供单板参数、工艺参数。
+ if ($("input[name='bomFile']").val() == "") {
+ // alert("必需提供BOM文件!");
+ $modal.alertError("必需提供BOM文件!");
+ return false;
+ }
+
+ } else if ("CAM验证" == dfmCheck) {
+ //只需提供PCB文件包,无需提供BOM文件。无需提供单板参数、工艺参数。
+ if ($("input[name='pcbFile']").val() == "") {
+ // alert("必需提供PCB文件!");
+ $modal.alertError("必需提供PCB文件!");
+ return false;
+ }
+ }
+
+ //显示进度条
+ // setTimeout(showProcess, 200);
+ $.modal.loading("正在上传文件,请耐心等待...");
+ return true;
+ }
+
var dfmCheckValue = '2';
//如有修改DFM分析自定义的名称,修改这个变量即可
+ //TODO 记得恢复成原样
var dfmCheckName = 'PCB版本对比';
//选择任务类型
@@ -762,10 +827,10 @@
return path.substring(pos+1);
}
- function showProcess()
- {
- $(document).progressDialog.showDialog("正在上传文件,请耐心等待...");
- }
+ // function showProcess()
+ // {
+ // $(document).progressDialog.showDialog("正在上传文件,请耐心等待...");
+ // }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/dfm/service/FileService.java b/ruoyi-system/src/main/java/com/ruoyi/dfm/service/FileService.java
index 388ac0367..26706b16b 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/dfm/service/FileService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/dfm/service/FileService.java
@@ -8,6 +8,7 @@ import com.ruoyi.dfm.util.TimeUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
@@ -37,8 +38,8 @@ public class FileService {
// 获取系统文件根路径
static {
try {
- rootPath = PropertiesUtils.getProperties().getProperty(
- "FILE_PHYSICAL_ROOT");
+// rootPath = PropertiesUtils.getProperties().getProperty(
+// "FILE_PHYSICAL_ROOT");
File file = new File(rootPath);
if (!file.exists()) {
file.mkdir();
@@ -68,7 +69,7 @@ public class FileService {
* @return boolean
* @throws
*/
- public void savePhysicFile(MultipartHttpServletRequest request, List
list , String filePath, boolean isRename, String reNameKey) throws Exception{
+ public void savePhysicFile(UserInfo loginUser, MultipartFile[] multipartFiles, List list , String filePath, boolean isRename, String reNameKey) throws Exception{
try {
String path = rootPath + filePath;
@@ -77,42 +78,19 @@ public class FileService {
log.error("创建项目文件目录失败");
throw new IOException();
}
- /*MultipartRequest multi = new MultipartRequest(request, path,
- maxPostSize, fileEncoding);
- Enumeration fileNames = multi.getFileNames();
-
- int count = 0;
+// Iterator it = request.getFileNames();
+// MultipartFile[] fileArr = new MultipartFile[]{pcbFile, bomFile};
FileInfo fileInfo;
- while (fileNames.hasMoreElements()) {
- // 表单file元素name属性值
- String name = fileNames.nextElement().toString();
- // 原文件名值
- String original = multi.getOriginalFileName(name);
- File file = multi.getFile(name);
- if (null == file) {
+// while (it.hasNext()) {
+ for(MultipartFile multipartFile : multipartFiles) {
+ if(null == multipartFile) {
continue;
}
- fileInfo = new FileInfo();
- fileInfo.setFieldName(name);
- fileInfo.setFileName(original);
- fileInfo.setFileSize(file.length());
- fileInfo.setRelaPath(filePath);
- fileInfo.setUploadTime(TimeUtil.getNowChar14());
- // 设置实际名称
- String extendName = file.getName().substring(
- file.getName().lastIndexOf(".") + 1);
- fileInfo.setExtendName(extendName);
- fileDAO.add(fileInfo);
- list.add(fileInfo);
- count++;
- }*/
- Iterator it = request.getFileNames();
- FileInfo fileInfo;
- while (it.hasNext()) {
// 表单file元素name属性值
- String name = it.next();
+// String name = it.next();
+ String name = multipartFile.getName();
// 原文件名值
- MultipartFile multipartFile = request.getFile(name);
+// MultipartFile multipartFile = request.getFile(name);
String original = multipartFile.getOriginalFilename();
if(null == original || "".equals(original))
{
@@ -151,7 +129,8 @@ public class FileService {
fileInfo.setFileSize(multipartFile.getSize());
fileInfo.setRelaPath(filePath);
fileInfo.setUploadTime(TimeUtil.getNowChar14());
- fileInfo.setUploadUser(((UserInfo)request.getSession().getAttribute("user")).getId());
+// fileInfo.setUploadUser(((UserInfo)request.getSession().getAttribute("user")).getId());
+ fileInfo.setUploadUser(loginUser.getId());
// 设置实际名称
String extendName = original.substring(original.lastIndexOf(".") + 1);
fileInfo.setExtendName(extendName);
@@ -234,5 +213,9 @@ public class FileService {
{
return fileDAO.getById(fid);
}
-
+
+ @Value("${FILE_PHYSICAL_ROOT}")
+ public void setRootPath(String rootPath) {
+ FileService.rootPath = rootPath;
+ }
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/dfm/service/ProjectService.java b/ruoyi-system/src/main/java/com/ruoyi/dfm/service/ProjectService.java
index 992c82ea0..0475f3c5c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/dfm/service/ProjectService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/dfm/service/ProjectService.java
@@ -8,6 +8,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import java.io.File;
@@ -29,15 +31,18 @@ public class ProjectService
@Autowired
private FileService fileService;
- public void addProject(MultipartHttpServletRequest req, Project project) throws Exception
+ public void addProject(UserInfo loginUser, MultipartFile pcbFile, MultipartFile bomFile, Project project) throws Exception
{
try
{
- String dir = ((UserInfo)req.getSession().getAttribute("user")).getUsername() + "/" +
- project.getProjectName() + "/" + "Ver" + project.getVersion();
+// String dir = ((UserInfo)req.getSession().getAttribute("user")).getUsername() + "/" +
+// project.getProjectName() + "/" + "Ver" + project.getVersion();
+ String dir = loginUser.getUsername() + "/" +
+ project.getProjectName() + "/" + "Ver" + project.getVersion();
+ MultipartFile[] multipartFiles = new MultipartFile[]{pcbFile, bomFile};
List fileList = new ArrayList();
- this.fileService.savePhysicFile(req, fileList, dir, false , null);
+ this.fileService.savePhysicFile(loginUser, multipartFiles, fileList, dir, false , null);
for (int i = 0; i < fileList.size(); ++i)
{
FileInfo file = (FileInfo)fileList.get(i);