Parcourir la source

费用入账保存修改

xs il y a 5 ans
Parent
commit
e556f0a628

+ 4 - 0
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/mapper/ErpCreditEquipmentMapper.java

@@ -5,6 +5,7 @@ import com.jeeplus.core.persistence.BaseMapper;
 import com.jeeplus.core.persistence.annotation.MyBatisMapper;
 import com.jeeplus.modules.sg.financial.erpcredit.entity.ErpCredit;
 import com.jeeplus.modules.sg.financial.erpcredit.entity.ErpCreditEquipment;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -12,4 +13,7 @@ import java.util.List;
 public interface ErpCreditEquipmentMapper extends BaseMapper<ErpCreditEquipment> {
 
     public List<ErpCreditEquipment> findErpCreditChild1List(List<String> strings);
+
+    public Integer deleteAll();
+    int insertList(@Param("list") List<ErpCreditEquipment> list);
 }

+ 5 - 0
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/mapper/ErpCreditMapper.java

@@ -6,6 +6,7 @@ package com.jeeplus.modules.sg.financial.erpcredit.mapper;
 import com.jeeplus.core.persistence.BaseMapper;
 import com.jeeplus.core.persistence.annotation.MyBatisMapper;
 import com.jeeplus.modules.sg.financial.erpcredit.entity.ErpCredit;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -14,4 +15,8 @@ import java.util.List;
 public interface ErpCreditMapper extends BaseMapper<ErpCredit> {
     //查询
     public List<ErpCredit> findErpCreditList(List<String> strings);
+
+    public Integer deleteAll();
+
+    int insertList(@Param("list") List<ErpCredit> list);
 }

+ 5 - 0
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/mapper/ErpCreditMaterialMapper.java

@@ -8,6 +8,7 @@ import com.jeeplus.core.persistence.annotation.MyBatisMapper;
 import com.jeeplus.modules.sg.financial.erpcredit.entity.ErpCredit;
 
 import com.jeeplus.modules.sg.financial.erpcredit.entity.ErpCreditMaterial;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -16,4 +17,8 @@ import java.util.List;
 public interface ErpCreditMaterialMapper extends BaseMapper<ErpCreditMaterial> {
 
     public List<ErpCreditMaterial> findErpCreditChild2List(List<String> strings);
+
+    public Integer deleteAll();
+
+    int insertList(@Param("list") List<ErpCreditMaterial> list);
 }

+ 43 - 1
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/mapper/xml/ErpCreditEquipmentMapper.xml

@@ -98,7 +98,44 @@
     		#{eqmSupplierName}
 		)
 	</insert>
-	
+
+	<insert id="insertList">
+		insert INTO js_erp_credit_equipment(
+		id,
+		create_by,
+		create_date,
+		update_by,
+		update_date,
+		remarks,
+		del_flag,
+		erp_credit_id,
+		eqm_material_details,
+		eqm_unit,
+		eqm_numbers,
+		eqm_total_capacity,
+		eqm_booked_fee,
+		eqm_supplier_name
+		) VALUES
+		<foreach collection="list" item="item" index="index" separator="," >
+			(
+			#{item.id},
+			#{item.createBy.id},
+			#{item.createDate},
+			#{item.updateBy.id},
+			#{item.updateDate},
+			#{item.remarks},
+			#{item.delFlag},
+			#{item.erpCredit.id},
+			#{item.eqmMaterialDetails1},
+			#{item.eqmUnit},
+			#{item.eqmNumbers},
+			#{item.eqmTotalCapacity},
+			#{item.eqmBookedFee1},
+			#{item.eqmSupplierName}
+			)
+		</foreach>
+	</insert>
+
 	<update id="update">
 		UPDATE js_erp_credit_equipment SET
 			update_by = #{updateBy.id},
@@ -161,4 +198,9 @@
 			</foreach>
 		</if>
 	</select>
+
+	<delete id="deleteAll">
+		delete
+		from js_erp_credit_equipment
+	</delete>
 </mapper>

+ 75 - 0
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/mapper/xml/ErpCreditMapper.xml

@@ -217,4 +217,79 @@
 			</foreach>
 		</if>
 	</select>
+
+	<delete id="deleteAll">
+		delete from js_erp_credit
+	</delete>
+
+	<insert id="insertList">
+		insert INTO js_erp_credit(
+		id,
+		create_by,
+		create_date,
+		update_by,
+		update_date,
+		remarks,
+		del_flag,
+		item_id,
+		item_name,
+		actual_investment,
+		transfer_assets,
+		cons_building_fee,
+		cons_install_fee,
+		cons_total_fee,
+		other_supervisor_fee,
+		other_design_fee,
+		other_bework_fee,
+		other_build_loan,
+		other_line_damages,
+		other_legal_manage,
+		other_total_fee,
+		tenkv_model,
+		tenkv_unit,
+		tenkv_length,
+		tenkv_line_length,
+		tenkv_its_line,
+		tenkv_ites_fhv_follow,
+		the_input_tax,
+		ten_supplier_name,
+		cable_tube,
+		status
+		) VALUES
+		<foreach collection="list" item="item" index="index" separator="," >
+			(
+			#{item.id},
+			#{item.createBy.id},
+			#{item.createDate},
+			#{item.updateBy.id},
+			#{item.updateDate},
+			#{item.remarks},
+			#{item.delFlag},
+			#{item.itemId},
+			#{item.itemName},
+			#{item.actualInvestment},
+			#{item.transferAssets},
+			#{item.consBuildingFee},
+			#{item.consInstallFee},
+			#{item.consTotalFee},
+			#{item.otherSupervisorFee},
+			#{item.otherDesignFee},
+			#{item.otherBeWorkFee},
+			#{item.otherBuildLoan},
+			#{item.otherLineDamages},
+			#{item.otherLegalManage},
+			#{item.otherTotalFee},
+			#{item.tenKvModel},
+			#{item.tenKvUnit},
+			#{item.tenKvLength},
+			#{item.tenKvLineLength},
+			#{item.tenKvItsLine},
+			#{item.tenKvItesFhvFollow},
+			#{item.theInputTax},
+			#{item.supplierName},
+			#{item.cableTube},
+			#{item.status}
+			)
+		</foreach>
+	</insert>
 </mapper>

+ 41 - 1
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/mapper/xml/ErpCreditMaterialMapper.xml

@@ -95,7 +95,42 @@
 			#{mtlSupplierName}
 		)
 	</insert>
-	
+
+	<insert id="insertList">
+		insert INTO js_erp_credit_material(
+			id,
+			create_by,
+			create_date,
+			update_by,
+			update_date,
+			remarks,
+			del_flag,
+			erp_credit_id,
+			eqm_material_details,
+			mtl_booked_fee,
+			mtl_unit,
+			mtl_numbers,
+			mtl_supplier_name
+		) VALUES
+		<foreach collection="list" item="item" index="index" separator="," >
+			(
+				#{item.id},
+				#{item.createBy.id},
+				#{item.createDate},
+				#{item.updateBy.id},
+				#{item.updateDate},
+				#{item.remarks},
+				#{item.delFlag},
+				#{item.erpCredit.id},
+				#{item.eqmMaterialDetails2},
+				#{item.mtlBookedFee2},
+				#{item.mtlUnit},
+				#{item.mtlNumbers},
+				#{item.mtlSupplierName}
+			)
+		</foreach>
+	</insert>
+
 	<update id="update">
 		UPDATE js_erp_credit_material SET
 			update_by = #{updateBy.id},
@@ -155,4 +190,9 @@
 			</foreach>
 		</if>
 	</select>
+
+	<delete id="deleteAll">
+		delete
+		FROM js_erp_credit_material
+	</delete>
 </mapper>

+ 87 - 50
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/service/ErpCreditService.java

@@ -109,6 +109,35 @@ public class ErpCreditService extends CrudService<ErpCreditMapper,ErpCredit> {
     }
 
     @Transactional(readOnly = false)
+    public void saveList(List<ErpCredit> erpCredits,String string) {
+        List<ErpCreditEquipment> erpCreditEquipments = new ArrayList<ErpCreditEquipment>();
+        List<ErpCreditMaterial> erpCreditMaterials = new ArrayList<ErpCreditMaterial>();
+        for(ErpCredit erpCredit1 : erpCredits){
+            erpCredit1.preInsert();
+            erpCredit1.setStatus(string);
+            for (ErpCreditEquipment erpCreditEquipment:erpCredit1.getErpCreditChild1s()){
+                erpCreditEquipment.setErpCredit(erpCredit1);
+                erpCreditEquipment.preInsert();
+                erpCreditEquipments.add(erpCreditEquipment);
+            }
+            for (ErpCreditMaterial erpCreditMaterial:erpCredit1.getErpCreditChild2s()){
+                erpCreditMaterial.setErpCredit(erpCredit1);
+                erpCreditMaterial.preInsert();
+                erpCreditMaterials.add(erpCreditMaterial);
+            }
+        }
+        if (null!=erpCredits&&erpCredits.size()>0){
+            erpCreditMapper.insertList(erpCredits);
+        }
+        if (null!=erpCreditEquipments&&erpCreditEquipments.size()>0){
+            erpCreditEquipmentMapper.insertList(erpCreditEquipments);
+        }
+        if (null!=erpCreditMaterials&&erpCreditMaterials.size()>0){
+            erpCreditMaterialMapper.insertList(erpCreditMaterials);
+        }
+    }
+
+    @Transactional(readOnly = false)
     public void save(ErpCredit erpCredit,String string) {
         erpCredit.setStatus(string);
         super.save(erpCredit);
@@ -150,19 +179,26 @@ public class ErpCreditService extends CrudService<ErpCreditMapper,ErpCredit> {
 //        erpCreditChild3Mapper.delete(new ErpCreditChild3(erpCredit));
     }
 
+    @Transactional(readOnly = false)
+    public void deleteAll(){
+        erpCreditMapper.deleteAll();
+        erpCreditEquipmentMapper.deleteAll();
+        erpCreditMaterialMapper.deleteAll();
+    }
+
     //维护表
     public List<MaintainData> getFindListMain(List<String> strings){
         return dataMaintenanceMapper.findListMain(strings);
     }
 
     //导出
-    public void getExport(String ids, HttpServletResponse response,String status){
-        String[] strings = ids.split(",");
+    public void getExport(List<ErpCredit> erpCreditList, HttpServletResponse response){
+//        String[] strings = ids.split(",");
         List<String> strs = new ArrayList<String>();
-        for (String str:strings){
-            strs.add(str);
+        for (ErpCredit erpCredit1:erpCreditList){
+            strs.add(erpCredit1.getItemId());
         }
-        List<ErpCredit> erpCreditList = getListErpCredit(strs,status);
+//        List<ErpCredit> erpCreditList = getListErpCredit(strs,status);
         List<MaintainData> maintainDatas = getFindListMain(strs);
         ExportTemplate exportTemplate = new ExportTemplate();
         File newFile = exportTemplate.createNewFile();
@@ -414,30 +450,7 @@ public class ErpCreditService extends CrudService<ErpCreditMapper,ErpCredit> {
             e.printStackTrace();
         }
     }
-    public void getAllFtpList(HttpServletRequest request,String string){
-        String canonicalPath = "";
-        try {
-            HttpSession session = request.getSession();
-            Object oldPath = session.getAttribute("AllErpPath");
-            if (oldPath != null && oldPath != "") {
-                RandomUtil.delete(oldPath.toString());
-                session.removeAttribute("AllErpPath");
-            }
-            File path = new File(this.getClass().getResource("/").getPath() + "/freemarker");
-            String fileName = RandomUtil.getRandomFileName();
-            File temp = new File(path + "\\" + fileName);
-            /**
-             * 在临时文件中写入内容
-             */
-            BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(temp));
-            bufferedWriter.write(string);
-            bufferedWriter.close();
-            canonicalPath = temp.getCanonicalPath();
-            request.getSession().setAttribute("AllErpPath",canonicalPath);
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
+
 
     public String getFtpErpList(HttpServletRequest request){
         HttpSession session = request.getSession();
@@ -461,25 +474,49 @@ public class ErpCreditService extends CrudService<ErpCreditMapper,ErpCredit> {
         return str;
     }
 
-    public String getAllFtpErpList(HttpServletRequest request){
-        HttpSession session = request.getSession();
-        Object path = session.getAttribute("AllErpPath");
-        String str= "";
-        if (path != null && !path.equals("")) {
-            try {
-                BufferedReader bufferedReader = null;
-                bufferedReader = new BufferedReader(new FileReader(path.toString()));
-                String string;
-                while ((string = bufferedReader.readLine()) != null) {
-                    str = string;
-                }
-                bufferedReader.close();
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-        }
-        RandomUtil.delete(path.toString());
-        session.removeAttribute("AllErpPath");
-        return str;
-    }
+//    public String getAllFtpErpList(HttpServletRequest request){
+//        HttpSession session = request.getSession();
+//        Object path = session.getAttribute("AllErpPath");
+//        String str= "";
+//        if (path != null && !path.equals("")) {
+//            try {
+//                BufferedReader bufferedReader = null;
+//                bufferedReader = new BufferedReader(new FileReader(path.toString()));
+//                String string;
+//                while ((string = bufferedReader.readLine()) != null) {
+//                    str = string;
+//                }
+//                bufferedReader.close();
+//            } catch (IOException e) {
+//                e.printStackTrace();
+//            }
+//        }
+//        RandomUtil.delete(path.toString());
+//        session.removeAttribute("AllErpPath");
+//        return str;
+//    }
+    //    public void getAllFtpList(HttpServletRequest request,String string){
+//        String canonicalPath = "";
+//        try {
+//            HttpSession session = request.getSession();
+//            Object oldPath = session.getAttribute("AllErpPath");
+//            if (oldPath != null && oldPath != "") {
+//                RandomUtil.delete(oldPath.toString());
+//                session.removeAttribute("AllErpPath");
+//            }
+//            File path = new File(this.getClass().getResource("/").getPath() + "/freemarker");
+//            String fileName = RandomUtil.getRandomFileName();
+//            File temp = new File(path + "\\" + fileName);
+//            /**
+//             * 在临时文件中写入内容
+//             */
+//            BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(temp));
+//            bufferedWriter.write(string);
+//            bufferedWriter.close();
+//            canonicalPath = temp.getCanonicalPath();
+//            request.getSession().setAttribute("AllErpPath",canonicalPath);
+//        } catch (IOException e) {
+//            e.printStackTrace();
+//        }
+//    }
 }

+ 34 - 28
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/web/ErpCreditController.java

@@ -213,9 +213,9 @@ public class ErpCreditController extends BaseController {
 	@RequiresPermissions("sg:financial:erpCredit:export")
 	@RequestMapping(value = "exportList")
 	public Result exportFileList(ErpCredit erpCredit,HttpServletRequest request, HttpServletResponse response){
-		HttpSession session = request.getSession();
-		String attribute = (String) session.getAttribute("erpStatus");
-		erpCredit.setStatus(attribute);
+//		HttpSession session = request.getSession();
+//		String attribute = (String) session.getAttribute("erpStatus");
+//		erpCredit.setStatus(attribute);
 		Result j = new Result();
 		try {
 			String fileName = "送审决算信息"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
@@ -250,6 +250,14 @@ public class ErpCreditController extends BaseController {
 		}
 		return j;
 	}
+	@RequestMapping(value = "clearFileAllSession")
+	public void clearFileAllFtp(HttpServletRequest request, HttpServletResponse response){
+		HttpSession session = request.getSession();
+		Object erpCreditsList = session.getAttribute("erpCreditsList");
+		if (null!=erpCreditsList&&erpCreditsList!=""){
+			session.removeAttribute("erpCreditsList");
+		}
+	}
 
 	/**
 	 * 导出excel文件
@@ -259,17 +267,20 @@ public class ErpCreditController extends BaseController {
 	@RequestMapping(value = "export")
 	public Result exportFile(HttpServletRequest request, HttpServletResponse response){
 		Result j = new Result();
+		HttpSession session = request.getSession();
 		try {
-			String allFtpErpList = erpCreditService.getAllFtpErpList(request);
-			HttpSession session = request.getSession();
-			String attribute = (String) session.getAttribute("erpStatus");
-			erpCreditService.getExport(allFtpErpList,response,attribute);
+			List<ErpCredit> erpCreditsList = (List<ErpCredit>)session.getAttribute("erpCreditsList");
+			erpCreditService.getExport(erpCreditsList,response);
 			j.setSuccess(true);
 			j.setMsg("导出成功!");
 		}catch (Exception e){
 			j.setSuccess(false);
 			j.setMsg("导出失败!失败信息:"+e.getMessage());
 		}
+		Object erpCreditsList = session.getAttribute("erpCreditsList");
+		if (null!=erpCreditsList&&erpCreditsList!=""){
+			session.removeAttribute("erpCreditsList");
+		}
 		return j;
 	}
 
@@ -285,7 +296,7 @@ public class ErpCreditController extends BaseController {
 	@ResponseBody
 	@RequiresPermissions("sg:financial:erpCredit:import")
 	@RequestMapping(value = "import")
-	public Result importFile(@RequestParam("file")MultipartFile file, HttpServletResponse response, HttpServletRequest request,Model model) {
+	public Result importFile (@RequestParam("file")MultipartFile file, HttpServletResponse response, HttpServletRequest request,Model model){
 		Result j = new Result();
 		String str = "";
 		try {
@@ -302,6 +313,7 @@ public class ErpCreditController extends BaseController {
 			List<ErpAccount> erpAccounts = ErpInfo.getErpAccount(importUtil);//获取表格数据
 			List<ErpCredit> erpCredits = ErpInfo.getAllErpCreditList(erpAccounts);//获取单条数据
 
+
             //需求基本信息验证
             List<Project> projects = projectService.findList(new Project());
 			String projectJudge = ValidationUtils.getProjectJudge(erpCredits, projects);
@@ -362,7 +374,7 @@ public class ErpCreditController extends BaseController {
 			List<Expense> expenseList = CostAccountUnits.getQCExpense(erpCredits,expenses);//库存信息区分2020年前和年后
 			//得到验证数据
 			Map<String, List<ErpCredit>> judgeEnterAccount = CostAccountUnits.getJudgeEnterAccount(erpCredits, expenseList, informationList, maintainDatas);
-//			//若应付金额(不含税价)<实付金额(不含税价),需要导出差异情况,同时费用入账核实存在问题。
+			//若应付金额(不含税价)<实付金额(不含税价),需要导出差异情况,同时费用入账核实存在问题。
 			List<ErpCredit> listThree = judgeEnterAccount.get("judgeEnterAccountThree");
 			String judgeThree = ValidationUtils.getJudgeThree(listThree);
 			if (!"".equals(listThree)){
@@ -372,27 +384,21 @@ public class ErpCreditController extends BaseController {
 				j.setMsg("导入失败:费用入账存在差异信息,正在导出差异信息");
 				return j;
 			}
-			Object allErpPath = request.getSession().getAttribute("AllErpPath");
-			if (allErpPath != null && allErpPath != "") {
-				RandomUtil.delete(allErpPath.toString());
-				request.getSession().removeAttribute("AllErpPath");
-			}
-			String allListErpCredit = ValidationUtils.getAllListErpCredit(erpCredits);
-			erpCreditService.getAllFtpList(request,allListErpCredit);
-			String random  = ErpInfo.getStatus();//保存session
-			request.getSession().setAttribute("erpStatus",random);;
-			for (ErpCredit erpCredit : erpCredits){
-				try{
-					erpCreditService.save(erpCredit,random);
-					successNum++;
-				}catch (Exception ex) {
-					failureNum++;
+			request.getSession().setAttribute("erpCreditsList",erpCredits);
+			String random  = ErpInfo.getStatus();
+            erpCreditService.deleteAll();//清空原来表数据
+			for (int i = 0; i < erpCredits.size()/1000+1; i++) {
+				int end=(i+1)*1000;
+				if (end>erpCredits.size()){
+					end=erpCredits.size();
 				}
+				List<ErpCredit> erpCredits1 = erpCredits.subList(i * 1000, end);
+				erpCreditService.saveList(erpCredits1,random);
 			}
-			//若应付金额(不含税价)>实付金额(不含税价),需要进入人工判断,若人工判断通过,则费用入账核实无问题,若人工判断不通过则费用入账核实存在问题
+//			若应付金额(不含税价)>实付金额(不含税价),需要进入人工判断,若人工判断通过,则费用入账核实无问题,若人工判断不通过则费用入账核实存在问题
 			List<ErpCredit> listTwo = judgeEnterAccount.get("judgeEnterAccountTwo");
 			String judgeTwo = ValidationUtils.getJudgeTwo(listTwo);
-			if (!"".equals(judgeTwo)){
+			if ("".equals(judgeTwo)){
 				erpCreditService.getFtpList(request,judgeTwo);
 				j.setSuccess(false);
 				j.setFlag(false);
@@ -407,9 +413,9 @@ public class ErpCreditController extends BaseController {
 				return j;
 			}
 			if (failureNum>0){
-				failureMsg.insert(0, ",失败 "+failureNum+" 条送审决算记录。");
+				failureMsg.insert(0, ",失败 "+erpCredits.size()+" 条送审决算记录。");
 			}
-			j.setMsg( "已成功导入 "+successNum+" 条送审决算记录"+failureMsg);
+			j.setMsg( "已成功导入 "+erpCredits.size()+" 条送审决算记录"+failureMsg);
 		} catch (Exception e) {
 			j.setSuccess(false);
 			j.setMsg("导入送审决算失败!失败信息:"+e.getMessage());

+ 6 - 2
src/main/webapp/webpage/modules/sg/financial/erp/erpCreditList.js

@@ -314,11 +314,15 @@ $(document).ready(function() {
                                     maxmin: true, //开启最大化最小化按钮
                                     content: '${ctx}/sg/financial/erpCredit/tips1' ,
                                     btn: ['继续操作', '停止操作'],
-                                    yes: function(index1, layero){
+                                    btn1: function(index1, layero){
                                         jp.downloadFile('${ctx}/sg/financial/erpCredit/export');
                                         jp.close(index1);
                                     },
-                                    cancel: function(index){
+                                    btn2: function(index1, layero){
+                                    	window.location.href="${ctx}/sg/financial/erpCredit/clearFileAllSession";
+                                        // jp.downloadFile('${ctx}/sg/financial/erpCredit/clearFileAllSession');
+                                        location.reload();
+                                        jp.close(index1);
                                     }
                                 });
                             }else if (data.yesStatus){