包活导出功能修改

master 36
hshansha 7 months ago
parent 3a1adda6d0
commit 892e5a07fc

@ -2,14 +2,14 @@ package com.ruoyi.pay.controller;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.util.ArrayList; import java.text.ParseException;
import java.util.HashSet; import java.text.SimpleDateFormat;
import java.util.List; import java.util.*;
import java.util.Arrays;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.ruoyi.pay.domain.PaySalaryReport; import com.ruoyi.pay.domain.PaySalaryReport;
import com.ruoyi.pay.domain.vo.ExportBaohuoVo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@ -69,7 +69,7 @@ public class PayWorkOrderBaohuoController extends BaseController {
@GetMapping("/sum") @GetMapping("/sum")
public R<List<PaySalaryReport>> sum(@RequestParam(name = "date")String date, public R<List<PaySalaryReport>> sum(@RequestParam(name = "date")String date,
@RequestParam(name = "deptId", required = false) Long deptId, @RequestParam(name = "deptId", required = false) Long deptId,
@RequestParam(name = "tenantId", required = true) Long tenantId @RequestParam(name = "tenantId") Long tenantId
) { ) {
return iPayWorkOrderBaohuoService.baohuoSum(date, deptId,tenantId); return iPayWorkOrderBaohuoService.baohuoSum(date, deptId,tenantId);
} }
@ -80,13 +80,16 @@ public class PayWorkOrderBaohuoController extends BaseController {
@SaCheckPermission("pay:workOrderBaohuo:export") @SaCheckPermission("pay:workOrderBaohuo:export")
@Log(title = "包活派工单", businessType = BusinessType.EXPORT) @Log(title = "包活派工单", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(PayWorkOrderBaohuoBo bo, HttpServletResponse response) { public void export(@RequestParam(name = "exportDate") String exportDate,
List<PayWorkOrderBaohuoVo> list = iPayWorkOrderBaohuoService.getWorkOrderListByDate(bo.getExportDate()); @RequestParam(name = "tenantId") Long tenantId, HttpServletResponse response) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
Date exportDate1 = sdf.parse(exportDate);
List<ExportBaohuoVo> list = iPayWorkOrderBaohuoService.getWorkOrderListByDate(tenantId,exportDate1);
list.stream().parallel().forEach(vo -> { list.stream().parallel().forEach(vo -> {
vo.setAvgAmount(vo.getAmount().divide(new BigDecimal(vo.getWorkerNum()), 2, RoundingMode.HALF_UP)); vo.setAvgAmount(vo.getAmount().divide(new BigDecimal(vo.getWorkerNum()), 2, RoundingMode.HALF_UP));
vo.setWorkTime(vo.getWorkTime().divide(new BigDecimal(vo.getWorkerNum()), 2,RoundingMode.HALF_UP)); vo.setWorkTime(vo.getWorkTime().divide(new BigDecimal(vo.getWorkerNum()), 2,RoundingMode.HALF_UP));
}); });
ExcelUtil.exportExcel(list, "包活派工单", PayWorkOrderBaohuoVo.class, response); ExcelUtil.exportExcel(list, "包活派工单", ExportBaohuoVo.class, response);
} }
/** /**

@ -181,6 +181,7 @@ public class PayWorkOrderBaohuoBo extends BaseEntity {
private String workDate; private String workDate;
// 导出日期 // 导出日期
@JsonFormat(pattern = "yyyy-MM")
private Date exportDate; private Date exportDate;
private ArrayList<Long> woids; // 待查询的工单ID集合 private ArrayList<Long> woids; // 待查询的工单ID集合

@ -1,5 +1,7 @@
package com.ruoyi.pay.domain.vo; package com.ruoyi.pay.domain.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.converters.localdate.LocalDateDateConverter;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;

@ -165,8 +165,8 @@ public class PayWorkOrderBaohuoVo {
/** /**
* 0- 1- * 0- 1-
*/ */
@ExcelProperty(value = "删除标志", converter = ExcelDictConvert.class) // @ExcelProperty(value = "删除标志", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0=-可用,1=-删除") // @ExcelDictFormat(readConverterExp = "0=-可用,1=-删除")
private Integer deleted; private Integer deleted;
/** /**

@ -1,6 +1,7 @@
package com.ruoyi.pay.mapper; package com.ruoyi.pay.mapper;
import com.ruoyi.pay.domain.PayWorkOrderBaohuo; import com.ruoyi.pay.domain.PayWorkOrderBaohuo;
import com.ruoyi.pay.domain.vo.ExportBaohuoVo;
import com.ruoyi.pay.domain.vo.PayWorkOrderBaohuoVo; import com.ruoyi.pay.domain.vo.PayWorkOrderBaohuoVo;
import com.ruoyi.common.core.mapper.BaseMapperPlus; import com.ruoyi.common.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Delete;
@ -27,7 +28,7 @@ public interface PayWorkOrderBaohuoMapper extends BaseMapperPlus<PayWorkOrderBao
@Delete("delete from pay_baohuo_worktime where wo_id = #{woid}") @Delete("delete from pay_baohuo_worktime where wo_id = #{woid}")
void deleteAllWorkTimeByWoId(Long id); void deleteAllWorkTimeByWoId(Long id);
List<PayWorkOrderBaohuoVo> getWorkOrderListByDate(Date exportDate); List<ExportBaohuoVo> getWorkOrderListByDate(@Param("tenantId")Long tenantId, @Param("exportDate")Date exportDate);
HashSet<Long> getWoIdSet(@Param("workDate")String workDate, @Param("empId") Long empId); HashSet<Long> getWoIdSet(@Param("workDate")String workDate, @Param("empId") Long empId);
} }

@ -3,6 +3,7 @@ package com.ruoyi.pay.service;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.pay.domain.PaySalaryReport; import com.ruoyi.pay.domain.PaySalaryReport;
import com.ruoyi.pay.domain.PayWorkOrderBaohuo; import com.ruoyi.pay.domain.PayWorkOrderBaohuo;
import com.ruoyi.pay.domain.vo.ExportBaohuoVo;
import com.ruoyi.pay.domain.vo.PayWorkOrderBaohuoVo; import com.ruoyi.pay.domain.vo.PayWorkOrderBaohuoVo;
import com.ruoyi.pay.domain.bo.PayWorkOrderBaohuoBo; import com.ruoyi.pay.domain.bo.PayWorkOrderBaohuoBo;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
@ -53,7 +54,7 @@ public interface IPayWorkOrderBaohuoService {
R<List<PaySalaryReport>> baohuoSum(String date, Long deptId,Long tenantId); R<List<PaySalaryReport>> baohuoSum(String date, Long deptId,Long tenantId);
List<PayWorkOrderBaohuoVo> getWorkOrderListByDate(Date exportDate); List<ExportBaohuoVo> getWorkOrderListByDate(Long tenantId, Date exportDate);
HashSet<Long> getWoIdSet(String workDate, Long empId); HashSet<Long> getWoIdSet(String workDate, Long empId);
} }

@ -611,8 +611,8 @@ public class PayWorkOrderBaohuoServiceImpl implements IPayWorkOrderBaohuoService
} }
@Override @Override
public List<PayWorkOrderBaohuoVo> getWorkOrderListByDate(Date exportDate) { public List<ExportBaohuoVo> getWorkOrderListByDate(Long tenantId,Date exportDate) {
return sgrWorkOrderBaohuoMapper.getWorkOrderListByDate(exportDate); return sgrWorkOrderBaohuoMapper.getWorkOrderListByDate(tenantId,exportDate);
} }
@Override @Override

@ -48,14 +48,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="workTime" column="work_time" /> <result property="workTime" column="work_time" />
<result property="worksName" column="works_name" /> <result property="worksName" column="works_name" />
</resultMap> </resultMap>
<select id="getWorkOrderListByDate" parameterType="date" resultMap="ExportBaohuoVoResult"> <select id="getWorkOrderListByDate" resultMap="ExportBaohuoVoResult">
SELECT b.instorage_time, b.`name`, a.product_name,b.content,a.unit,a.product_num,a.price,a.amount,a.wo_id, SELECT b.instorage_time, b.`name`, a.product_name,b.content,a.unit,a.product_num,a.price,a.amount,a.wo_id,
(SELECT count(*) FROM pay_baohuo_employee WHERE wo_id = b.id) as worker_num, (SELECT count(*) FROM pay_baohuo_employee WHERE wo_id = b.id) as worker_num,
(SELECT sum(valid_hours) FROM pay_baohuo_worktime WHERE wo_id = b.id) AS work_time, (SELECT sum(valid_hours) FROM pay_baohuo_worktime WHERE wo_id = b.id) AS work_time,
(SELECT GROUP_CONCAT(emp_name) FROM pay_baohuo_employee WHERE wo_id = b.id) AS works_name (SELECT GROUP_CONCAT(emp_name) FROM pay_baohuo_employee WHERE wo_id = b.id) AS works_name
FROM pay_baohuo_product a FROM pay_baohuo_product a
LEFT JOIN pay_work_order_baohuo b ON a.wo_id = b.id LEFT JOIN pay_work_order_baohuo b ON a.wo_id = b.id
WHERE date_format(#{exportDate},'%y%m') = date_format(b.instorage_time,'%y%m') <where >
<if test="exportDate!=null">
date_format(#{exportDate},'%y-%m') = date_format(b.instorage_time,'%y-%m')
</if>
and b.tenant_id=#{tenantId}
</where>
ORDER BY a.wo_id ASC ORDER BY a.wo_id ASC
</select> </select>

Loading…
Cancel
Save