Browse Source

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/jeeplus/modules/workmaterialcollect/dao/WorkMaterialCollectTypeDao.java
#	src/main/webapp/webpage/modules/workmaterialcollect/workMaterialCollectEngineerForm.jsp
user5 5 years ago
parent
commit
a878ec6b51

+ 3 - 0
src/main/java/com/jeeplus/modules/workmaterialcollect/dao/WorkMaterialCollectTypeDao.java

@@ -26,4 +26,7 @@ public interface WorkMaterialCollectTypeDao extends CrudDao<WorkMaterialCollectT
     public void updateStatusId(String id);
 
     public void deleteWorkInformationCollectType(String id);
+
+    //逻辑删除
+    public Integer updateEngId(String id);
 }

+ 17 - 7
src/main/java/com/jeeplus/modules/workmaterialcollect/service/WorkMaterialCollectEngineerService.java

@@ -95,9 +95,12 @@ public class WorkMaterialCollectEngineerService extends CrudService<WorkMaterial
     public void updateCollectEngineer(WorkMaterialCollectEngineer workMaterialCollectEngineer){
         //存在的id
         List<String> strings = new ArrayList<String>();
-        for (WorkMaterialCollectType work:workMaterialCollectEngineer.getWorkMaterialCollectTypes()){
-            if (null!=work.getId()){
-                strings.add(work.getId());
+        //把存在id 的工程类型存在在strings list当中
+        if (null!=workMaterialCollectEngineer.getWorkMaterialCollectTypes()){
+            for (WorkMaterialCollectType work:workMaterialCollectEngineer.getWorkMaterialCollectTypes()){
+                if (null!=work.getId()){
+                    strings.add(work.getId());
+                }
             }
         }
         //查找项目集合
@@ -114,13 +117,14 @@ public class WorkMaterialCollectEngineerService extends CrudService<WorkMaterial
         for (WorkMaterialCollectType workMaterialCollectType1:workType){
             flag = true;
             for (int i = 0; i < strings.size(); i++) {
+                //如果存在集合中id 等于 strings中id
                 if (workMaterialCollectType1.getId().equals(strings.get(i))){
                     flag = false;
 //                    strings.remove(i);
 //                    i--;
                 }
             }
-            if (flag){
+            if (flag){//如果不存在删除
                 workMaterialCollectTypeDao.delete(workMaterialCollectType1);
                 workattachment = new Workattachment();
                 workattachment.setId(workMaterialCollectType1.getId());
@@ -132,8 +136,15 @@ public class WorkMaterialCollectEngineerService extends CrudService<WorkMaterial
 
     @Transactional(readOnly = false)
     public void saveAddWorkEng(WorkMaterialCollectEngineer workMaterialCollectEngineer){
+        String area = workMaterialCollectEngineer.getProjectSite();
+        area = area.substring(area.indexOf(",")+1);
+        //获取基本保存信息
+        workMaterialCollectEngineer.setProjectSite(area);
+        //获取修改状态
         workMaterialCollectEngineer.preUpdate();
+        //修改项目
         workMaterialCollectEngineerDao.update(workMaterialCollectEngineer);
+        //获取类型
         List<WorkMaterialCollectType> workMaterialCollectTypes = workMaterialCollectEngineer.getWorkMaterialCollectTypes();
         Workattachment workattachment = null;
         String uploadType = "";
@@ -202,7 +213,7 @@ public class WorkMaterialCollectEngineerService extends CrudService<WorkMaterial
     public void deleteWorkInformation(WorkMaterialCollectEngineer workMaterialCollectEngineer){
         WorkMaterialCollectEngineer workEngineer = workMaterialCollectEngineerDao.get(workMaterialCollectEngineer.getId());
         //删除项目名称表
-        workMaterialCollectEngineerDao.delete(workEngineer);
+        workMaterialCollectEngineerDao.deleteByLogic(workEngineer);
         //查找项目类型表
         WorkMaterialCollectType workMaterialCollectType = new WorkMaterialCollectType();
         workMaterialCollectType.setEngineerId(workEngineer.getId());
@@ -214,8 +225,7 @@ public class WorkMaterialCollectEngineerService extends CrudService<WorkMaterial
             }
         }
         //删除类型表
-        workMaterialCollectTypeDao.deleteEngId(workEngineer.getId());
-
+        workMaterialCollectTypeDao.updateEngId(workEngineer.getId());
     }
 
     public void deleteWorkInformationCollectType(String id){

+ 16 - 0
src/main/java/com/jeeplus/modules/workmaterialcollect/service/WorkMaterialCollectTotalService.java

@@ -137,6 +137,22 @@ public class WorkMaterialCollectTotalService extends CrudService<WorkMaterialCol
         return workMaterialCollectTotalList;
     }
 
+    //验证数据问题
+    public String getCheck(List<WorkMaterialCollectTotal> materialCollects){
+        String str = "";
+        boolean flag = true;
+        for (WorkMaterialCollectTotal workMaterialCollectTotal:materialCollects){
+            if (flag){
+                if (null == workMaterialCollectTotal.getExcludingTax()){
+                    flag = false;
+                    str += "除税市场价不能为空且必须为数字!";
+                    break;
+                }
+            }
+        }
+        return str;
+    }
+
     //导入后追加工程,项目信息
     @Transactional(readOnly = false)
     public void getAdditionalInformation(List<WorkMaterialCollectTotal> workMaterialCollectTotals,String itemHideId, String projecTypeId,String remarks){

+ 4 - 4
src/main/java/com/jeeplus/modules/workmaterialcollect/web/WorkMaterialCollectEngineerController.java

@@ -135,7 +135,7 @@ public class WorkMaterialCollectEngineerController extends BaseController {
     @RequestMapping(value = "save")
     public String save(WorkMaterialCollectEngineer workMaterialCollectEngineer,Model model, RedirectAttributes redirectAttributes){
         //判断修改还是删除
-        try{
+//        try{
             if (!"".equals(workMaterialCollectEngineer.getId())){
                 //修改
                 workMaterialCollectEngineerService.updateCollectEngineer(workMaterialCollectEngineer);
@@ -143,9 +143,9 @@ public class WorkMaterialCollectEngineerController extends BaseController {
                 //保存
                 workMaterialCollectEngineerService.saveCollectEngineer(workMaterialCollectEngineer);
             }
-        }catch (Exception e){
-            e.printStackTrace();
-        }
+//        }catch (Exception e){
+//            e.printStackTrace();
+//        }
         //获取工程类型集合
         return "redirect:"+ Global.getAdminPath()+"/workMaterialCollect/engineer/?repage";
     }

+ 6 - 0
src/main/java/com/jeeplus/modules/workmaterialcollect/web/WorkMaterialCollectTotalController.java

@@ -73,6 +73,11 @@ public class WorkMaterialCollectTotalController extends BaseController {
             StringBuilder failureMsg = new StringBuilder();
             ImportExcel ei = new ImportExcel(file, 1, 0);
             List<WorkMaterialCollectTotal> materialCollects = ei.getDataList(WorkMaterialCollectTotal.class);
+            String check = workMaterialCollectTotalService.getCheck(materialCollects);
+            if (!"".equals(check)){
+                addMessage(redirectAttributes, "导入客户信息失败!失败信息:"+check);
+                return "redirect:"+ Global.getAdminPath()+"/workMaterialCollect/engineerSure/?repage";
+            }
             List<WorkMaterialCollectTotal> duplicateRemoval = workMaterialCollectTotalService.getDuplicateRemoval(materialCollects);
 //            List<WorkMaterialCollectTotal> materialCollects = workMaterialCollectTotalService.getMaterialCollectImportExcel(ei);
             workMaterialCollectTotalService.getAdditionalInformation(duplicateRemoval,itemHideId,projectTypeId,remarks);
@@ -96,6 +101,7 @@ public class WorkMaterialCollectTotalController extends BaseController {
         }
 //        ajaxJson.setSuccess(false);
 //        ajaxJson.setMsg("上传失败");
+        addMessage(redirectAttributes, "上传成功!");
         return "redirect:"+ Global.getAdminPath()+"/workMaterialCollect/engineerSure/?repage";
     }
 //    @ResponseBody

+ 1 - 0
src/main/java/com/jeeplus/modules/workmaterialcollect/web/WorkMaterialModelListController.java

@@ -31,6 +31,7 @@ public class WorkMaterialModelListController {
     private WorkMaterialCollectEngineerService workMaterialCollectEngineerService;
     @Autowired
     private WorkMaterialCollectTypeService workMaterialCollectTypeService;
+
     @ResponseBody
     @RequestMapping(value = "list.do")
     public List<WorkMaterialCollectTotal> list(String itemName,WorkMaterialCollectTotal workMaterialCollectTotal, Model model){

+ 7 - 0
src/main/resources/mappings/modules/workmaterialcollect/WorkMaterialCollectTypeDao.xml

@@ -164,6 +164,13 @@
 		WHERE id = #{id}
 	</update>
 
+	<!--逻辑删除-->
+	<update id="updateEngId">
+		UPDATE work_material_collect_type SET
+			del_flag = #{DEL_FLAG_DELETE}
+		WHERE engineerId = #{id}
+	</update>
+
 	<delete id="deleteEngId">
 		DELETE FROM work_material_collect_type
 		WHERE engineerId = #{id}

+ 5 - 5
src/main/webapp/webpage/modules/workmaterialcollect/gridselectWork.jsp

@@ -6,11 +6,11 @@
 	<script type="text/javascript">
         var validateForm;
         function doSubmit(obj){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
-            if(obj == 2){
-                $("#inputForm").attr("action","${ctx}/workstockcontract/workStockContract/store");
-            }else{
-                $("#inputForm").attr("action","${ctx}/workstockcontract/workStockContract/save");
-            }
+            <%--if(obj == 2){--%>
+                <%--$("#inputForm").attr("action","${ctx}/workstockcontract/workStockContract/store");--%>
+            <%--}else{--%>
+                <%--$("#inputForm").attr("action","${ctx}/workstockcontract/workStockContract/save");--%>
+            <%--}--%>
             if($("#file_attachment tr").length==0){
                 top.layer.alert('请上传采集文件!', {icon: 0});
                 return false;

+ 182 - 23
src/main/webapp/webpage/modules/workmaterialcollect/modelCollect/workMaterialCollectModelList.jsp

@@ -19,7 +19,9 @@
     .model_fex{
      width: 12%;
     }
-
+    .model_top{
+        margin-top: 0px;
+    }
 </style>
 <script>
     $(function () {
@@ -61,7 +63,7 @@
                                 "</div>" +
                             "</div>";
                     }
-                    $("#toList").append(html);
+                    $("#toList").html(html);
                 }
             }
         });
@@ -86,18 +88,16 @@
                         for (var i = 0; i < data[k].workMaterialCollectTypes.length; i++) {
                             // alert(data[i].id)
                             // alert(data[i].materialName);
-                            html+=" <div class='weui-cell'>" +
-                                "<div class='weui-flex' style=''>" +
+                            html+= "<div class='weui-flex' style=''>" +
                                 "<div class='weui-flex__item'>"+data[k].projectName+"</div>" +
                                 "<div class='weui-flex__item'>"+data[k].projectSite+"</div>" +
                                 "<div class='weui-flex__item'>"+data[k].workMaterialCollectTypes[i].projectType+"</div>" +
                                 "<div class='weui-flex__item'>/</div>" +
                                 "<div class='weui-flex__item'><a href='/workMaterialCollect/total/project.view?itemId="+data[k].id+"&projectTypeId="+data[k].workMaterialCollectTypes[i].id+"'>查看</a></div>" +
-                                "</div>" +
                                 "</div>";
                         }
                     }
-                    $("#toList").append(html);
+                    $("#toList").html(html);
                 }
             }
         });
@@ -105,30 +105,189 @@
 </script>
 <body>
 <div style="padding: 2px">
-    <div class="weui-flex">
-        <div class="weui-flex__item">测试布局</div>
-        <div class="weui-flex__item">测试布局</div>
+    <div class="weui-cells model_top">
+        <div class="weui-cell">
+            <div class="weui-cell__hd" style="width:20%">
+                <input class="weui-input" type="text" name="marterialName" onchange="materialNameUpdate()" id='marterialName' value="材料"/>
+            </div>
+            <div class="weui-cell__bd" style="width:100%">
+                <input id="projectName" name="projectName" type="text"  maxlength="64" class=" form-control  layui-input laydate-icon" value="" />
+            </div>
+            <div class="weui-cell__ft" style="width:20%">
+                <a href="javascript:;" onclick="solr()" class="">按钮</a>
+            </div>
+        </div>
+    </div>
+    <%--<div class='weui-cells model_top'>--%>
+        <%--<div class="weui-flex" style="height: 30px;width: 100%">--%>
+            <%--<div class="weui-flex__item" style="height: 30px;width: 100%;background-color: blue">--%>
+                <%--<div style="width: 20%;background-color: red">--%>
+                <%--</div>--%>
+            <%--</div>--%>
+        <%--</div>--%>
+    <%--</div>--%>
+    <div class="weui-cells model_top"  id="matarial">
+        <div class="weui-flex">
+            <div class="weui-flex__item">
+                <input class="weui-input" type="text" readonly="readonly" onchange="projectTypeUpdate()"  name="" id='projectType' value="分类"/>
+            </div>
+            <div class="weui-flex__item">
+                <input class="weui-input" type="text" name="specific1" id="" value="时间"/>
+            </div>
+            <div class="weui-flex__item">
+                <input class="weui-input" type="text" name="projectSize" id='projectSize' value="地址"/>
+            </div>
+        </div>
+    </div>
+    <div class="weui-cells model_top" style="display: none"  id="project">
+        <div class="weui-flex">
+            <div class="weui-flex__item">
+                <input class="weui-input" type="text" name="specific1"  value="地区"/>
+            </div>
+            <div class="weui-flex__item">
+                <input class="weui-input" type="text" name="projectSize"  value="时间"/>
+            </div>
+        </div>
     </div>
-    <div class='weui-cells' id="toList">
+    <div class='weui-cells model_top' id="toList">
 
     </div>
 </div>
 
 </body>
 <script type="text/javascript">
-    $("#in").select({
-        title: "选择类型",
-        multi: true,
-        items: [
-            {
-                title: "项目",
-                value: 1
-            },
-            {
-                title: "材料",
-                value: 2
-            },
-        ]
+    $("#marterialName").select({
+        title: "选择",
+        items: ["材料","项目"]
     });
+    $("#projectType").select({
+        title: "选择分类",
+        items: ["土建工程", "安装工程", "装饰工程", "绿化工程"]
+    });
+    
+    function projectTypeUpdate() {
+        $("#projectName").val("");
+        var projectType = $("#projectType").val();
+        var html = "";
+        $.ajax({
+            type: "POST",
+            url: "/workMaterialCollect/total/list.do",
+            data: { 'projectType': projectType},
+            dataType: "json",
+            success: function (data) {
+                // alert(data);
+                if (data.length > 0) {
+                    html +='<div class="weui-flex" style="background-color: #f9f9f9">\n' +
+                        '            <div class="weui-flex__item model_fex">名称</div>\n' +
+                        '            <div class="weui-flex__item">型号</div>\n' +
+                        '            <div class="weui-flex__item">单位</div>\n' +
+                        '            <div class="weui-flex__item">含税价</div>\n' +
+                        '            <div class="weui-flex__item">除税价</div>\n' +
+                        '            <div class="weui-flex__item">分析</div>\n' +
+                        '       </div>';
+                    for (var i = 0; i < data.length; i++) {
+                        // alert(data[i].id)
+                        // alert(data[i].materialName);
+                        html+="<div class='weui-flex' style=''>" +
+                            "<div class='weui-flex__item model_fex'>"+data[i].materialName+"</div>" +
+                            "<div class='weui-flex__item'>"+data[i].specifications+"</div>" +
+                            "<div class='weui-flex__item'>"+data[i].unit+"</div>" +
+                            "<div class='weui-flex__item'>/</div>" +
+                            "<div class='weui-flex__item'>"+data[i].excludingTax+"</div>" +
+                            "<div class='weui-flex__item'><a href='/workMaterialCollect/total/view?id="+data[i].id+"'>查看</a></div>" +
+                            "</div>";
+                        html+="<div class='weui-flex' style=''>" +
+                            "<div class='weui-flex__item model_fex' style='font-size: 5px'>" +
+                            "来源:<span>"+data[i].projectName+"</span>项目;分类:<span>"+data[i].projectType+"</span>;工程时间<span>"+data[i].startDate+"/"+data[i].endDate+"</span>" +
+                            "</div>" +
+                            "</div>";
+                    }
+                }else {
+                    html+='';
+                }
+                $("#toList").html(html);
+            }
+        });
+    }
+    
+    function materialNameUpdate() {
+        var materialNameUpdate = $("#marterialName").val();
+        if (materialNameUpdate=='材料'){
+            $("#matarial").attr("style","");
+            $("#project").attr("style","display: none");
+            loadlist()
+        }else {
+            $("#matarial").attr("style","display: none");
+            $("#project").attr("style","");
+            loadlistProject();
+        }
+
+    }
+    function solr() {
+        var materialNameUpdate = $("#marterialName").val();
+        if (materialNameUpdate=='材料'){
+            $("#matarial").attr("style","");
+            $("#project").attr("style","display: none");
+            var projectName = $("#projectName").val();
+            var projectType = $("#projectType").val();
+            if (projectType == "分类") {
+                projectType='';
+            }
+            var times = $("#time").val();
+            if (times == '时间'){
+                times = '';
+            }
+            var projectSize = $("#projectSize").val();
+            if (projectSize == '地区'){
+                projectSize = '';
+            }
+            materialSolr(projectName,projectType,times,projectSize);
+        }else {
+            // $("#matarial").attr("style","display: none");
+            // $("#project").attr("style","");
+            // loadlistProject();
+        }
+    }
+    function materialSolr(materialName,projectType,time,projectSize) {
+        var html = "";
+        alert(materialName);
+        $.ajax({
+            type: "POST",
+            url: "/workMaterialCollect/total/list.do",
+            data: {'materialName':materialName,'projectType':projectType,'time':time,'projectSize':projectSize},
+            dataType: "json",
+            success: function (data) {
+                // alert(data);
+                if (data.length > 0) {
+                    html +='<div class="weui-flex" style="background-color: #f9f9f9">\n' +
+                        '            <div class="weui-flex__item model_fex">名称</div>\n' +
+                        '            <div class="weui-flex__item">型号</div>\n' +
+                        '            <div class="weui-flex__item">单位</div>\n' +
+                        '            <div class="weui-flex__item">含税价</div>\n' +
+                        '            <div class="weui-flex__item">除税价</div>\n' +
+                        '            <div class="weui-flex__item">分析</div>\n' +
+                        '       </div>';
+                    for (var i = 0; i < data.length; i++) {
+                        html+="<div class='weui-flex' style=''>" +
+                            "<div class='weui-flex__item model_fex'>"+data[i].materialName+"</div>" +
+                            "<div class='weui-flex__item'>"+data[i].specifications+"</div>" +
+                            "<div class='weui-flex__item'>"+data[i].unit+"</div>" +
+                            "<div class='weui-flex__item'>/</div>" +
+                            "<div class='weui-flex__item'>"+data[i].excludingTax+"</div>" +
+                            "<div class='weui-flex__item'><a href='/workMaterialCollect/total/view?id="+data[i].id+"'>查看</a></div>" +
+                            "</div>";
+                        html+="<div class='weui-flex' style=''>" +
+                            "<div class='weui-flex__item model_fex' style='font-size: 5px'>" +
+                            "来源:<span>"+data[i].projectName+"</span>项目;分类:<span>"+data[i].projectType+"</span>;工程时间<span>"+data[i].startDate+"/"+data[i].endDate+"</span>" +
+                            "</div>" +
+                            "</div>";
+                    }
+                }else {
+                    html+="";
+                }
+                $("#toList").html(html);
+            }
+        });
+    }
 </script>
 </html>

+ 5 - 5
src/main/webapp/webpage/modules/workmaterialcollect/workMaterialCollectEngineerForm.jsp

@@ -346,11 +346,11 @@
 												<%--</c:choose>--%>
 											<%--</c:otherwise>--%>
 										<%--</c:choose>--%>
-									<td class="text-center op-td" id="workMaterialCollectTypes${index.index}_4">
-										<a href="javascript:void(0)"
-										   onclick="deleteFileFromAliyun(this,'${ctx}/workMaterialCollect/engineer/deleteFileFromAliyun?url=${workMaterialCollectType.workattachment.url}&id=${workMaterialCollectType.workattachment.id}&type=2','addFile')"
-										   class="op-btn op-btn-delete"><i class="fa fa-trash"></i>&nbsp;删除</a>
-
+										<td class="hide">
+											<input id="workMaterialCollectTypes${index.index}_4" readonly="true" name="workMaterialCollectTypes[${index.index}].workattachment.url" value="${workMaterialCollectType.workattachment.url}" class="form-control "/>
+										</td>
+									<td class="text-center op-td" >
+										<span class="op-btn op-btn-delete" id="workMaterialCollectTypes${index.index}_span" onclick="delRow(this, '#workItemCollarCatalogList${index.index}','${workMaterialCollectType.workattachment.url}')" title="删除"><i class="glyphicon glyphicon-remove"></i>&nbsp;删除</span>
 									</td>
 								</tr>
 							</c:forEach>

+ 1 - 2
src/main/webapp/webpage/modules/workmaterialcollect/workMaterialCollectEngineerSureForm.jsp

@@ -102,10 +102,9 @@
                     var inputForm =top.$("#importForm");
                     var top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
                     inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
-					$("#"+status).val("已上传");
+					// $("#"+status).val("已上传");
                     $("#"+status).attr("style","color:black");
                     top.$("#importForm").submit();
-                    parent.layer.msg("上传成功", {icon: 1});
                 },
 
                 btn3: function(index){