From d28690ed3c51092a519b17be8b5dc0568f7e5319 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Fri, 15 Mar 2024 09:58:45 +0800 Subject: [PATCH] =?UTF-8?q?2024-2-28=E9=9C=80=E6=B1=82=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessContractController.java | 10 + .../controller/BusinessOutlayController.java | 169 +++++++++- .../BusinessOutlayIncomeController.java | 46 ++- .../controller/BusinessPlanController.java | 35 +- .../controller/BusinessPlanTwoController.java | 3 +- .../controller/BusinessTotalController.java | 11 + .../BusinessWorkerCqController.java | 33 +- .../controller/BusinessZcmxController.java | 65 +++- .../business/dao/BusinessOutlayDao.java | 10 +- .../business/dao/BusinessOutlayIncomeDao.java | 14 + .../modules/business/dao/BusinessPlanDao.java | 8 +- .../business/dao/BusinessPlanTwoDao.java | 2 + .../modules/business/dao/BusinessStDao.java | 17 + .../business/dao/BusinessTotalDao.java | 6 + .../business/dao/BusinessWorkerCqDao.java | 4 +- .../entity/BusinessContractEntity.java | 2 +- .../business/entity/BusinessOutlayEntity.java | 3 - .../entity/BusinessOutlayIncomeEntity.java | 1 + .../entity/BusinessPlanTwoEntity.java | 13 + .../business/entity/BusinessStEntity.java | 37 +++ .../service/BusinessOutlayIncomeService.java | 16 + .../service/BusinessOutlayService.java | 12 +- .../business/service/BusinessPlanService.java | 2 + .../service/BusinessPlanTwoService.java | 2 + .../business/service/BusinessStService.java | 16 + .../service/BusinessTotalService.java | 2 + .../impl/BusinessApprovalServiceImpl.java | 19 +- .../impl/BusinessOutlayIncomeServiceImpl.java | 102 ++++-- .../impl/BusinessOutlayServiceImpl.java | 161 ++++++--- .../service/impl/BusinessPlanServiceImpl.java | 5 + .../impl/BusinessPlanTwoServiceImpl.java | 29 +- .../service/impl/BusinessStServiceImpl.java | 12 + .../impl/BusinessTotalServiceImpl.java | 5 + .../impl/BusinessWorkerCqServiceImpl.java | 99 ++++-- .../impl/BusinessWorkerSalaryServiceImpl.java | 2 +- src/main/resources/application-dev.yml | 2 +- .../mapper/business/BusinessOutlayDao.xml | 314 ++++++++++++------ .../business/BusinessOutlayIncomeDao.xml | 90 ++++- .../mapper/business/BusinessPlanDao.xml | 9 + .../mapper/business/BusinessPlanTwoDao.xml | 18 +- .../mapper/business/BusinessTotalDao.xml | 14 + .../mapper/business/BusinessWorkerCqDao.xml | 8 +- 42 files changed, 1135 insertions(+), 293 deletions(-) create mode 100644 src/main/java/io/renren/modules/business/dao/BusinessStDao.java create mode 100644 src/main/java/io/renren/modules/business/entity/BusinessStEntity.java create mode 100644 src/main/java/io/renren/modules/business/service/BusinessStService.java create mode 100644 src/main/java/io/renren/modules/business/service/impl/BusinessStServiceImpl.java diff --git a/src/main/java/io/renren/modules/business/controller/BusinessContractController.java b/src/main/java/io/renren/modules/business/controller/BusinessContractController.java index 490f4d7..e6b2a83 100644 --- a/src/main/java/io/renren/modules/business/controller/BusinessContractController.java +++ b/src/main/java/io/renren/modules/business/controller/BusinessContractController.java @@ -71,6 +71,16 @@ public class BusinessContractController { return R.ok().put("page", page); } + /** + * 立项列表 + */ + @RequestMapping("/projectListPc") + @RequiresPermissions("business:businesscontract:list") + public R projectListPc(@RequestParam Map params){ + PageUtils page = businessProjectService.queryPage(params); + return R.ok().put("page", page); + } + /** * 立项负责工人idList */ diff --git a/src/main/java/io/renren/modules/business/controller/BusinessOutlayController.java b/src/main/java/io/renren/modules/business/controller/BusinessOutlayController.java index 601e9e9..3c5e911 100644 --- a/src/main/java/io/renren/modules/business/controller/BusinessOutlayController.java +++ b/src/main/java/io/renren/modules/business/controller/BusinessOutlayController.java @@ -1,10 +1,7 @@ package io.renren.modules.business.controller; import io.renren.common.utils.*; -import io.renren.modules.business.entity.BusinessDictEntity; -import io.renren.modules.business.entity.BusinessOutlayEntity; -import io.renren.modules.business.entity.BusinessProjectEntity; -import io.renren.modules.business.entity.BusinessWorkerEntity; +import io.renren.modules.business.entity.*; import io.renren.modules.business.service.*; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; @@ -15,11 +12,10 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; +import java.math.BigDecimal; import java.text.ParseException; import java.util.*; -import static io.renren.common.utils.ShiroUtils.getUserId; - /** * 支出明细表 @@ -68,14 +64,14 @@ public class BusinessOutlayController { } /** - * 列表 PC端不含翻页 + * 列表 PC端含翻页 * @param params * @return */ @RequestMapping("/pcListNoPage") @RequiresPermissions("business:businessoutlay:list") public R pcListNoPage(@RequestParam Map params){ - List page = businessOutlayService.pcListNoPage(params); + PageUtils page = businessOutlayService.pcListPage(params); return R.ok().put("page", page); } @@ -148,19 +144,168 @@ public class BusinessOutlayController { if(businessOutlayIncomeService.getLockedCnt(param) > 0) { return R.error("所选日期已经阶段提交,无法添加明细!"); } - if(businessOutlay.getId() == null) { + BusinessOutlayEntity businessOutlayOld = null; + if(businessOutlay.getId() == null || businessOutlay.getId() == 0) { businessOutlay.setCreateTime(new Date()); businessOutlay.setUpdateTime(new Date()); businessOutlayService.save(businessOutlay); - businessOutlayService.ifSave(businessOutlay.getOutTime(),businessOutlay.getWriteUserId().toString(),0); +// businessOutlayService.ifSave(businessOutlay.getOutTime(),businessOutlay.getWriteUserId().toString(),0); } else { + businessOutlayOld = businessOutlayService.getById(businessOutlay.getId());//通过ID取原数据的日期,用来比较日期重新计算收支 businessOutlay.setUpdateTime(new Date()); businessOutlayService.updateById(businessOutlay); } - + if(businessOutlay.getWriteUserId()!=null && businessOutlay.getWriteUserId()!= 10 && businessOutlay.getWriteUserId()!= 1){ + afresh(businessOutlay,businessOutlayOld); + } return R.ok(); } + /*** + * 重新计算 + * 支出修改或新增时: + * 1、判断收支是否存在,不存在则创建 + * 2、判断是否是修改了时间(原支出数据获取时间,通过原时间和新时间进行比较),取最小时间为其实开始重新计算 + * 3、判断最小时间的收支是否存在,不存在则创建,存在则修改此日支出金额、今日余额 + * 4、循环修改最小时间之后的收支数据,直到没有下一日数据为止 + */ + private void afresh(BusinessOutlayEntity businessOutlay,BusinessOutlayEntity businessOutlayOld){ + Map param = new HashMap<>(); + Date outTime = businessOutlay.getOutTime(); + param.put("outinDate", outTime); + param.put("writeUserId", businessOutlay.getWriteUserId()); + param.put("userId", businessOutlay.getWriteUserId()); + param.put("startTime", DateUtils.format(outTime)); + param.put("endTime", DateUtils.format(outTime)); + //判断新日期是否有收支数据,没有则创建 + BusinessOutlayIncomeEntity incomeEntity = businessOutlayIncomeService.getOutInByDate(param); + if(incomeEntity!=null){ + + }else{ + //新增,1、取昨天数据(今日之前的最大日期的数据中)的今日余额;2、今日收入暂置成0;3、取当前的支出汇总;4、计算今日余额;5、增加收支数据 + incomeEntity = new BusinessOutlayIncomeEntity(); + incomeEntity.setOutinDate(outTime);//日期 + // 查询昨日余额,就是总结里除去今天最大一天的今日余额 + BigDecimal zrye = businessOutlayIncomeService.getZrye(param); + Double zryeb = 0d; + if(zrye != null){ + zryeb = zrye.doubleValue(); + } + incomeEntity.setOutinYdayBalance(zryeb);//昨日余额 + incomeEntity.setOutinTdayIncome(0);//今日收入 + Double jrzc = businessOutlayService.getTotalByHJGId(param); + if(jrzc == null) { + jrzc = 0d; + } + incomeEntity.setOutinTdayOut(jrzc);//今日支出 + Double jrye = zryeb - jrzc; + incomeEntity.setOutinTdayBalance(jrye);//今日余额 + incomeEntity.setStatus(0); + incomeEntity.setApproval(0); + incomeEntity.setWriteUserId(businessOutlay.getWriteUserId()); + incomeEntity.setCreateTime(new Date()); + incomeEntity.setUpdateTime(new Date()); + businessOutlayIncomeService.save(incomeEntity); + } + + //判断原日期与新日期,原日期如比新日期小,则从原日期时间开始重新计算 + if(businessOutlayOld!=null){ + Date outTimeOld = businessOutlayOld.getOutTime(); + if (outTimeOld.compareTo(outTime) < 0) { + outTime = outTimeOld; + } + } + + param.put("outinDate", outTime); + param.put("writeUserId", businessOutlay.getWriteUserId()); + param.put("userId", businessOutlay.getWriteUserId()); + param.put("startTime", DateUtils.format(outTime)); + param.put("endTime", DateUtils.format(outTime)); + + incomeEntity = businessOutlayIncomeService.getOutInByDate(param); + if(incomeEntity!=null){ + //修改,1、获取当前的支出汇总;2、计算今日余额;3、修改 + Double zrye = incomeEntity.getOutinYdayBalance();//昨日余额 + if(zrye == null) { + zrye = 0d; + } + Double jrsr = incomeEntity.getOutinTdayIncome();//今日收入 + if(jrsr == null) { + jrsr = 0d; + } + Double jrzc = businessOutlayService.getTotalByHJGId(param); + if(jrzc == null) { + jrzc = 0d; + } + incomeEntity.setOutinTdayOut(jrzc);//今日支出 + Double jrye = zrye + jrsr - jrzc; + incomeEntity.setOutinTdayBalance(jrye);//今日余额 + incomeEntity.setUpdateTime(new Date()); + businessOutlayIncomeService.updateById(incomeEntity); + }else{ + //新增,1、取昨天数据(今日之前的最大日期的数据中)的今日余额;2、今日收入暂置成0;3、取当前的支出汇总;4、计算今日余额;5、增加收支数据 + incomeEntity = new BusinessOutlayIncomeEntity(); + incomeEntity.setOutinDate(outTime);//日期 + // 查询昨日余额,就是总结里除去今天最大一天的今日余额 + BigDecimal zrye = businessOutlayIncomeService.getZrye(param); + Double zryeb = 0d; + if(zrye != null){ + zryeb = zrye.doubleValue(); + } + incomeEntity.setOutinYdayBalance(zryeb);//昨日余额 + incomeEntity.setOutinTdayIncome(0);//今日收入 + + Double jrzc = businessOutlayService.getTotalByHJGId(param); + if(jrzc == null) { + jrzc = 0d; + } + incomeEntity.setOutinTdayOut(jrzc);//今日支出 + Double jrye = zryeb - jrzc; + incomeEntity.setOutinTdayBalance(jrye);//今日余额 + incomeEntity.setStatus(0); + incomeEntity.setApproval(0); + incomeEntity.setWriteUserId(businessOutlay.getWriteUserId()); + incomeEntity.setCreateTime(new Date()); + incomeEntity.setUpdateTime(new Date()); + businessOutlayIncomeService.save(incomeEntity); + } + //获取要修改的下一日收支数据,并修改 + afreshNext(incomeEntity); + } + + /** + * 获取要修改的下一日收支数据,并修改 + * 判断是否有下一日期收支数据,有则进行获取重新计算;无则跳出计算 + */ + private void afreshNext(BusinessOutlayIncomeEntity businessOutlayIncomeEntity){ + Map param = new HashMap<>(); + param.put("outinDate", businessOutlayIncomeEntity.getOutinDate()); + param.put("writeUserId", businessOutlayIncomeEntity.getWriteUserId()); + //获取下一日期收支数据 + BusinessOutlayIncomeEntity incomeEntity = businessOutlayIncomeService.getNextOutInByDate(param); + if(incomeEntity!=null){ + Double zrye = businessOutlayIncomeEntity.getOutinTdayBalance(); //今日余额是下一日期的昨日余额 + incomeEntity.setOutinYdayBalance(zrye); + Double jrsr = incomeEntity.getOutinTdayIncome();//今日收入 + if(jrsr == null) { + jrsr = 0d; + } + param.put("userId", businessOutlayIncomeEntity.getWriteUserId()); + param.put("startTime", DateUtils.format(incomeEntity.getOutinDate())); + param.put("endTime", DateUtils.format(incomeEntity.getOutinDate())); + Double jrzc = businessOutlayService.getTotalByHJGId(param); + if(jrzc == null) { + jrzc = 0d; + } + incomeEntity.setOutinTdayOut(jrzc);//今日支出 + Double jrye = zrye + jrsr - jrzc; + incomeEntity.setOutinTdayBalance(jrye);//今日余额 + incomeEntity.setUpdateTime(new Date()); + businessOutlayIncomeService.updateById(incomeEntity); + afreshNext(incomeEntity);//递归 + } + } + /** * 修改 */ @@ -200,7 +345,7 @@ public class BusinessOutlayController { @RequestMapping("/export") public void export(HttpServletResponse response, HttpServletRequest request){ Map params = new HashMap<>(); - params.put("writeUserId",getUserId()); + //params.put("writeUserId",getUserId()); List list = businessOutlayService.pcListNoPage(params); ExcelUtil util = new ExcelUtil(BusinessOutlayEntity.class); R r = util.exportExcel(list, "支出明细"); diff --git a/src/main/java/io/renren/modules/business/controller/BusinessOutlayIncomeController.java b/src/main/java/io/renren/modules/business/controller/BusinessOutlayIncomeController.java index e241c5e..102d31d 100644 --- a/src/main/java/io/renren/modules/business/controller/BusinessOutlayIncomeController.java +++ b/src/main/java/io/renren/modules/business/controller/BusinessOutlayIncomeController.java @@ -46,7 +46,13 @@ public class BusinessOutlayIncomeController { @RequiresPermissions("business:businessoutlayincome:list") public R list(@RequestParam Map params){ PageUtils page = businessOutlayIncomeService.queryPage(params); + return R.ok().put("page", page); + } + @RequestMapping("/pcListPage") + @RequiresPermissions("business:businessoutlayincome:list") + public R pcListPage(@RequestParam Map params){ + PageUtils page = businessOutlayIncomeService.pcListPage(params); return R.ok().put("page", page); } @@ -57,7 +63,6 @@ public class BusinessOutlayIncomeController { @RequiresPermissions("business:businessoutlayincome:list") public R listNoPage(@RequestParam Map params){ List page = businessOutlayIncomeService.listNoPage(params); - return R.ok().put("page", page); } @@ -90,6 +95,7 @@ public class BusinessOutlayIncomeController { @RequestMapping("/save") @RequiresPermissions("business:businessoutlayincome:save") public R save(@RequestBody BusinessOutlayIncomeEntity businessOutlayIncome) throws ParseException { +// BusinessOutlayIncomeEntity businessOutlayIncomeOld = null; if(businessOutlayIncome.getId() == null) { // 保存时,按填写人和日期查询是否已经填写 Map param = new HashMap<>(); @@ -102,15 +108,49 @@ public class BusinessOutlayIncomeController { businessOutlayIncome.setCreateTime(new Date()); businessOutlayIncome.setUpdateTime(new Date()); businessOutlayIncomeService.save(businessOutlayIncome); - businessOutlayIncomeService.ifSave(businessOutlayIncome.getOutinDate(),businessOutlayIncome.getWriteUserId().toString(),1); + //businessOutlayIncomeService.ifSave(businessOutlayIncome.getOutinDate(),businessOutlayIncome.getWriteUserId().toString(),1); } else { businessOutlayIncome.setUpdateTime(new Date()); businessOutlayIncomeService.updateById(businessOutlayIncome); } - + afreshNext(businessOutlayIncome); return R.ok(); } + /*** + * 重新计算 + * 收支修改或新增时: + * 循环修改此日之后的收支数据,知道没有下一日数据为止 + */ + private void afreshNext(BusinessOutlayIncomeEntity businessOutlayIncomeEntity){ + Map param = new HashMap<>(); + param.put("outinDate", businessOutlayIncomeEntity.getOutinDate()); + param.put("writeUserId", businessOutlayIncomeEntity.getWriteUserId()); + //获取下一日期收支数据 + BusinessOutlayIncomeEntity incomeEntity = businessOutlayIncomeService.getNextOutInByDate(param); + if(incomeEntity!=null){ + Double zrye = businessOutlayIncomeEntity.getOutinTdayBalance(); //今日余额是下一日期的昨日余额 + incomeEntity.setOutinYdayBalance(zrye); + Double jrsr = incomeEntity.getOutinTdayIncome();//今日收入 + if(jrsr == null) { + jrsr = 0d; + } + param.put("userId", businessOutlayIncomeEntity.getWriteUserId()); + param.put("startTime", DateUtils.format(incomeEntity.getOutinDate())); + param.put("endTime", DateUtils.format(incomeEntity.getOutinDate())); + Double jrzc = businessOutlayService.getTotalByHJGId(param); + if(jrzc == null) { + jrzc = 0d; + } + incomeEntity.setOutinTdayOut(jrzc);//今日支出 + Double jrye = zrye + jrsr - jrzc; + incomeEntity.setOutinTdayBalance(jrye);//今日余额 + incomeEntity.setUpdateTime(new Date()); + businessOutlayIncomeService.updateById(incomeEntity); + afreshNext(incomeEntity);//递归 + } + } + /** * 获取计算的值 */ diff --git a/src/main/java/io/renren/modules/business/controller/BusinessPlanController.java b/src/main/java/io/renren/modules/business/controller/BusinessPlanController.java index 0ae68f1..b6921fa 100644 --- a/src/main/java/io/renren/modules/business/controller/BusinessPlanController.java +++ b/src/main/java/io/renren/modules/business/controller/BusinessPlanController.java @@ -110,13 +110,25 @@ public class BusinessPlanController { dataList.add(value); } // 当前日期对应的类型,用类型获取当前类型所对应的未提交数据日期 - Integer type = 2; - // 说明是总结请求 - if(params.get("isTotal") != null || (list.size()!=0 && list.get(0).getType()==0)){ - type = 0; - } +// Integer type = 2; +// // 说明是总结请求 +// if(params.get("isTotal") != null || (list.size()!=0 && list.get(0).getType()==0)){ +// type = 0; +// } +// QueryWrapper qw = new QueryWrapper<>(); +// qw.eq("type", type); + QueryWrapper qw = new QueryWrapper<>(); - qw.eq("type", type); + // 说明是总结请求 + if(params.get("isTotal") != null){ + //总结-未成稿 + qw.eq("type", 1); + qw.eq("is_total", params.get("isTotal")); + }else{ + //计划-未总结 + qw.eq("type", 0); + } + // 查询当前类型的所有对应为提交时间 List planTimeList = businessPlanService.list(qw); @@ -544,4 +556,15 @@ public class BusinessPlanController { return R.ok(); } + /** + * 未提交列表 + * @return + */ + @RequestMapping("/uncommittedList") + @RequiresPermissions("business:businessplan:list") + public R uncommittedList(){ + List list = businessPlanService.getUncommittedList(); + return R.ok().put("page", list); + } + } diff --git a/src/main/java/io/renren/modules/business/controller/BusinessPlanTwoController.java b/src/main/java/io/renren/modules/business/controller/BusinessPlanTwoController.java index dd092e0..855afa8 100644 --- a/src/main/java/io/renren/modules/business/controller/BusinessPlanTwoController.java +++ b/src/main/java/io/renren/modules/business/controller/BusinessPlanTwoController.java @@ -45,8 +45,9 @@ public class BusinessPlanTwoController { @RequestMapping("/list") @RequiresPermissions("business:businessplantwo:list") public R list(@RequestParam Map params){ + BusinessPlanTwoEntity BusinessPlanTwoEntity = businessPlanTwoService.getMaxTime(); + params.put("twoEditTime",BusinessPlanTwoEntity.getTwoEditTime()); List page = businessPlanTwoService.queryList(params); - return R.ok().put("page", page); } diff --git a/src/main/java/io/renren/modules/business/controller/BusinessTotalController.java b/src/main/java/io/renren/modules/business/controller/BusinessTotalController.java index 5cc4b0d..c1edd02 100644 --- a/src/main/java/io/renren/modules/business/controller/BusinessTotalController.java +++ b/src/main/java/io/renren/modules/business/controller/BusinessTotalController.java @@ -400,4 +400,15 @@ public class BusinessTotalController { return R.ok(); } + /** + * 未提交列表 + * @return + */ + @RequestMapping("/uncommittedList") + @RequiresPermissions("business:businesstotal:list") + public R uncommittedList(){ + List list = businessTotalService.getUncommittedList(); + return R.ok().put("page", list); + } + } diff --git a/src/main/java/io/renren/modules/business/controller/BusinessWorkerCqController.java b/src/main/java/io/renren/modules/business/controller/BusinessWorkerCqController.java index f517631..43ba351 100644 --- a/src/main/java/io/renren/modules/business/controller/BusinessWorkerCqController.java +++ b/src/main/java/io/renren/modules/business/controller/BusinessWorkerCqController.java @@ -1,5 +1,6 @@ package io.renren.modules.business.controller; +import io.renren.common.utils.PageUtils; import io.renren.common.utils.R; import io.renren.modules.business.entity.BusinessWorkerCqEntity; import io.renren.modules.business.service.BusinessWorkerCqService; @@ -7,6 +8,8 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.*; @@ -36,7 +39,8 @@ public class BusinessWorkerCqController { @RequestMapping("/list") @RequiresPermissions("business:businessworkercq:list") public R list(@RequestParam Map params){ - List page = businessWorkerCqService.querySearchList(params); + PageUtils page = businessWorkerCqService.queryPage(params); +// List page = businessWorkerCqService.querySearchList(params); return R.ok().put("page", page); } @@ -91,21 +95,34 @@ public class BusinessWorkerCqController { */ @RequestMapping("/updateList") @RequiresPermissions("business:businessworkercq:update") - public R updateList(@RequestBody Map params){ + public R updateList(@RequestBody Map params) throws ParseException { + String dateDay = params.get("dateDay").toString(); List> businessWorkerCqEntityList = (List>)params.get("list"); List businessWorkerCqUpdateEntityList = new ArrayList<>(); - businessWorkerCqEntityList.forEach(item->{ + for (Map item : businessWorkerCqEntityList) { BusinessWorkerCqEntity businessWorkerCqEntity = new BusinessWorkerCqEntity(); - businessWorkerCqEntity.setId(Integer.parseInt(item.get("id").toString())); - if(!"".equals(item.get("fixDay").toString().trim())){ + if (item.get("id") != null && !item.get("id").toString().equals("")) { + businessWorkerCqEntity.setId(Integer.parseInt(item.get("id").toString())); + } + if (item.get("userId") != null && !item.get("userId").toString().equals("")) { + businessWorkerCqEntity.setUserId(Integer.parseInt(item.get("userId").toString())); + } + if (!"".equals(item.get("fixDay").toString().trim())) { businessWorkerCqEntity.setFixDay(item.get("fixDay").toString()); } - if(!Objects.isNull(item.get("remark"))){ + if (!Objects.isNull(item.get("remark"))) { businessWorkerCqEntity.setRemark(item.get("remark").toString()); } + if (!dateDay.equals("")) { + String dateDayStr = dateDay + "-01"; + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Date date = dateFormat.parse(dateDayStr); + businessWorkerCqEntity.setDateDay(date); + } + businessWorkerCqEntity.setApproval(0); businessWorkerCqUpdateEntityList.add(businessWorkerCqEntity); - }); - businessWorkerCqService.updateBatchById(businessWorkerCqUpdateEntityList); + } + businessWorkerCqService.saveOrUpdateBatch(businessWorkerCqUpdateEntityList); return R.ok(); } diff --git a/src/main/java/io/renren/modules/business/controller/BusinessZcmxController.java b/src/main/java/io/renren/modules/business/controller/BusinessZcmxController.java index 8694d09..40ef18a 100644 --- a/src/main/java/io/renren/modules/business/controller/BusinessZcmxController.java +++ b/src/main/java/io/renren/modules/business/controller/BusinessZcmxController.java @@ -2,23 +2,17 @@ package io.renren.modules.business.controller; import io.renren.common.utils.PageUtils; import io.renren.common.utils.R; -import io.renren.modules.business.entity.BusinessDictEntity; -import io.renren.modules.business.entity.BusinessOutlayEntity; -import io.renren.modules.business.entity.BusinessProjectEntity; -import io.renren.modules.business.entity.BusinessWorkerEntity; +import io.renren.modules.business.entity.*; import io.renren.modules.business.service.*; import io.renren.modules.business.service.BusinessDictService; import io.renren.modules.business.service.BusinessWorkerCqService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.text.ParseException; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; /** * @author lsr @@ -43,6 +37,8 @@ public class BusinessZcmxController { private BusinessProjectService businessProjectService; @Autowired private BusinessWorkerService businessWorkerService; + @Autowired + private BusinessStService businessStService; /** * 获取字典信息 @@ -108,6 +104,16 @@ public class BusinessZcmxController { return R.ok().put("page", page); } + /** + * 列表-支出查询分页 + */ + @RequestMapping("/zccxList") + @RequiresPermissions("business:businesszcmx:list") + public R zccxList(@RequestParam Map params){ + PageUtils page = businessOutlayService.queryPage(params); + return R.ok().put("page", page); + } + /** * 列表-支出查询 */ @@ -213,4 +219,43 @@ public class BusinessZcmxController { List> page = businessOutlayService.stbzList(params); return R.ok().put("page", page); } + + /** + * 修改 + */ + @RequestMapping("/updateStxzList") + @RequiresPermissions("business:businesszcmx:list") + public R updateStxzList(@RequestBody Map params) throws ParseException { + List> xzList = (List>)params.get("list"); + List businessStEntityList = new ArrayList<>(); + for (Map item : xzList) { + BusinessStEntity businessStEntity = new BusinessStEntity(); + if (item.get("id") != null && !item.get("id").toString().equals("")) { + businessStEntity.setId(Integer.parseInt(item.get("id").toString())); + } + if (item.get("dateA") != null && !item.get("dateA").toString().equals("")) { + String dateDayStr = item.get("dateA").toString() + "-01"; + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Date date = dateFormat.parse(dateDayStr); + businessStEntity.setDateDay(date); + } + if (item.get("stday") != null && !item.get("stday").toString().equals("")) { + businessStEntity.setFixDay(Integer.parseInt(item.get("stday").toString())); + } + businessStEntityList.add(businessStEntity); + } + businessStService.saveOrUpdateBatch(businessStEntityList); + return R.ok(); + } + + /** + * 获取转账验证数据 + */ + @RequestMapping("/yzList") + @RequiresPermissions("business:businesszcmx:list") + public R yzList(@RequestParam Map params){ + List> page = businessOutlayService.yzList(params); + return R.ok().put("page", page); + } + } diff --git a/src/main/java/io/renren/modules/business/dao/BusinessOutlayDao.java b/src/main/java/io/renren/modules/business/dao/BusinessOutlayDao.java index 0365441..b2946f1 100644 --- a/src/main/java/io/renren/modules/business/dao/BusinessOutlayDao.java +++ b/src/main/java/io/renren/modules/business/dao/BusinessOutlayDao.java @@ -58,9 +58,10 @@ public interface BusinessOutlayDao extends BaseMapper { List> getGzTj(Map params); + List> getGzTj2(Map params); + /**. * 根据用户id获取信息 - * @param userId * @return */ Double getTotalByHJGId(Map params); @@ -115,7 +116,6 @@ public interface BusinessOutlayDao extends BaseMapper { /** * 根据年份 更新年度信息 - * @param annualYear * @param startTime * @param annualHsId */ @@ -126,4 +126,10 @@ public interface BusinessOutlayDao extends BaseMapper { * @return */ List listNowTime(Map params); + + /** + * 获取转账验证数据 + * @return + */ + List> yzList(Map params); } diff --git a/src/main/java/io/renren/modules/business/dao/BusinessOutlayIncomeDao.java b/src/main/java/io/renren/modules/business/dao/BusinessOutlayIncomeDao.java index 137119d..b2662b2 100644 --- a/src/main/java/io/renren/modules/business/dao/BusinessOutlayIncomeDao.java +++ b/src/main/java/io/renren/modules/business/dao/BusinessOutlayIncomeDao.java @@ -65,4 +65,18 @@ public interface BusinessOutlayIncomeDao extends BaseMapper params); + + /** + * 根据时间和执行人获取下一日期收支数据 + * @param params + * @return + */ + BusinessOutlayIncomeEntity getNextOutInByDate(Map params); } diff --git a/src/main/java/io/renren/modules/business/dao/BusinessPlanDao.java b/src/main/java/io/renren/modules/business/dao/BusinessPlanDao.java index df4ab10..df1e813 100644 --- a/src/main/java/io/renren/modules/business/dao/BusinessPlanDao.java +++ b/src/main/java/io/renren/modules/business/dao/BusinessPlanDao.java @@ -1,7 +1,7 @@ package io.renren.modules.business.dao; -import io.renren.modules.business.entity.BusinessPlanEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import io.renren.modules.business.entity.BusinessPlanEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -70,4 +70,10 @@ public interface BusinessPlanDao extends BaseMapper { * @return */ BusinessPlanEntity getSJList(@Param("time") String time); + + /** + * 未提交 + * @return + */ + List getUncommittedList(); } diff --git a/src/main/java/io/renren/modules/business/dao/BusinessPlanTwoDao.java b/src/main/java/io/renren/modules/business/dao/BusinessPlanTwoDao.java index 737a97d..6d438b0 100644 --- a/src/main/java/io/renren/modules/business/dao/BusinessPlanTwoDao.java +++ b/src/main/java/io/renren/modules/business/dao/BusinessPlanTwoDao.java @@ -25,6 +25,7 @@ public interface BusinessPlanTwoDao extends BaseMapper { */ List queryList(Map params); + BusinessPlanTwoEntity getMaxTime(); /** * 通过ids字符串对信息删除 @@ -33,4 +34,5 @@ public interface BusinessPlanTwoDao extends BaseMapper { void deleteByIds(@Param("deleteIds") String deleteIds); + } diff --git a/src/main/java/io/renren/modules/business/dao/BusinessStDao.java b/src/main/java/io/renren/modules/business/dao/BusinessStDao.java new file mode 100644 index 0000000..3a4f8e4 --- /dev/null +++ b/src/main/java/io/renren/modules/business/dao/BusinessStDao.java @@ -0,0 +1,17 @@ +package io.renren.modules.business.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import io.renren.modules.business.entity.BusinessStEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 食堂修正表 + * + * @author caolei + * @email jiaqiao@163.com + * @date 2024-03-10 19:26:31 + */ +@Mapper +public interface BusinessStDao extends BaseMapper { + +} diff --git a/src/main/java/io/renren/modules/business/dao/BusinessTotalDao.java b/src/main/java/io/renren/modules/business/dao/BusinessTotalDao.java index 19e5b5e..2ba4482 100644 --- a/src/main/java/io/renren/modules/business/dao/BusinessTotalDao.java +++ b/src/main/java/io/renren/modules/business/dao/BusinessTotalDao.java @@ -66,4 +66,10 @@ public interface BusinessTotalDao extends BaseMapper { * @param params */ List totalList(Map params); + + /** + * 未提交 + * @return + */ + List getUncommittedList(); } diff --git a/src/main/java/io/renren/modules/business/dao/BusinessWorkerCqDao.java b/src/main/java/io/renren/modules/business/dao/BusinessWorkerCqDao.java index 7228e89..7f58c93 100644 --- a/src/main/java/io/renren/modules/business/dao/BusinessWorkerCqDao.java +++ b/src/main/java/io/renren/modules/business/dao/BusinessWorkerCqDao.java @@ -19,7 +19,7 @@ import java.util.Map; public interface BusinessWorkerCqDao extends BaseMapper { int selectBydateDay(@Param("dateDay") String dateDay); - List querySearchList(@Param("userId") String userId,@Param("startTime") String startTime,@Param("endTime") String endTime); + List querySearchList(Map params); List> querySearchListAll(@Param("dateDay") String dateDay); @@ -41,5 +41,5 @@ public interface BusinessWorkerCqDao extends BaseMapper * @param params * @return */ - List> queryWorkerTimeList(Map params); + List> queryWorkerTimeList(@Param("userId") String userId,@Param("startTime") String startTime,@Param("endTime") String endTime); } diff --git a/src/main/java/io/renren/modules/business/entity/BusinessContractEntity.java b/src/main/java/io/renren/modules/business/entity/BusinessContractEntity.java index c3e863f..87e64d8 100644 --- a/src/main/java/io/renren/modules/business/entity/BusinessContractEntity.java +++ b/src/main/java/io/renren/modules/business/entity/BusinessContractEntity.java @@ -105,7 +105,7 @@ public class BusinessContractEntity implements Serializable { /** * 建设单位id */ - private String contractJsdwId;//建设单位 + private Integer contractJsdwId;//建设单位 @TableField(exist = false) private String contractJsdw;//建设单位 diff --git a/src/main/java/io/renren/modules/business/entity/BusinessOutlayEntity.java b/src/main/java/io/renren/modules/business/entity/BusinessOutlayEntity.java index ed72d5f..6e24ef5 100644 --- a/src/main/java/io/renren/modules/business/entity/BusinessOutlayEntity.java +++ b/src/main/java/io/renren/modules/business/entity/BusinessOutlayEntity.java @@ -94,17 +94,14 @@ public class BusinessOutlayEntity implements Serializable { /** * 地址 */ - @Excel(name = "地址") private String outPayeeAddress; /** * 电话 */ - @Excel(name = "电话") private String outPayeePhone; /** * 备注 */ - @Excel(name = "备注") private String outRemark; /** * 是否被收回(0未收回,1-已收回) diff --git a/src/main/java/io/renren/modules/business/entity/BusinessOutlayIncomeEntity.java b/src/main/java/io/renren/modules/business/entity/BusinessOutlayIncomeEntity.java index bed8c56..fc7c0d6 100644 --- a/src/main/java/io/renren/modules/business/entity/BusinessOutlayIncomeEntity.java +++ b/src/main/java/io/renren/modules/business/entity/BusinessOutlayIncomeEntity.java @@ -70,6 +70,7 @@ public class BusinessOutlayIncomeEntity implements Serializable { * 收款方式 */ @Excel(name = "收款方式") + @TableField(exist=false) private String outinCreditingWayStr; /** * 备注 diff --git a/src/main/java/io/renren/modules/business/entity/BusinessPlanTwoEntity.java b/src/main/java/io/renren/modules/business/entity/BusinessPlanTwoEntity.java index d1b5779..b91d96f 100644 --- a/src/main/java/io/renren/modules/business/entity/BusinessPlanTwoEntity.java +++ b/src/main/java/io/renren/modules/business/entity/BusinessPlanTwoEntity.java @@ -32,6 +32,19 @@ public class BusinessPlanTwoEntity implements Serializable { */ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date twoEditTime; + + /** + * 开始日期 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date twoStart; + + /** + * 截止日期 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date twoEnd; + /** * 立项id */ diff --git a/src/main/java/io/renren/modules/business/entity/BusinessStEntity.java b/src/main/java/io/renren/modules/business/entity/BusinessStEntity.java new file mode 100644 index 0000000..a778607 --- /dev/null +++ b/src/main/java/io/renren/modules/business/entity/BusinessStEntity.java @@ -0,0 +1,37 @@ +package io.renren.modules.business.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 食堂修正表 + * + * @author caolei + * @email jiaqiao@163.com + * @date 2024-03-10 19:26:31 + */ +@Data +@TableName("business_st") +public class BusinessStEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId + private Integer id; + /** + * 日期 + */ + @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8") + private Date dateDay; + /** + * 修正天数 + */ + private Integer fixDay; +} diff --git a/src/main/java/io/renren/modules/business/service/BusinessOutlayIncomeService.java b/src/main/java/io/renren/modules/business/service/BusinessOutlayIncomeService.java index 8517286..49ff8a0 100644 --- a/src/main/java/io/renren/modules/business/service/BusinessOutlayIncomeService.java +++ b/src/main/java/io/renren/modules/business/service/BusinessOutlayIncomeService.java @@ -26,6 +26,8 @@ public interface BusinessOutlayIncomeService extends IService listNoPage(Map params); + PageUtils pcListPage(Map params); + List pcListNoPage(Map params); /** @@ -67,5 +69,19 @@ public interface BusinessOutlayIncomeService extends IService params); + + /** + * 根据时间和执行人获取收支数据 + * @param params + * @return + */ + BusinessOutlayIncomeEntity getOutInByDate(Map params); + + /** + * 根据时间和执行人获取下一日期收支数据 + * @param params + * @return + */ + BusinessOutlayIncomeEntity getNextOutInByDate(Map params); } diff --git a/src/main/java/io/renren/modules/business/service/BusinessOutlayService.java b/src/main/java/io/renren/modules/business/service/BusinessOutlayService.java index baa0c33..98006bc 100644 --- a/src/main/java/io/renren/modules/business/service/BusinessOutlayService.java +++ b/src/main/java/io/renren/modules/business/service/BusinessOutlayService.java @@ -27,6 +27,8 @@ public interface BusinessOutlayService extends IService { */ List listNoPage(Map params); + PageUtils pcListPage(Map params); + List pcListNoPage(Map params); /** @@ -34,6 +36,7 @@ public interface BusinessOutlayService extends IService { * @param params * @return */ +// Map queryList(Map params); Map queryList(Map params); public List> getZxrList(); @@ -60,7 +63,6 @@ public interface BusinessOutlayService extends IService { /** * 为了传入到 年度总结 * @param outTime - * @param toString * @param i */ void ifSave(Date outTime, String writeUserId, int i) throws ParseException; @@ -73,7 +75,6 @@ public interface BusinessOutlayService extends IService { /**. * 根据用户id获取信息 - * @param userId * @return */ Double getTotalByHJGId(Map params); @@ -90,5 +91,12 @@ public interface BusinessOutlayService extends IService { public Map getGzTj(Map params); + /** + * 获取验证列表数据 + * @param params + * @return + */ + List> yzList(Map params); + } diff --git a/src/main/java/io/renren/modules/business/service/BusinessPlanService.java b/src/main/java/io/renren/modules/business/service/BusinessPlanService.java index 11bfa7f..d5f1051 100644 --- a/src/main/java/io/renren/modules/business/service/BusinessPlanService.java +++ b/src/main/java/io/renren/modules/business/service/BusinessPlanService.java @@ -79,4 +79,6 @@ public interface BusinessPlanService extends IService { List getNewRyList(String time); List uncommitPlan(Map params); + + List getUncommittedList(); } diff --git a/src/main/java/io/renren/modules/business/service/BusinessPlanTwoService.java b/src/main/java/io/renren/modules/business/service/BusinessPlanTwoService.java index 6b1baf4..57a0fb9 100644 --- a/src/main/java/io/renren/modules/business/service/BusinessPlanTwoService.java +++ b/src/main/java/io/renren/modules/business/service/BusinessPlanTwoService.java @@ -25,6 +25,8 @@ public interface BusinessPlanTwoService extends IService */ List queryList(Map params); + BusinessPlanTwoEntity getMaxTime(); + /** * 新保存 此方法包含 新增和删除需要传入 saveIds 和 deleteIds */ diff --git a/src/main/java/io/renren/modules/business/service/BusinessStService.java b/src/main/java/io/renren/modules/business/service/BusinessStService.java new file mode 100644 index 0000000..7b5f41b --- /dev/null +++ b/src/main/java/io/renren/modules/business/service/BusinessStService.java @@ -0,0 +1,16 @@ +package io.renren.modules.business.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import io.renren.modules.business.entity.BusinessStEntity; + +/** + * 食堂修正表 + * + * @author caolei + * @email jiaqiao@163.com + * @date 2024-03-10 19:26:31 + */ +public interface BusinessStService extends IService { + +} + diff --git a/src/main/java/io/renren/modules/business/service/BusinessTotalService.java b/src/main/java/io/renren/modules/business/service/BusinessTotalService.java index 1ed3e98..d80298c 100644 --- a/src/main/java/io/renren/modules/business/service/BusinessTotalService.java +++ b/src/main/java/io/renren/modules/business/service/BusinessTotalService.java @@ -51,5 +51,7 @@ public interface BusinessTotalService extends IService { BusinessTotalEntity getByIdNew(Integer totalId); List totalList(Map params); + + List getUncommittedList(); } diff --git a/src/main/java/io/renren/modules/business/service/impl/BusinessApprovalServiceImpl.java b/src/main/java/io/renren/modules/business/service/impl/BusinessApprovalServiceImpl.java index 1f0076e..852434e 100644 --- a/src/main/java/io/renren/modules/business/service/impl/BusinessApprovalServiceImpl.java +++ b/src/main/java/io/renren/modules/business/service/impl/BusinessApprovalServiceImpl.java @@ -175,14 +175,19 @@ public class BusinessApprovalServiceImpl extends ServiceImpl params) { - IPage page = this.page( - new Query().getPage(params), - new QueryWrapper() - ); - +// IPage page = this.page( +// new Query().getPage(params), +// new QueryWrapper() +// ); + IPage page = new Query().getPage(params); + List list = baseMapper.listNowTime(params); + page.setRecords(list); return new PageUtils(page); } + /** * 获取未删除的列表不含有翻页 */ @@ -52,6 +53,15 @@ public class BusinessOutlayIncomeServiceImpl extends ServiceImpl params) { + IPage page = new Query().getPage(params); + List list = baseMapper.pcListNoPage(params); + page.setRecords(list); + return new PageUtils(page); + } + @Override public List pcListNoPage(Map params){ return baseMapper.pcListNoPage(params); @@ -64,36 +74,42 @@ public class BusinessOutlayIncomeServiceImpl extends ServiceImpl zclbList(Map params) { +// //根据条件获取类别统计信息 +// List> list = businessOutlayDao.getLbTotal(params); +// //获取统计信息 +// List> tj = baseMapper.zclbList(params); +// //处理后的统计信息map +// Map newMap = new HashMap<>(); +// //人员信息列表 +// List ry = sysUserDao.sysUserlist(); +// Double total = 0.0; +// for(Map i : tj){ +// //录入到map中 +// for(SysUserEntity j : ry){ +// if(i.get("id").toString().equals(j.getUserId().toString())){ +// newMap.put(j.getAuthenticName(), i.get("totalNum")); +// } +// } +// } +// //根据用户侯吉光的id获取数据存入到统计信息中 +// for(SysUserEntity j : ry){ +// if(j.getAuthenticName().equals("侯吉光") && total == 0.0){ +// params.put("userId",j.getUserId()); +// params.put("outType","146"); +// total = businessOutlayDao.getTotalByHJGId(params); +// //System.out.println(total); +// } +// } +// newMap.put("侯吉光",total); +// Map page = new HashMap<>(); +// page.put("lb",list); +// page.put("tj",newMap); +// return page; + //根据条件获取类别统计信息 List> list = businessOutlayDao.getLbTotal(params); - //获取统计信息 - List> tj = baseMapper.zclbList(params); - //处理后的统计信息map - Map newMap = new HashMap<>(); - //人员信息列表 - List ry = sysUserDao.sysUserlist(); - Double total = 0.0; - for(Map i : tj){ - //录入到map中 - for(SysUserEntity j : ry){ - if(i.get("id").toString().equals(j.getUserId().toString())){ - newMap.put(j.getAuthenticName(), i.get("totalNum")); - } - } - } - //根据用户侯吉光的id获取数据存入到统计信息中 - for(SysUserEntity j : ry){ - if(j.getAuthenticName().equals("侯吉光") && total == 0.0){ - params.put("userId",j.getUserId()); - params.put("outType","146"); - total = businessOutlayDao.getTotalByHJGId(params); - //System.out.println(total); - } - } - newMap.put("侯吉光",total); Map page = new HashMap<>(); page.put("lb",list); - page.put("tj",newMap); return page; } @@ -175,4 +191,24 @@ public class BusinessOutlayIncomeServiceImpl extends ServiceImpl params){ + return baseMapper.getOutInByDate(params); + } + + /** + * 根据时间和执行人获取下一日期收支数据 + * @param params + * @return + */ + @Override + public BusinessOutlayIncomeEntity getNextOutInByDate(Map params){ + return baseMapper.getNextOutInByDate(params); + } + } \ No newline at end of file diff --git a/src/main/java/io/renren/modules/business/service/impl/BusinessOutlayServiceImpl.java b/src/main/java/io/renren/modules/business/service/impl/BusinessOutlayServiceImpl.java index ef7142a..cb89ae5 100644 --- a/src/main/java/io/renren/modules/business/service/impl/BusinessOutlayServiceImpl.java +++ b/src/main/java/io/renren/modules/business/service/impl/BusinessOutlayServiceImpl.java @@ -1,12 +1,12 @@ package io.renren.modules.business.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import io.renren.common.utils.PageUtils; import io.renren.common.utils.Query; import io.renren.modules.business.dao.BusinessAnnualDao; import io.renren.modules.business.dao.BusinessOutlayDao; +import io.renren.modules.business.dao.BusinessOutlayIncomeDao; import io.renren.modules.business.entity.BusinessAnnualEntity; import io.renren.modules.business.entity.BusinessOutlayEntity; import io.renren.modules.business.service.BusinessOutlayService; @@ -31,15 +31,19 @@ public class BusinessOutlayServiceImpl extends ServiceImpl params) { - IPage page = this.page( - new Query().getPage(params), - new QueryWrapper().eq("write_user_id",params.get("writeUserId").toString()) - .orderByDesc("out_time") - ); - +// IPage page = this.page( +// new Query().getPage(params), +// new QueryWrapper().eq("write_user_id",params.get("writeUserId").toString()) +// .orderByDesc("out_time") +// ); + IPage page = new Query().getPage(params); + List list = baseMapper.listNoPage(params); + page.setRecords(list); return new PageUtils(page); } @@ -53,6 +57,14 @@ public class BusinessOutlayServiceImpl extends ServiceImpl params){ + IPage page = new Query().getPage(params); + List list = baseMapper.pcListNoPage(params); + page.setRecords(list); + return new PageUtils(page); + } + @Override public List pcListNoPage(Map params){ return baseMapper.pcListNoPage(params); @@ -234,18 +246,12 @@ public class BusinessOutlayServiceImpl extends ServiceImpl> hdg = businessOutlayDao.getLbTotalByWriteUserId(params); -// list.forEach( x->{ -// Map map = new HashMap<>(); -// }); -// - for(int i=0;i Double.valueOf(e.get("xs").toString()))); double hdqyszh = list.stream().collect(Collectors.summingDouble(e -> Double.valueOf(e.get("hdq").toString()))); double lxjyszh = list.stream().collect(Collectors.summingDouble(e -> Double.valueOf(e.get("lxj").toString()))); double hdgyszh = list.stream().collect(Collectors.summingDouble(e -> Double.valueOf(e.get("hdg").toString()))); - data.put("xsyszh",xsyszh); - data.put("hdqyszh",hdqyszh); - data.put("lxjyszh",lxjyszh); - data.put("hdgyszh",hdgyszh); + data.put("xsyszh",xsyszh); // 肖爽以上支出总和 + data.put("hdqyszh",hdqyszh);// 侯吉庆以上支出总和 + data.put("lxjyszh",lxjyszh);// 李现举以上支出总和 + data.put("hdgyszh",hdgyszh);// 侯吉光以上支出总和 + + double zh = xsyszh+hdqyszh+lxjyszh+hdgyszh; + double xsyszb = 100*xsyszh/zh; + double hdqyszb = 100*hdqyszh/zh; + double lxjyszb = 100*lxjyszh/zh; + double hdgyszb = 100*hdgyszh/zh; + + data.put("xsyszb",xsyszb); // 肖爽以上支出占比 + data.put("hdqyszb",hdqyszb);// 侯吉庆以上支出占比 + data.put("lxjyszb",lxjyszb);// 李现举以上支出占比 + data.put("hdgyszb",hdgyszb);// 侯吉光以上支出占比 + + List> tj = businessOutlayIncomeDao.zclbList(params); + + + double xssrnb = 0.0;//肖爽内部转账收入总和 + double xssrqt = 0.0;//肖爽其他收入总和 + + double hjqsrnb = 0.0;//侯吉庆内部转账收入总和 + double hjqsrqt = 0.0;//侯吉庆其他收入总和 + + double lxjsrnb = 0.0;//李现举内部转账收入总和 + double lxjsrqt = 0.0;//李现举其他收入总和 + + for(Map item : tj){ + Double totalNum = Double.valueOf(item.get("totalNum").toString()); + if(item.get("id").toString().equals("13")){//肖爽 + if(item.get("out_type").toString().equals("1")){ + xssrnb = totalNum; + }else{ + xssrqt = totalNum; + } + } + if(item.get("id").toString().equals("9")){//侯吉庆 + if(item.get("out_type").toString().equals("1")){ + hjqsrnb = totalNum; + }else{ + hjqsrqt = totalNum; + } + } + if(item.get("id").toString().equals("11")){//李现举 + if(item.get("out_type").toString().equals("1")){ + lxjsrnb = totalNum; + }else{ + lxjsrqt = totalNum; + } + } + } + + double xssrzh = xssrnb+xssrqt;;//肖爽收入总和 + double hjqsrzh = hjqsrnb+hjqsrqt;//侯吉庆收入总和 + double lxjsrzh = lxjsrnb+lxjsrqt;//李现举收入总和 + + data.put("xssrzh",xssrzh);//肖爽收入总和 + data.put("xssrnb",xssrnb);//肖爽内部转账收入总和 + data.put("xssrqt",xssrqt);//肖爽其他收入总和 + + data.put("hjqsrzh",hjqsrzh);//侯吉庆收入总和 + data.put("hjqsrnb",hjqsrnb);//侯吉庆内部转账收入总和 + data.put("hjqsrqt",hjqsrqt);//侯吉庆其他收入总和 + + data.put("lxjsrzh",lxjsrzh);//李现举收入总和 + data.put("lxjsrnb",lxjsrnb);//李现举内部转账收入总和 + data.put("lxjsrqt",lxjsrqt);//李现举其他收入总和 - data.put("mqzczh",20000000); - data.put("mqye",5000000); return data; } @@ -315,11 +381,11 @@ public class BusinessOutlayServiceImpl extends ServiceImpl Double.valueOf(e.get("outMoney").toString()))); list.forEach( x->{ double outMoney = new Double(x.get("outMoney").toString()); - if(outMoney != 0){ + if(hjMoney != 0d){ String bfb = new DecimalFormat("0.00").format(outMoney / hjMoney * 10000 / 100) + "%"; x.put("bfb",bfb); }else{ - x.put("bfb","0.00"); + x.put("bfb","0.00%"); } }); map.put("list",list); @@ -330,28 +396,49 @@ public class BusinessOutlayServiceImpl extends ServiceImpl getGzTj(Map params){ Map map = new HashMap<>(); - List> list = businessOutlayDao.getGzTj(params); +// List> list = businessOutlayDao.getGzTj(params); +// +// list.forEach( x->{ +// BigDecimal sfgz = new BigDecimal(x.get("sfgz").toString()); +// BigDecimal money = new BigDecimal(x.get("money").toString()); +// BigDecimal cz = sfgz.subtract(money); +// x.put("cz",cz); +// }); +// double hjsfgz = list.stream().collect(Collectors.summingDouble(e -> Double.valueOf(e.get("sfgz").toString()))); +// double hjmoney = list.stream().collect(Collectors.summingDouble(e -> Double.valueOf(e.get("money").toString()))); +// double hjcz = list.stream().collect(Collectors.summingDouble(e -> Double.valueOf(e.get("cz").toString()))); +// +// list.forEach( x->{ +// double sfgz = new Double(x.get("sfgz").toString()); +// String bfb = new DecimalFormat("0.00").format(sfgz / hjsfgz * 10000 / 100) + "%"; +// x.put("bfb",bfb); +// }); +// map.put("list",list); +// map.put("hjsfgz",new BigDecimal(hjsfgz).setScale(2,BigDecimal.ROUND_HALF_UP)); +// map.put("hjmoney",new BigDecimal(hjmoney).setScale(2,BigDecimal.ROUND_HALF_UP)); +// map.put("hjcz",new BigDecimal(hjcz).setScale(2,BigDecimal.ROUND_HALF_UP)); + + List> list = businessOutlayDao.getGzTj2(params); - list.forEach( x->{ - BigDecimal sfgz = new BigDecimal(x.get("sfgz").toString()); - BigDecimal money = new BigDecimal(x.get("money").toString()); - BigDecimal cz = sfgz.subtract(money); - x.put("cz",cz); - }); double hjsfgz = list.stream().collect(Collectors.summingDouble(e -> Double.valueOf(e.get("sfgz").toString()))); - double hjmoney = list.stream().collect(Collectors.summingDouble(e -> Double.valueOf(e.get("money").toString()))); - double hjcz = list.stream().collect(Collectors.summingDouble(e -> Double.valueOf(e.get("cz").toString()))); - list.forEach( x->{ + list.forEach( x-> { double sfgz = new Double(x.get("sfgz").toString()); - String bfb = new DecimalFormat("0.00").format(sfgz / hjsfgz * 10000 / 100) + "%"; - x.put("bfb",bfb); + if(hjsfgz == 0d){ + x.put("bfb", "0.00%"); + }else{ + String bfb = new DecimalFormat("0.00").format(sfgz / hjsfgz * 10000 / 100) + "%"; + x.put("bfb", bfb); + } }); map.put("list",list); map.put("hjsfgz",new BigDecimal(hjsfgz).setScale(2,BigDecimal.ROUND_HALF_UP)); - map.put("hjmoney",new BigDecimal(hjmoney).setScale(2,BigDecimal.ROUND_HALF_UP)); - map.put("hjcz",new BigDecimal(hjcz).setScale(2,BigDecimal.ROUND_HALF_UP)); return map; } + @Override + public List> yzList(Map params){ + return baseMapper.yzList(params); + } + } diff --git a/src/main/java/io/renren/modules/business/service/impl/BusinessPlanServiceImpl.java b/src/main/java/io/renren/modules/business/service/impl/BusinessPlanServiceImpl.java index 936f7b5..f42ba6a 100644 --- a/src/main/java/io/renren/modules/business/service/impl/BusinessPlanServiceImpl.java +++ b/src/main/java/io/renren/modules/business/service/impl/BusinessPlanServiceImpl.java @@ -314,4 +314,9 @@ public class BusinessPlanServiceImpl extends ServiceImpl getUncommittedList() { + return baseMapper.getUncommittedList(); + } + } \ No newline at end of file diff --git a/src/main/java/io/renren/modules/business/service/impl/BusinessPlanTwoServiceImpl.java b/src/main/java/io/renren/modules/business/service/impl/BusinessPlanTwoServiceImpl.java index 250dc7c..4d0f363 100644 --- a/src/main/java/io/renren/modules/business/service/impl/BusinessPlanTwoServiceImpl.java +++ b/src/main/java/io/renren/modules/business/service/impl/BusinessPlanTwoServiceImpl.java @@ -10,7 +10,8 @@ import io.renren.modules.business.entity.BusinessPlanTwoEntity; import io.renren.modules.business.service.BusinessPlanTwoService; import org.springframework.stereotype.Service; -import java.util.Calendar; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.List; import java.util.Map; @@ -38,6 +39,11 @@ public class BusinessPlanTwoServiceImpl extends ServiceImpl params) { //批量保存 if(params.get("saveIds") != null&!params.get("saveIds").equals("")){ + + String twoEditTime = params.get("twoEditTime").toString(); + String twoStart = params.get("twoStart").toString(); + String twoEnd = params.get("twoEnd").toString(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + String[] str = params.get("saveIds").toString().split(","); BusinessPlanTwoEntity businessPlanTwoEntity = new BusinessPlanTwoEntity(); for(String i: str){ // Calendar.getInstance() //获取日期+14天 因为是两周计划当天写的计划存在于第二天的开始到2周结束 - Calendar c = Calendar.getInstance(); - c.add(Calendar.DAY_OF_MONTH, 14); - // System.out.println(i); +// Calendar c = Calendar.getInstance(); +// c.add(Calendar.DAY_OF_MONTH, 14); +// businessPlanTwoEntity.setTwoEditTime(c.getTime()); businessPlanTwoEntity.setTwoProjectId(i); - businessPlanTwoEntity.setTwoEditTime(c.getTime()); + try { + businessPlanTwoEntity.setTwoEditTime(dateFormat.parse(twoEditTime)); + businessPlanTwoEntity.setTwoStart(dateFormat.parse(twoStart)); + businessPlanTwoEntity.setTwoEnd(dateFormat.parse(twoEnd)); + } catch (ParseException e) { + e.printStackTrace(); + } businessPlanTwoEntity.setStatus(0); baseMapper.insert(businessPlanTwoEntity); } - } if(params.get("deleteIds") != null&!params.get("deleteIds").equals("")){ String[] str = params.get("deleteIds").toString().split(","); diff --git a/src/main/java/io/renren/modules/business/service/impl/BusinessStServiceImpl.java b/src/main/java/io/renren/modules/business/service/impl/BusinessStServiceImpl.java new file mode 100644 index 0000000..25be789 --- /dev/null +++ b/src/main/java/io/renren/modules/business/service/impl/BusinessStServiceImpl.java @@ -0,0 +1,12 @@ +package io.renren.modules.business.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.renren.modules.business.entity.BusinessStEntity; +import io.renren.modules.business.service.BusinessStService; +import org.springframework.stereotype.Service; +import io.renren.modules.business.dao.BusinessStDao; + +@Service("businessStService") +public class BusinessStServiceImpl extends ServiceImpl implements BusinessStService { + +} \ No newline at end of file diff --git a/src/main/java/io/renren/modules/business/service/impl/BusinessTotalServiceImpl.java b/src/main/java/io/renren/modules/business/service/impl/BusinessTotalServiceImpl.java index 4677c4c..31c8263 100644 --- a/src/main/java/io/renren/modules/business/service/impl/BusinessTotalServiceImpl.java +++ b/src/main/java/io/renren/modules/business/service/impl/BusinessTotalServiceImpl.java @@ -160,4 +160,9 @@ public class BusinessTotalServiceImpl extends ServiceImpl getUncommittedList() { + return baseMapper.getUncommittedList(); + } + } \ No newline at end of file diff --git a/src/main/java/io/renren/modules/business/service/impl/BusinessWorkerCqServiceImpl.java b/src/main/java/io/renren/modules/business/service/impl/BusinessWorkerCqServiceImpl.java index 917dddd..11e7c59 100644 --- a/src/main/java/io/renren/modules/business/service/impl/BusinessWorkerCqServiceImpl.java +++ b/src/main/java/io/renren/modules/business/service/impl/BusinessWorkerCqServiceImpl.java @@ -1,6 +1,5 @@ package io.renren.modules.business.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import io.renren.common.utils.DateUtils; @@ -28,11 +27,49 @@ public class BusinessWorkerCqServiceImpl extends ServiceImpl params) { - IPage page = this.page( - new Query().getPage(params), - new QueryWrapper() - ); - +// IPage page = this.page( +// new Query().getPage(params), +// new QueryWrapper() +// ); + IPage page = new Query().getPage(params); + String userId = (String) params.get("userId"); + Date date = new Date(); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + String nowDate = formatter.format(date); + int year =Integer.parseInt(nowDate.substring(0,4)); + String startTime = "1999-01-01"; + String endTime = "9999-12-31"; + params.put("startTime", startTime); + params.put("endTime", endTime); + List list = baseMapper.querySearchList(params); + if(list.size() > 0) { + Map timeMap = new HashMap<>(); + List> workerTimeList = baseMapper.queryWorkerTimeList(userId,startTime,endTime); + if(workerTimeList.size() > 0) { + for(Map tmp : workerTimeList) { + timeMap.put(tmp.get("total_date")+"", new BigDecimal(tmp.get("cnt")+"")); + } + } + for(BusinessWorkerCqEntity tmp : list) { + if(tmp.getDateDay() != null) { + String tmpDateDayStr = DateUtils.format(tmp.getDateDay(), "yyyy-MM"); + if(timeMap.containsKey(tmpDateDayStr)) { + tmp.setStatusDay(timeMap.get(tmpDateDayStr).toString()); + } + // 状态+修正 + BigDecimal statusBg = BigDecimal.ZERO; + if(StringUtils.isNotBlank(tmp.getStatusDay())) { + statusBg = new BigDecimal(tmp.getStatusDay()); + } + BigDecimal fixBg = BigDecimal.ZERO; + if(StringUtils.isNotBlank(tmp.getFixDay())) { + fixBg = new BigDecimal(tmp.getFixDay()); + } + tmp.setOutWorkDay(statusBg.add(fixBg).toString()); + } + } + } + page.setRecords(list); return new PageUtils(page); } @@ -43,29 +80,16 @@ public class BusinessWorkerCqServiceImpl extends ServiceImpl list = baseMapper.querySearchList(userId,startTime,endTime); + String startTime = "1999-01-01"; + String endTime = "9999-12-31"; + params.put("startTime", startTime); + params.put("endTime", endTime); + List list = baseMapper.querySearchList(params); if(list.size() > 0) { Map timeMap = new HashMap<>(); // 查询人员施工时间 // 按人和时间,查business_total 的total_date和isfinished,再用plan_id查的表 - params.put("startTime", startTime); - params.put("endTime", endTime); - List> workerTimeList = baseMapper.queryWorkerTimeList(params); + List> workerTimeList = baseMapper.queryWorkerTimeList(userId,startTime,endTime); if(workerTimeList.size() > 0) { for(Map tmp : workerTimeList) { timeMap.put(tmp.get("total_date")+"", new BigDecimal(tmp.get("cnt")+"")); @@ -111,8 +135,26 @@ public class BusinessWorkerCqServiceImpl extends ServiceImpl page = this.page( new Query().getPage(params), new QueryWrapper().eq("user_id",params.get("userId")) - .orderByDesc("year") + .orderByDesc("year").orderByDesc("start_time") ); return new PageUtils(page); diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 1d3267f..fe77382 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -6,7 +6,7 @@ spring: url: jdbc:mysql://localhost:3306/project_manage?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai username: root # password: Password01!123$ - password: root + password: 123456 initial-size: 10 max-active: 100 min-idle: 10 diff --git a/src/main/resources/mapper/business/BusinessOutlayDao.xml b/src/main/resources/mapper/business/BusinessOutlayDao.xml index baaf69c..3185c7e 100644 --- a/src/main/resources/mapper/business/BusinessOutlayDao.xml +++ b/src/main/resources/mapper/business/BusinessOutlayDao.xml @@ -371,6 +371,7 @@ WHERE bo.STATUS = 0 and bo.write_user_id = #{writeUserId} + and bo.out_type != 146 and bo.out_time like CONCAT('%',#{year},'%') @@ -484,7 +485,7 @@ LEFT JOIN( select o.out_type,o.out_money from business_outlay o - where o.out_type in ('140','142','143','144','145','259','261','262') + where o.out_type in ('140','141','142','143','144','145','259','260','262','327') and o.out_time >= #{startTime} @@ -492,105 +493,122 @@ and o.out_time <= #{endTime} ) y ON y.out_type = x.dict_id - where x.dict_id in ('140','142','143','144','145','259','261','262') + where x.dict_id in ('140','141','142','143','144','145','259','260','262','327') )t group by dict_name,order_num order by order_num - + + - select a.*,b.day,round(a.money/b.day,2) jz from + select a.*,(ifnull(b.day,0)+ifnull(c.fix_day,0)+60) as day,ifnull(d.fix_day,0) as stday,d.id, + round(a.money/(ifnull(b.day,0)+ifnull(c.fix_day,0)+60+ifnull(d.fix_day,0)),2) jz + from (select SUBSTRING(out_time,1,7) dateA, sum(out_money) as money from business_outlay where status = 0 and out_type = 142 GROUP BY dateA) a left join ( - select date_format(a.total_date, '%Y-%m') dateB, sum(b.day) day - from business_total a - join business_plan_worker b on a.plan_id = b.plan_id - - - and date_format(total_date, '%Y-%m') >= #{startTime} - - - and date_format(total_date, '%Y-%m') <= #{endTime} - - - and is_finished = '1' - group by dateB + select date_format(a.total_date, '%Y-%m') dateB, sum(b.day) day + from business_total a + join business_plan_worker b on a.plan_id = b.plan_id + + + and date_format(total_date, '%Y-%m') >= #{startTime} + + + and date_format(total_date, '%Y-%m') <= #{endTime} + + + and is_finished = '1' + group by dateB ) b on a.dateA = b.dateB + left join + ( + select + date_format(date_day, '%Y-%m') dateC, + round(sum(fix_day),2) as fix_day + from business_worker_cq + + + and date_format(date_day, '%Y-%m') >= #{startTime} + + + and date_format(date_day, '%Y-%m') <= #{endTime} + + + group by dateC + ) c + on a.dateA = c.dateC + left join + ( + select + date_format(date_day, '%Y-%m') dateD, + fix_day, + id + from business_st + + + and date_format(date_day, '%Y-%m') >= #{startTime} + + + and date_format(date_day, '%Y-%m') <= #{endTime} + + + ) d + on a.dateA = d.dateD and a.dateA >= #{startTime} @@ -725,4 +779,56 @@ ORDER BY and approval != 2 + \ No newline at end of file diff --git a/src/main/resources/mapper/business/BusinessOutlayIncomeDao.xml b/src/main/resources/mapper/business/BusinessOutlayIncomeDao.xml index 57551b8..02a1cc2 100644 --- a/src/main/resources/mapper/business/BusinessOutlayIncomeDao.xml +++ b/src/main/resources/mapper/business/BusinessOutlayIncomeDao.xml @@ -70,7 +70,7 @@ out_type as outType, d.`name` as outTypeStr from business_outlay_income o LEFT JOIN business_dict d on o.out_type = d.dict_id - where o.status = 0 and DATE_FORMAT(outin_date,'%Y') like CONCAT('%',YEAR(now()),'%') + where o.status = 0 and write_user_id = #{writeUserId} @@ -78,20 +78,25 @@ + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/business/BusinessPlanDao.xml b/src/main/resources/mapper/business/BusinessPlanDao.xml index a346e69..133a52b 100644 --- a/src/main/resources/mapper/business/BusinessPlanDao.xml +++ b/src/main/resources/mapper/business/BusinessPlanDao.xml @@ -126,4 +126,13 @@ select GROUP_CONCAT(plan_dd_id) dd,GROUP_CONCAT(select_persion_id) selectPerIds from business_plan where plan_time = #{time} and is_one_day = 127 + + + diff --git a/src/main/resources/mapper/business/BusinessPlanTwoDao.xml b/src/main/resources/mapper/business/BusinessPlanTwoDao.xml index a11fa35..ef2aab1 100644 --- a/src/main/resources/mapper/business/BusinessPlanTwoDao.xml +++ b/src/main/resources/mapper/business/BusinessPlanTwoDao.xml @@ -7,6 +7,8 @@ + + @@ -24,16 +26,24 @@ + diff --git a/src/main/resources/mapper/business/BusinessTotalDao.xml b/src/main/resources/mapper/business/BusinessTotalDao.xml index d88aa03..ae16ec2 100644 --- a/src/main/resources/mapper/business/BusinessTotalDao.xml +++ b/src/main/resources/mapper/business/BusinessTotalDao.xml @@ -142,4 +142,18 @@ update business_total set is_finished = #{isFinished} where date_format(plan_time, '%Y-%m-%d')=#{day} + + \ No newline at end of file diff --git a/src/main/resources/mapper/business/BusinessWorkerCqDao.xml b/src/main/resources/mapper/business/BusinessWorkerCqDao.xml index 96780aa..2a7532b 100644 --- a/src/main/resources/mapper/business/BusinessWorkerCqDao.xml +++ b/src/main/resources/mapper/business/BusinessWorkerCqDao.xml @@ -20,15 +20,15 @@