소스 검색

材料库功能开发

user5 3 년 전
부모
커밋
b050acba82

+ 6 - 2
src/main/java/com/jeeplus/modules/projectmaterialstorage/dao/ProjectMaterialStorageDao.java

@@ -4,7 +4,6 @@ package com.jeeplus.modules.projectmaterialstorage.dao;
 
 import com.jeeplus.common.persistence.CrudDao;
 import com.jeeplus.common.persistence.annotation.MyBatisDao;
-import com.jeeplus.modules.project.entity.Project;
 import com.jeeplus.modules.projectmaterialstorage.entity.ProjectMaterialStorage;
 import com.jeeplus.modules.projectmaterialstorage.entity.ProjectMaterialStorageImport;
 import org.apache.ibatis.annotations.Param;
@@ -31,7 +30,12 @@ public interface ProjectMaterialStorageDao extends CrudDao<ProjectMaterialStorag
      */
     public Integer selectCountAboutProjectMaterialStorage(ProjectMaterialStorageImport projectMaterialStorage);
 
-
+    /**
+     * 根据信息查询数据
+     * @param projectMaterialStorage
+     * @return
+     */
+    List<ProjectMaterialStorage> getByInfo(ProjectMaterialStorage projectMaterialStorage);
 
 
 

+ 20 - 0
src/main/java/com/jeeplus/modules/projectmaterialstorage/service/ProjectMaterialStorageService.java

@@ -139,6 +139,26 @@ public class ProjectMaterialStorageService extends CrudService<ProjectMaterialSt
         return "修改失败";
     }
 
+    /**
+     * 修改项目表中的材料库状态信息
+     */
+    @Transactional(readOnly = false)
+    public Map<String,Object> saveInfo(ProjectMaterialStorage projectMaterialStorage){
+        Map<String,Object> map = new HashMap<>();
+        //根据数据信息查询是否存在重复项
+        List<ProjectMaterialStorage> infoList = projectMaterialStorageDao.getByInfo(projectMaterialStorage);
+        if(infoList.size()>0){
+            map.put("success",false);
+            map.put("message","该材料已存在,请勿重复上传");
+            return map;
+        }else{
+            super.save(projectMaterialStorage);
+        }
+        map.put("success",true);
+        map.put("message","材料保存成功");
+        return map;
+    }
+
 
     /**
      * 批量保存或更新

+ 6 - 2
src/main/java/com/jeeplus/modules/projectmaterialstorage/web/ProjectMaterialStorageController.java

@@ -28,7 +28,6 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.UnsupportedEncodingException;
-import java.lang.reflect.Type;
 import java.net.URLDecoder;
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -380,7 +379,12 @@ public class ProjectMaterialStorageController extends BaseController {
         }
 
 
-        projectMaterialStorageService.save(projectMaterialStorage);
+        Map<String, Object> returnMap = projectMaterialStorageService.saveInfo(projectMaterialStorage);
+        Boolean success = (Boolean) returnMap.get("success");
+        if(!success){
+            addMessage(redirectAttributes, returnMap.get("message").toString());
+            return "redirect:"+Global.getAdminPath()+"/project/projectMaterialStorage/?repage";
+        }
         RuralProjectRecords ruralProjectRecords = ruralProjectRecordsService.get(projectMaterialStorage.getProjectNumber());
 //           修改2代表已处理
         ruralProjectRecords.setprojectMaterialStorageStatus("2");

+ 17 - 1
src/main/resources/mappings/modules/projectMaterialStorage/ProjectMaterialStorageDao.xml

@@ -79,7 +79,7 @@
 				ORDER BY ${page.orderBy}
 			</when>
 			<otherwise>
-				ORDER BY r.create_date DESC,a.create_date DESC
+				ORDER BY a.create_date DESC,r.create_date DESC
 			</otherwise>
 		</choose>
 	</select>
@@ -174,6 +174,22 @@
 	</select>
 
 
+	<select id="getByInfo" resultType="com.jeeplus.modules.projectmaterialstorage.entity.ProjectMaterialStorage">
+		SELECT
+		<include refid="projectMaterialStorageColumns"/>
+		FROM project_material_storage a
+		left join rural_project_records r on a.project_number = r.id
+		<where>
+			a.del_flag = 0
+			and a.project_number = #{projectNumber}
+			and a.material_name = #{materialName}
+			and a.price = #{price}
+			and a.unit = #{unit}
+			<if test="id !=null and id != ''">
+				AND a.id != #{id}
+			</if>
+		</where>
+	</select>
 
 
 	<insert id="batchInsert">

+ 3 - 3
src/main/webapp/webpage/modules/projectMaterialStorage/projectMaterialStorageTwoForm.jsp

@@ -99,19 +99,19 @@
 				<div class="layui-item layui-col-sm6">
 					<label class="layui-form-label"><span class="require-item invoicetype">*</span>材料名称</label>
 					<div class="layui-input-block">
-						<form:input id="materialName" path="materialName" htmlEscape="false"  placeholder="请输入材料名称"  class="form-control layui-input"  value="${projectMaterialStorage.materialName}" required="true"/>
+						<form:input id="materialName" path="materialName" htmlEscape="false"  placeholder="请输入材料名称"  class="form-control layui-input" required="true"/>
 					</div>
 				</div>
 				<div class="layui-item layui-col-sm6">
 					<label class="layui-form-label"><span class="require-item invoicetype" >*</span>材料单位</label>
 					<div class="layui-input-block">
-						<form:input id="unit" path="unit" htmlEscape="false"  placeholder="请输入材料单位"  class="form-control layui-input" value="${projectMaterialStorage.unit}"  />
+						<form:input id="unit" path="unit" htmlEscape="false"  placeholder="请输入材料单位"  class="form-control required layui-input" />
 					</div>
 				</div>
 				<div class="layui-item layui-col-sm6">
 					<label class="layui-form-label"><span class="require-item invoicetype">*</span>单价(元)</label>
 					<div class="layui-input-block">
-						<form:input id="price" path="price" htmlEscape="false"  placeholder="请输入单价"  class="form-control layui-input"  value="${projectMaterialStorage.price}" required="true" />
+						<form:input id="price" path="price" htmlEscape="false"  placeholder="请输入单价"  class="form-control required layui-input"  onkeyup="num(this)" />
 					</div>
 				</div>