Commit 07201482 authored by 祁正's avatar 祁正

日常报销修改

parent 175e25b6
......@@ -45,7 +45,18 @@ public class FyglDailyReimbursementController extends BaseController
return getDataTable(list);
}
//获取所有项目名字和id
//根据当前用户角色id,查询所有项目关联的项目-最新
@GetMapping("/getProjectListByUserId")
public AjaxResult getProjectListByUserId()
{
List<FyglDailyReimbursementDTO> projectList = fyglDailyReimbursementService.getProjectListByUserId();
return AjaxResult.success(projectList);
}
//获取所有项目名字和id,用于搜索
@GetMapping("/projectList")
@Anonymous
public AjaxResult projectList()
......
......@@ -8,6 +8,7 @@ import java.util.List;
@Data
public class FyglDailyReimbursementDTO {
private Long id;
private Integer projectId;
private String projectName;
//项目负责人
private String projectUserName;
......
......@@ -29,6 +29,9 @@ public class FyglDailyReimbursementVo extends BaseEntity {
//附件
private String accessory;
//项目id
private Integer projectId;
//删除标志 0未删除1已删除
private Integer delFlag;
......
......@@ -28,6 +28,8 @@ public interface FyglDailyReimbursementMapper
//根据rid删除所有数据
int delDataByRid(Long rid);
List<FyglDailyReimbursementDTO> getProjectListByUserId(Long userId);
public List<FyglDailyReimbursementDetailitemListDTO> selectFyglDailyReimbursementItemListById(@Param("rid") Long rid);
// 查找日常报销每个项目的所有报销
public List<FyglDailyReimbursementTableItemDTO> getItemList(FyglDailyReimbursementVo fyglDailyReimbursementVO);
......
......@@ -64,4 +64,6 @@ public interface IFyglDailyReimbursementService
* @return 结果
*/
public int deleteFyglDailyReimbursementById(Long id);
List<FyglDailyReimbursementDTO> getProjectListByUserId();
}
......@@ -105,7 +105,7 @@ public class FyglDailyReimbursementServiceImpl implements IFyglDailyReimbursemen
//先插入最外层表
int i1 = fyglDailyReimbursementMapper.insertFyglDailyReimbursement(fyglDailyReimbursement);
// int i1 = fyglDailyReimbursementMapper.insertFyglDailyReimbursement(fyglDailyReimbursement);
//第二层表
fyglDailyReimbursement.setStatus(2);
fyglDailyReimbursement.setRegistrationTime(DateUtils.getNowDate());
......@@ -119,7 +119,7 @@ public class FyglDailyReimbursementServiceImpl implements IFyglDailyReimbursemen
}
System.out.println("插入对象fyglDailyReimbursement = " + fyglDailyReimbursement);
return i1;
return i2;
}
@Override
......@@ -178,4 +178,22 @@ public class FyglDailyReimbursementServiceImpl implements IFyglDailyReimbursemen
{
return fyglDailyReimbursementMapper.deleteFyglDailyReimbursementById(id);
}
@Override
public List<FyglDailyReimbursementDTO> getProjectListByUserId() {
List<FyglDailyReimbursementDTO> projectListByUserId = fyglDailyReimbursementMapper.getProjectListByUserId(SecurityUtils.getUserId());
System.out.println("结果 = " + projectListByUserId);
for(FyglDailyReimbursementDTO item:projectListByUserId){
Integer passNumber = 0;
Integer notPassNumber = 0;
FyglDailyReimbursementVo fyglDailyReimbursementVo = new FyglDailyReimbursementVo();
fyglDailyReimbursementVo.setProjectId(item.getProjectId());
List<FyglDailyReimbursementTableItemDTO> itemList = fyglDailyReimbursementMapper.getItemList(fyglDailyReimbursementVo);
item.setTableItemList(itemList);
}
return projectListByUserId;
}
}
......@@ -110,20 +110,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND p.id = r2.project_id
</select>
<select id="getItemList" parameterType="Long" resultType="com.ruoyi.domain.dto.FyglDailyReimbursementTableItemDTO">
<select id="getItemList" resultType="com.ruoyi.domain.dto.FyglDailyReimbursementTableItemDTO">
SELECT
r.id,
r.registration_time as registrationTime,
r.`status`,
r.reimbursement,
SUM(CASE WHEN re.reimbursement_type IN (1) THEN re.money ELSE 0 END) AS totalTaxiCost,
SUM(CASE WHEN re.reimbursement_type IN (2) THEN re.money ELSE 0 END) AS totalFoodCost,
SUM(re.money) AS totalMoney
r.reimbursement
FROM
fygl_daily_rembursement_relevancy_r r
LEFT JOIN fygl_daily_reimbursement_relevancy re ON re.rid = r.id
<where>
r.did = #{id}
r.project_id= #{projectId}
<if test="status != null and status != ''"> and r.status = #{status}</if>
<if test="reimbursement != null and reimbursement != ''">and r.reimbursement = #{reimbursement}</if>
</where>
......@@ -157,6 +154,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select p.project_number as projectNumber,p.project_status as projectStatus,p.project_type as projectType,u.user_name as userName,u2.user_name as projectManager from project_manage p,sys_user u,sys_user u2 where p.id = #{pid} and u.user_id = p.department_leader_id and u2.user_id = p.project_manager_id
</select>
<select id="getProjectListByUserId" resultMap="FyglDailyReimbursementDTOResult">
SELECT
p.id as projectId,
p.project_name,
p.start_date,
p.end_date,
u1.nick_name AS department_leader_name,
u2.nick_name AS project_manager_name
FROM
project_manage p
LEFT JOIN sys_user u1 ON u1.user_id = p.department_leader_id
LEFT JOIN sys_user u2 ON u2.user_id = p.project_manager_id
where p.id in (select project_id from project_member where user_id = #{id})
</select>
<insert id="insertFyglDailyReimbursement" parameterType="com.ruoyi.domain.FyglDailyReimbursement" useGeneratedKeys="true" keyProperty="did">
insert into fygl_daily_reimbursement
<trim prefix="(" suffix=")" suffixOverrides=",">
......@@ -179,7 +193,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<insert id="insertFyglDailyReimbursement2" parameterType="com.ruoyi.domain.FyglDailyReimbursement" useGeneratedKeys="true" keyProperty="rid">
insert into fygl_daily_rembursement_relevancy_r
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="did != null">did,</if>
<if test="projectId != null">project_id,</if>
<if test="status != null">`status`,</if>
<if test="accessory != null">accessory,</if>
<if test="serialNumber != null">serial_number,</if>
......@@ -187,7 +201,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="reimbursement != null">reimbursement</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="did != null">#{did},</if>
<if test="projectId != null">#{projectId},</if>
<if test="status != null">#{status},</if>
<if test="accessory != null">#{accessory},</if>
<if test="serialNumber != null">#{serialNumber},</if>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment