Browse Source

累计修改提交

yuansh 1 year ago
parent
commit
a8fbd9c1d7

+ 9 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActBusinessController.java

@@ -698,6 +698,15 @@ public class ActBusinessController {
         if(param.getTableName().equals("incident_ticket")){ //质量事故单
             map.put("userId",null);//当前登陆人
         }
+
+        if(loginUser.getUsername().equals("T0003")){
+            if(param.getTableName().equals("supplieses_apply_a") || //物质申请单
+                    param.getTableName().equals("employee_leave") ||//员工请假单
+                    param.getTableName().equals("expense_account")){//报销单
+                map.put("userId",null);//当前登陆人
+            }
+        }
+
 //        if(param.getTableName().equals("employee_leave")){ //员工请假单
 //            String userIds = sysBaseAPI.getUserByRoleCode("SY003",null);//办公室
 //            if(StringUtils.isNotBlank(userIds)){

+ 7 - 3
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/activiti/listener/ListenerAnnualLeave.java

@@ -36,7 +36,8 @@ public class ListenerAnnualLeave implements TaskListener, JavaDelegate {
 	public void execute(DelegateExecution delegateExecution){
 //{"field_unit":"unit","field_category":"leave_category","field_practical":"practical_leave","field_name":"employe_name"}
 
-
+		//若监听放置在结束流程中,则会在进入结束时执行一次,结束执行时再执行一次
+		//若eventName未end时,则撤回删除等逆向操作均会执行此监听
 		String eventName = delegateExecution.getEventName();
 		if ("start".equals(eventName)) {
 			// 流程开始
@@ -71,7 +72,7 @@ public class ListenerAnnualLeave implements TaskListener, JavaDelegate {
 
 //		String unit = delegateExecution.getVariableInstances().get(field_unit).getTextValue();
 		String category = delegateExecution.getVariableInstances().get(field_category).getTextValue();
-		String practical_leave = delegateExecution.getVariableInstances().get(field_practical).getTextValue();
+		String practical_leave = "";//delegateExecution.getVariableInstances().get(field_practical).getTextValue();
 		String employe_name = "";//delegateExecution.getVariableInstances().get(field_name).getTextValue();
 		String id = delegateExecution.getVariableInstances().get("id").getTextValue();
 
@@ -86,7 +87,10 @@ public class ListenerAnnualLeave implements TaskListener, JavaDelegate {
 		if(StringUtils.isBlank(practical_leave)){
 			return;
 		}
-
+		category = map.get("leave_category");
+		if(StringUtils.isBlank(category)){
+			return;
+		}
 		if(category.equals("年假")){
 
 			SysUser sys = sysUserMapper.getUserByName(employe_name);

+ 74 - 12
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/IncidentTicketController.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.oa.controller;
 
 import java.io.UnsupportedEncodingException;
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.net.URLDecoder;
 import java.sql.Connection;
 import java.util.*;
@@ -90,17 +91,22 @@ public class IncidentTicketController {
 //		System.out.println(aa.replaceAll(",null","").replaceAll("null,",""));
 
 
-		String date1 = "2022-02-15";//开票
-		String date2 = "2022-02-14";
-		System.out.println(date1.compareTo(date2));
-		if(date1.compareTo(date2) > 0) {
-			System.out.println("date1 大于 date2");
-		}
-		if(date1.compareTo(date2) < 0) {
-			System.out.println("false");
-		}else{
-			System.out.println("tre");
-		}
+//		String date1 = "2022-02-15";//开票
+//		String date2 = "2022-02-14";
+//		System.out.println(date1.compareTo(date2));
+//		if(date1.compareTo(date2) > 0) {
+//			System.out.println("date1 大于 date2");
+//		}
+//		if(date1.compareTo(date2) < 0) {
+//			System.out.println("false");
+//		}else{
+//			System.out.println("tre");
+//		}
+		String practicalSumOld = "-1232131.23232";
+		BigDecimal practicalSumBig = new BigDecimal(practicalSumOld).abs();//
+		String practicalSum = practicalSumBig.toString();
+		System.out.println(new BigDecimal(practicalSum));
+
 	 }
 	 @RequestMapping(value = "/list1", method = RequestMethod.GET)
 	 public JSONObject list1(Map<String, Object> param) {
@@ -644,8 +650,64 @@ public class IncidentTicketController {
     */
     @RequestMapping(value = "/exportXls")
     public ModelAndView exportXls(HttpServletRequest request, IncidentTicket incidentTicket) {
+
+		String state = incidentTicket.getState();//单据状态
+		String informant = incidentTicket.getInformant();//填报人
+		String processor = incidentTicket.getProcessor();//处理人
+
+		String handle = incidentTicket.getHandle();
+		incidentTicket.setProcessor(null);
+		incidentTicket.setState(null);
+		incidentTicket.setInformant(null);
+		incidentTicket.setHandle(null);
+		QueryWrapper<IncidentTicket> queryWrapper = QueryGenerator.initQueryWrapper(incidentTicket, request.getParameterMap());
+		queryWrapper.eq("1","1");
+
+//		queryWrapper.last("and id in(select table_id from act_z_business where table_name='incident_ticket' and result = 2) " +
+//				"order by accident_number desc ");
+		if(StringUtils.isNotBlank(state)){
+			queryWrapper.in("state",state.split(","));
+		}
+		if(StringUtils.isNotBlank(informant)){
+			queryWrapper.in("informant",informant.split(","));
+		}
+		if(StringUtils.isNotBlank(processor)){
+			StringBuffer sb = new StringBuffer();
+			for(String o:processor.split(",")){
+				if(StringUtils.isBlank(sb.toString())){
+					sb.append("'").append(o).append("'");
+				}else{
+					sb.append(",'").append(o).append("'");
+				}
+			}
+
+			if(StringUtils.isBlank(handle)){
+
+				queryWrapper.last("and id in (select pk_incident_ticket from incident_ticket_msg where user_id in ("+sb.toString()+") ) " +
+						"and id in(select table_id from act_z_business where table_name='incident_ticket' and result = 2) " +
+						"order by date_format(create_time,'%Y-%m-%d') desc ,substring_index(accident_number, '-', -1) + 0 desc ");
+
+			}else{
+				if(handle.equals("是")){
+
+					queryWrapper.last("and id in (select pk_incident_ticket from incident_ticket_msg where user_id in ("+sb.toString()+")  and confirm != '否') " +
+							"and id in(select table_id from act_z_business where table_name='incident_ticket' and result = 2) " +
+							"order by date_format(create_time,'%Y-%m-%d') desc ,substring_index(accident_number, '-', -1) + 0 desc ");
+
+				}else{
+					queryWrapper.last("and id in (select pk_incident_ticket from incident_ticket_msg where user_id in ("+sb.toString()+")  and confirm = '否') " +
+							"and id in(select table_id from act_z_business where table_name='incident_ticket' and result = 2) " +
+							"order by date_format(create_time,'%Y-%m-%d') desc ,substring_index(accident_number, '-', -1) + 0 desc ");
+				}
+			}
+
+		}else{
+			queryWrapper.last("and id in(select table_id from act_z_business where table_name='incident_ticket' and result = 2) " +
+					"order by date_format(create_time,'%Y-%m-%d') desc ,substring_index(accident_number, '-', -1) + 0 desc ");
+		}
+
       // Step.1 组装查询条件查询数据
-      QueryWrapper<IncidentTicket> queryWrapper = QueryGenerator.initQueryWrapper(incidentTicket, request.getParameterMap());
+
       LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 
       //Step.2 获取导出数据

+ 9 - 3
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/IncidentTicketServiceImpl.java

@@ -123,7 +123,7 @@ public class IncidentTicketServiceImpl extends ServiceImpl<IncidentTicketMapper,
 
 		String exchangeRate = children.getExchangeRate();//子表汇率
 		String planNumber = children.getPlanNumber();//计划单号
-		String practicalSum = children.getPracticalSum();//实际事故金额
+		String practicalSumOld = children.getPracticalSum();//实际事故金额
 		String zhanghaoId = children.getZhanghaoId();//账套
 
 //		Map<String,Object> factoryMap = incidentTicketMapper.getVendor(factory);
@@ -227,6 +227,8 @@ public class IncidentTicketServiceImpl extends ServiceImpl<IncidentTicketMapper,
 			//税率(101默认为0,102/103默认为13,可取U8该字段设置的默认值)
 			BigDecimal sl = new BigDecimal("1");//税率
 			BigDecimal hl = new BigDecimal(exchangeRate);//汇率
+			BigDecimal practicalSumBig = new BigDecimal(practicalSumOld).abs();//
+			String practicalSum = practicalSumBig.toString();
 			//原币金额(无税) -- 原币无税金额=原币金额/(1+税率)
 			BigDecimal iOriMoney = new BigDecimal(practicalSum).divide(sl,2,BigDecimal.ROUND_HALF_UP);//.setScale(2,BigDecimal.ROUND_HALF_UP);
 			//原币税额 原币金额-原币无税金额
@@ -337,7 +339,7 @@ public class IncidentTicketServiceImpl extends ServiceImpl<IncidentTicketMapper,
 
 		String exchangeRate = children.getExchangeRate();//子表汇率
 		String planNumber = children.getPlanNumber();//计划单号
-		String practicalSum = children.getPracticalSum();//实际事故金额
+		String practicalSumOld = children.getPracticalSum();//实际事故金额
 		String zhanghaoId = children.getZhanghaoId();//账套
 
 //		Map<String,Object> factoryMap = incidentTicketMapper.getVendor(factory);
@@ -435,6 +437,8 @@ public class IncidentTicketServiceImpl extends ServiceImpl<IncidentTicketMapper,
 			//税率(101默认为0,102/103默认为13,可取U8该字段设置的默认值)
 			BigDecimal sl = new BigDecimal("1.13");//税率
 			BigDecimal hl = new BigDecimal(exchangeRate);//汇率
+			BigDecimal practicalSumBig = new BigDecimal(practicalSumOld).abs();//
+			String practicalSum = practicalSumBig.toString();
 			//原币金额(无税) -- 原币无税金额=原币金额/(1+税率)
 			BigDecimal iOriMoney = new BigDecimal(practicalSum).divide(sl,2,BigDecimal.ROUND_HALF_UP);//.setScale(2,BigDecimal.ROUND_HALF_UP);
 			//原币税额 原币金额-原币无税金额
@@ -547,7 +551,7 @@ public class IncidentTicketServiceImpl extends ServiceImpl<IncidentTicketMapper,
 
 		String exchangeRate = children.getExchangeRate();//子表汇率
 		String planNumber = children.getPlanNumber();//计划单号
-		String practicalSum = children.getPracticalSum();//实际事故金额
+		String practicalSumOld = children.getPracticalSum();//实际事故金额
 		String zhanghaoId = children.getZhanghaoId();//账套
 
 //		Map<String,Object> factoryMap = incidentTicketMapper.getVendor(factory);
@@ -641,6 +645,8 @@ public class IncidentTicketServiceImpl extends ServiceImpl<IncidentTicketMapper,
 			//税率(101默认为0,102/103默认为13,可取U8该字段设置的默认值)
 			BigDecimal sl = new BigDecimal("1.13");//税率
 			BigDecimal hl = new BigDecimal(exchangeRate);//汇率
+			BigDecimal practicalSumBig = new BigDecimal(practicalSumOld).abs();//
+			String practicalSum = practicalSumBig.toString();
 			//原币金额(无税) -- 原币无税金额=原币金额/(1+税率)
 			BigDecimal iOriMoney = new BigDecimal(practicalSum).divide(sl,2,BigDecimal.ROUND_HALF_UP);//.setScale(2,BigDecimal.ROUND_HALF_UP);
 			//原币税额 原币金额-原币无税金额