[user3] 4 年之前
父節點
當前提交
b0b2fefd6b

+ 19 - 0
src/main/java/com/jeeplus/modules/sg/financial/settlement/mapper/DonorMaterialMapper.java

@@ -106,4 +106,23 @@ public interface DonorMaterialMapper extends BaseMapper<DonorMaterial> {
      * @param material 物料信息
      * */
     void insertErpOne(ErpCreditMaterial material);
+
+    /**
+     * 更新项目所有的erp数量默认为0
+     * @param projectId 项目定义号
+     * */
+    void updateErpZero(String projectId);
+
+
+    /**
+     * 删除项目id的甲供材信息
+     * @param list
+     * */
+    void delAll(List<String> list);
+
+    /**
+     * 更新项目id的状态
+     * @param list
+     * */
+    void updateStatus(List<String> list);
 }

+ 21 - 1
src/main/java/com/jeeplus/modules/sg/financial/settlement/mapper/xml/DonorMaterialMapper.xml

@@ -200,6 +200,12 @@
 		from finance_project_donor_material
 		where project_id = #{projectId}
 	</delete>
+	<delete id="delAll">
+		<foreach collection="list" item="item" index="index">
+			delete from finance_project_donor_material
+			where project_id = #{item}
+		</foreach>
+	</delete>
 
 
 	<update id="updateRemarks">
@@ -263,7 +269,8 @@
 			where project_id = #{projectId} and materail_describe = #{material.eqmMaterialDetails2};
 	</update>
 
-	<insert id="insertErpOne">
+
+    <insert id="insertErpOne">
 		INSERT INTO finance_project_donor_material(
 			id,
 			create_by,
@@ -295,4 +302,17 @@
 			#{mtlNumbers}
 		)
 	</insert>
+
+	<update id="updateErpZero">
+		update finance_project_donor_material
+		set erp_num = 0
+		where project_id = #{projectId};
+	</update>
+	<update id="updateStatus">
+		<foreach collection="list" item="item" index="index">
+			update finance_project_budget set
+			donor_material_check = '0'
+			where project_id = #{item}
+		</foreach>
+	</update>
 </mapper>

+ 17 - 13
src/main/java/com/jeeplus/modules/sg/financial/settlement/service/CostCheckService.java

@@ -176,11 +176,13 @@ public class CostCheckService extends CrudService<CostCheckMapper, CostCheck> {
 	public Map<String, List<String>> verifyProjectsCost(List<ErpCredit> erpCredits) {
 		HashMap hashMap = new HashMap();
 		costCheckMapper.updatePaid(erpCredits);
+		int conFlg;
 		List<String> notExitList = new ArrayList<>();
 		List<String> notPassList = new ArrayList<>();
 		for (ErpCredit e :
 				erpCredits) {
 			//项目定义号
+			conFlg = 0;
 			String projectId = e.getItemId();
 			CostCheck aLlPaid = costCheckMapper.findALlPaid(projectId);
 			if (null != aLlPaid) {
@@ -210,30 +212,32 @@ public class CostCheckService extends CrudService<CostCheckMapper, CostCheck> {
 					notExitList.add(projectId);
 					if (null == constructionAmountDue) {
 						projectBudgetService.updateCheck(projectId,"construction_cost_check","2");
+						conFlg = 1;
 					}
 					if (null == designAmountDue) {
-						projectBudgetService.updateCheck(projectId,"design_cost_check","2");
+						designAmountDue = 0.0;
 					}
 					if (null == supervisorAmountDue) {
-						projectBudgetService.updateCheck(projectId,"supervisor_cost_check","2");
+						supervisorAmountDue = 0.0;
 					}
-					break;
 				}
-				int con = constructionAmountDue.compareTo(constructionAmountPaid);
 				int des = designAmountDue.compareTo(designAmountPaid);
 				int sup = supervisorAmountDue.compareTo(supervisorAmountPaid);
 				//判断施工费是否相等
-				if (con != 0) {
-					//不相等,判断是否运行少付
-					if ("0".equals(constructionUnderPayment)) {
-						notPassList.add(projectId);
-						projectBudgetService.updateCheck(projectId,"construction_cost_check","2");
-					}else {
+				if (conFlg != 1) {
+					int con = constructionAmountDue.compareTo(constructionAmountPaid);
+					if (con != 0) {
+						//不相等,判断是否运行少付
+						if ("0".equals(constructionUnderPayment)) {
+							notPassList.add(projectId);
+							projectBudgetService.updateCheck(projectId,"construction_cost_check","2");
+						}else {
+							projectBudgetService.updateCheck(projectId,"construction_cost_check","1");
+						}
+					}else{
+						//验证通过
 						projectBudgetService.updateCheck(projectId,"construction_cost_check","1");
 					}
-				}else{
-					//验证通过
-					projectBudgetService.updateCheck(projectId,"construction_cost_check","1");
 				}
 
 				//判断设计费是否相等

+ 27 - 12
src/main/java/com/jeeplus/modules/sg/financial/settlement/service/DonorMaterialService.java

@@ -103,20 +103,19 @@ public class DonorMaterialService extends CrudService<DonorMaterialMapper, Donor
             Object obj = module.getCellValue(row, 2);
             Row nameRow = module.getRow(2);
             Object nameObj = module.getCellValue(nameRow, 2);
-            if (obj == null) {
-                throw new RuntimeException("找不到项目编号!");
-            }
             String projectId = ((String) obj).trim();
             String projectName = ((String) nameObj).trim();
-            int project = donorMaterialMapper.findByProjectId(projectId);
-            if (project > 0) {
-                donorMaterialMapper.delByProjectId(projectId);
+            if (null != projectId && !"".equals(projectId) && null != projectName && !"".equals(projectName)) {
+                int project = donorMaterialMapper.findByProjectId(projectId);
+                if (project > 0) {
+                    donorMaterialMapper.delByProjectId(projectId);
+                }
+                //保存
+                ImportExcel pick = new ImportExcel(file, 6, "甲供材超(欠)供分析表");
+                //获取领料清单数据
+                List<DonorMaterial> donorMaterials = getData(pick, projectId, projectName);
+                insertList(donorMaterials);
             }
-            //保存
-            ImportExcel pick = new ImportExcel(file, 6, "甲供材超(欠)供分析表");
-            //获取领料清单数据
-            List<DonorMaterial> donorMaterials = getData(pick, projectId, projectName);
-            insertList(donorMaterials);
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -269,7 +268,7 @@ public class DonorMaterialService extends CrudService<DonorMaterialMapper, Donor
     /***
      * 查询所有甲供欠供说明
      * */
-    public List<DonorMaterial> findALLRemarks(DonorMaterial donorMaterial){
+    public List<DonorMaterial> findALLRemarks(DonorMaterial donorMaterial) {
         return donorMaterialMapper.findALLRemarks(donorMaterial);
     }
 
@@ -290,6 +289,7 @@ public class DonorMaterialService extends CrudService<DonorMaterialMapper, Donor
         //通过项目定义号查询该项目是否存在甲供材信息
         if (null != byId && byId.size() > 0) {
             //通过项目定义号,物料描述更新项目的erp数量
+
             for (ErpCreditMaterial material : list) {
                 String eqmMaterialDetails2 = material.getEqmMaterialDetails2();
                 //通过设备物料描述,项目定义号,查询物料是否存在,存在更新,不存在插入
@@ -336,4 +336,19 @@ public class DonorMaterialService extends CrudService<DonorMaterialMapper, Donor
         }
         return a;
     }
+
+    @Transactional(readOnly = false)
+    public void updateErpZero(String projectId) {
+        donorMaterialMapper.updateErpZero(projectId);
+    }
+
+    @Transactional(readOnly = false)
+    public void delAll(List<String> list) {
+        donorMaterialMapper.delAll(list);
+    }
+
+    @Transactional(readOnly = false)
+    public void updateStatus(List<String> list) {
+        donorMaterialMapper.updateStatus(list);
+    }
 }

+ 26 - 4
src/main/java/com/jeeplus/modules/sg/financial/settlement/web/DonorMaterialController.java

@@ -256,9 +256,6 @@ public class DonorMaterialController extends BaseController {
                 ImportExcel module = new ImportExcel(file[i], 1, "预算封面");
                 Row row = module.getRow(1);
                 Object obj = module.getCellValue(row, 2);
-                if (obj == null) {
-                    throw new RuntimeException("找不到项目编号!");
-                }
                 String projectId = ((String) obj).trim();
                 DonorMaterial project = new DonorMaterial();
                 project.setProjectId(projectId);
@@ -373,6 +370,31 @@ public class DonorMaterialController extends BaseController {
         ResponseUtil.docResponse("甲供物资超欠供说明.doc", docFile, response);
     }
 
-
+    /**
+     * 删除Model
+     * @param ids
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("act:model:del")
+    @RequestMapping(value = "deleteAll")
+    public AjaxJson deleteAll(String ids) {
+        String idArray[] =ids.split(",");
+        List<String> delList = new ArrayList<>();
+        for(String id : idArray){
+            delList.add(id);
+        }
+        HashSet set = new HashSet(delList);
+        delList.clear();
+        delList.addAll(set);
+        //删除项目下所有的甲供材信息
+        //修改该项目的甲供材状态
+        donorMaterialService.delAll(delList);
+        donorMaterialService.updateStatus(delList);
+//        donorMaterialService.delete(id);
+        AjaxJson j = new AjaxJson();
+        j.setMsg("删除成功" );
+        return j;
+    }
 
 }

+ 3 - 0
src/main/java/com/jeeplus/modules/sg/financial/settlement/web/ProjectBudgetController.java

@@ -561,6 +561,8 @@ public class ProjectBudgetController extends BaseController {
                     0:无甲供材数据
                     1:领料完成
                     2:领料未完成*/
+                    //默认将该项目的物料erp数量都更新为0
+                    donorMaterialService.updateErpZero(itemId);
                     if (erpCreditChild2s.size() > 0) {
                         int i = donorMaterialService.verifyProjectMaterial(erpCreditChild2s, itemId);
                         //将有问题的信息记录下来
@@ -665,6 +667,7 @@ public class ProjectBudgetController extends BaseController {
                     0:无甲供材数据
                     1:领料完成
                     2:领料未完成*/
+                    donorMaterialService.updateErpZero(itemId);
                     if (erpCreditChild2s.size() > 0) {
                         int i = donorMaterialService.verifyProjectMaterial(erpCreditChild2s, itemId);
                         //将有问题的信息记录下来

+ 5 - 2
src/main/webapp/webpage/modules/sg/financial/settlement/donorMaterialList.js

@@ -97,7 +97,10 @@
             onShowSearch: function () {
                 $("#search-collapse").slideToggle();
             },
-            columns: [
+            columns: [{
+                     checkbox: true
+                 }
+                ,
                 {
                     field: 'projectId',
                     title: '项目编码'
@@ -227,7 +230,7 @@ function getIdSelections() {
 function deleteAll() {
     jp.confirm('确认要删除该数据记录吗?', function () {
         jp.loading();
-        jp.get("${ctx}/sg/settlement/deleteAll?ids=" + getIdSelections(), function (data) {
+        jp.get("${ctx}/donor/material/deleteAll?ids=" + getIdSelections(), function (data) {
             if (data.success) {
                 $('#dataTable').bootstrapTable('refresh');
                 jp.success(data.msg);

+ 5 - 0
src/main/webapp/webpage/modules/sg/financial/settlement/donorMaterialList.jsp

@@ -63,6 +63,11 @@
                         <i class="fa fa-file-excel-o"></i> 多文件导入
                     </button>
                 </shiro:hasPermission>
+                <shiro:hasPermission name="donor:material:del">
+                    <button id="remove" class="btn btn-danger" disabled onclick="deleteAll()">
+                        <i class="glyphicon glyphicon-remove"></i> 删除
+                    </button>
+                </shiro:hasPermission>
                 <shiro:hasPermission name="donor:material:export">
                     <button id="export" class="btn btn-warning">
                         <i class="fa fa-file-excel-o"></i> 导出

+ 8 - 2
src/main/webapp/webpage/modules/sg/financial/settlement/financeList.js

@@ -116,6 +116,10 @@
                     valign:"middle",
                     align:"center",
                     rowspan: 2
+                    , formatter: function (value, row, index) {
+                    value = jp.unescapeHTML(value);
+                    return "<a href='javascript:view(\"" + row.projectId + "\")'>" + value + "</a>";
+                    }
                 },{
                     title: '费用检查',
                     valign:"middle",
@@ -194,6 +198,7 @@
 
         $("#search").click("click", function () {// 绑定查询按扭
             $('#dataTable').bootstrapTable('refresh');
+            getTdValue();
         });
 
         $("#reset").click("click", function () {// 绑定查询按扭
@@ -201,6 +206,7 @@
             $("#searchForm  select").val("");
             $("#searchForm  .select-item").html("");
             $('#dataTable').bootstrapTable('refresh');
+            getTdValue();
         });
 
     });
@@ -213,7 +219,7 @@ function getIdSelections() {
 
 function getTdValue() {
     var tableId = document.getElementById("dataTable");
-    if (tableId.rows.length>3){
+    if (tableId.rows.length>2){
         for(var i = 2;i < tableId.rows.length;i++) {
             if(tableId.rows[i].cells[4].innerHTML!="-" && tableId.rows[i].cells[4].innerHTML=="未通过"){
                 tableId.rows[i].cells[4].setAttribute("style","color: red;text-align:center;vertical-align:middle;");
@@ -279,6 +285,6 @@ function view(id) {//没有权限时,不显示确定按钮
     if (id == undefined) {
         id = getIdSelections();
     }
-    jp.openViewDialog('查看', "${ctx}/finance/budget/form?id=" + id, '800px', '500px');
+    jp.openTab("${ctx}/donor/material/list?projectId=" +id,'甲供材物料', true);
 }
 </script>