Merge branch 'feature/230802-福利方案-修改方案明细接口' into custom/艾志工业
This commit is contained in:
commit
bc3cddfe38
|
|
@ -252,7 +252,8 @@ public class SISchemeBiz {
|
|||
InsuranceSchemeDetailMapper insuranceSchemeDetailMapper = sqlSession.getMapper(InsuranceSchemeDetailMapper.class);
|
||||
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOS = insuranceSchemeDetailMapper.queryListBySchemeId(primaryId);
|
||||
encryptUtil.decryptList(insuranceSchemeDetailPOS, InsuranceSchemeDetailPO.class);
|
||||
return decryptSchemeDetailList(insuranceSchemeDetailPOS);
|
||||
// return decryptSchemeDetailList(insuranceSchemeDetailPOS);
|
||||
return insuranceSchemeDetailPOS;
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,61 @@
|
|||
package com.engine.salary.entity.sischeme.param;
|
||||
|
||||
import com.engine.salary.entity.sischeme.dto.InsuranceSchemeDTO;
|
||||
import com.engine.salary.entity.sischeme.dto.InsuranceSchemeDetailDTO;
|
||||
import com.engine.salary.enums.sicategory.WelfareTypeEnum;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Author sy
|
||||
* @Description: 福利方案明细修改
|
||||
* @Date 2023/8/21
|
||||
* @Version V1.0
|
||||
**/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class InsuranceSchemeDetailUpdateParam {
|
||||
|
||||
/**
|
||||
* 社保方案主表id
|
||||
*/
|
||||
private Long primaryId;
|
||||
|
||||
/**
|
||||
* 险种id
|
||||
*/
|
||||
private Long insuranceId;
|
||||
|
||||
/**
|
||||
* 是否缴费
|
||||
*/
|
||||
private Integer isPayment;
|
||||
|
||||
|
||||
/**
|
||||
* 缴纳对象枚举value 1-公司 2-个人
|
||||
*/
|
||||
private Integer paymentScope;
|
||||
|
||||
|
||||
/**
|
||||
* 缴纳比例
|
||||
*/
|
||||
private String paymentProportion;
|
||||
|
||||
/**
|
||||
* 固定费用
|
||||
*/
|
||||
private String fixedCost;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -75,4 +75,6 @@ public interface InsuranceSchemeDetailMapper {
|
|||
List<InsuranceSchemeDetailPO> listAll();
|
||||
|
||||
int batchUpdate(@Param("collection") List<InsuranceSchemeDetailPO> insuranceSchemeDetailPos);
|
||||
|
||||
int updateAll(InsuranceSchemeDetailPO insuranceSchemeDetailPo);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -308,4 +308,35 @@
|
|||
#{item.id}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<update id="updateAll" parameterType="com.engine.salary.entity.sischeme.po.InsuranceSchemeDetailPO">
|
||||
update hrsa_scheme_detail
|
||||
<set>
|
||||
<if test="paymentScope != null" >
|
||||
payment_scope=#{paymentScope},
|
||||
</if>
|
||||
<if test="isPayment != null" >
|
||||
is_payment=#{isPayment},
|
||||
</if>
|
||||
<if test="deleteType != null" >
|
||||
delete_type=#{deleteType},
|
||||
</if>
|
||||
<if test="paymentProportion != null" >
|
||||
payment_proportion=#{paymentProportion},
|
||||
</if>
|
||||
<if test="upperLimit != null" >
|
||||
upper_limit=#{upperLimit},
|
||||
</if>
|
||||
<if test="lowerLimit != null" >
|
||||
lower_limit=#{lowerLimit},
|
||||
</if>
|
||||
<if test="updateTime != null" >
|
||||
update_time=#{updateTime},
|
||||
</if>
|
||||
<if test="fixedCost != null" >
|
||||
fixed_cost=#{fixedCost},
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{id} AND delete_type = 0
|
||||
</update>
|
||||
</mapper>
|
||||
|
|
@ -5,6 +5,7 @@ import com.engine.salary.entity.siarchives.param.InsuranceArchivesListParam;
|
|||
import com.engine.salary.entity.siarchives.param.SIArchiveImportActionParam;
|
||||
import com.engine.salary.entity.siarchives.po.InsuranceArchivesEmployeePO;
|
||||
import com.engine.salary.entity.sischeme.dto.InsuranceSchemeListDTO;
|
||||
import com.engine.salary.entity.sischeme.param.InsuranceSchemeDetailUpdateParam;
|
||||
import com.engine.salary.entity.sischeme.param.InsuranceSchemeParam;
|
||||
import com.engine.salary.entity.sischeme.param.SISchemaImportParam;
|
||||
import com.engine.salary.entity.sischeme.po.InsuranceSchemeDetailPO;
|
||||
|
|
@ -74,4 +75,10 @@ public interface SISchemeService {
|
|||
Map<String, Object> checkSIArchiveAdd(SIArchiveImportActionParam siArchiveImportActionParam);
|
||||
|
||||
Map<String, Object> addSIArchive(SIArchiveImportActionParam siArchiveImportActionParam);
|
||||
|
||||
/**
|
||||
* 编辑方案明细表数据
|
||||
* @param schemeDetailList
|
||||
*/
|
||||
List<String> updateSchemeDetail(List<InsuranceSchemeDetailUpdateParam> schemeDetailList);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ import com.engine.salary.entity.siarchives.param.SIArchiveImportActionParam;
|
|||
import com.engine.salary.entity.siarchives.po.*;
|
||||
import com.engine.salary.entity.sicategory.po.ICategoryPO;
|
||||
import com.engine.salary.entity.sischeme.dto.InsuranceSchemeListDTO;
|
||||
import com.engine.salary.entity.sischeme.param.InsuranceSchemeDetailUpdateParam;
|
||||
import com.engine.salary.entity.sischeme.param.InsuranceSchemeParam;
|
||||
import com.engine.salary.entity.sischeme.param.SISchemaImportParam;
|
||||
import com.engine.salary.entity.sischeme.po.InsuranceSchemeDetailPO;
|
||||
|
|
@ -54,12 +55,14 @@ import com.engine.salary.util.valid.ValidUtil;
|
|||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import dm.jdbc.util.IdGenerator;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.math.NumberUtils;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.util.IOUtils;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import weaver.file.ImageFileManager;
|
||||
import weaver.hrm.User;
|
||||
|
||||
|
|
@ -76,6 +79,7 @@ import static com.engine.salary.util.excel.ExcelSupport.EXCEL_TYPE_XLSX;
|
|||
* @Date 2022/3/7
|
||||
* @Version V1.0
|
||||
**/
|
||||
@Slf4j
|
||||
public class SISchemeServiceImpl extends Service implements SISchemeService {
|
||||
private EncryptUtil encryptUtil = new EncryptUtil();
|
||||
|
||||
|
|
@ -121,6 +125,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
}
|
||||
|
||||
private SIArchivesBiz siArchivesBiz = new SIArchivesBiz();
|
||||
private SISchemeBiz siSchemeBiz = new SISchemeBiz();
|
||||
|
||||
private SalaryEmployeeService getSalaryEmployeeService(User user) {
|
||||
return (SalaryEmployeeService) ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
|
||||
|
|
@ -1518,4 +1523,52 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> updateSchemeDetail(List<InsuranceSchemeDetailUpdateParam> schemeDetailList) {
|
||||
List<String> errorInfo = new ArrayList<>();
|
||||
if (schemeDetailList.size() > 0) {
|
||||
log.info("待处理方明明细数量:{}", schemeDetailList.size());
|
||||
List<InsuranceSchemeDetailUpdateParam> toDealSchemeDetailList = schemeDetailList.stream().filter(f -> f.getPrimaryId() != null).collect(Collectors.toList());
|
||||
log.info("未设置方案id的方明明细无法处理,数量:{}", schemeDetailList.size() - toDealSchemeDetailList.size());
|
||||
|
||||
//按照方案id分组
|
||||
Map<Long, List<InsuranceSchemeDetailUpdateParam>> schemeDetailMap = toDealSchemeDetailList
|
||||
.stream().collect(Collectors.groupingBy(InsuranceSchemeDetailUpdateParam::getPrimaryId));
|
||||
|
||||
schemeDetailMap.forEach((k, v) -> {
|
||||
updateSchemeDetailByPrimaryId(k, v, errorInfo);
|
||||
});
|
||||
|
||||
}
|
||||
return errorInfo;
|
||||
}
|
||||
|
||||
public List<String> updateSchemeDetailByPrimaryId(Long primaryId, List<InsuranceSchemeDetailUpdateParam> schemeDetailList, List<String> errorInfo) {
|
||||
try {
|
||||
Map<String, InsuranceSchemeDetailUpdateParam> schemeDetailUpdateMap = new HashMap<>();
|
||||
schemeDetailList.forEach(f -> {
|
||||
schemeDetailUpdateMap.put(f.getInsuranceId() + "-" + f.getPaymentScope(), f);
|
||||
});
|
||||
List<InsuranceSchemeDetailPO> schemeDetailPOS = siSchemeBiz.listByPrimaryId(primaryId);
|
||||
//替换修改字段
|
||||
if (schemeDetailPOS.size() > 0) {
|
||||
schemeDetailPOS.forEach(f -> {
|
||||
if (schemeDetailUpdateMap.get(f.getInsuranceId() + "-" + f.getPaymentScope()) != null) {
|
||||
InsuranceSchemeDetailUpdateParam schemeDetailUpdateParam = schemeDetailUpdateMap.get(f.getInsuranceId() + "-" + f.getPaymentScope());
|
||||
BeanUtils.copyProperties(schemeDetailUpdateParam, f);
|
||||
f.setUpdateTime(new Date());
|
||||
}
|
||||
});
|
||||
encryptUtil.encryptList(schemeDetailPOS, InsuranceSchemeDetailPO.class);
|
||||
schemeDetailPOS.forEach(getInsuranceSchemeDetailMapper()::updateAll);
|
||||
|
||||
} else {
|
||||
errorInfo.add("方案id:" + primaryId + "," + "表中不存在方案明细数据");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
errorInfo.add("方案id:" + primaryId + "," + e.getMessage());
|
||||
}
|
||||
return errorInfo;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import com.engine.common.util.ServiceUtil;
|
|||
import com.engine.salary.entity.siaccount.po.InsuranceAccountInspectPO;
|
||||
import com.engine.salary.entity.siarchives.param.InsuranceArchivesListParam;
|
||||
import com.engine.salary.entity.sischeme.dto.InsuranceSchemeListDTO;
|
||||
import com.engine.salary.entity.sischeme.param.InsuranceSchemeDetailUpdateParam;
|
||||
import com.engine.salary.entity.sischeme.param.InsuranceSchemeParam;
|
||||
import com.engine.salary.entity.sischeme.param.InsuranceSchemeReqParam;
|
||||
import com.engine.salary.entity.sischeme.param.SISchemaImportParam;
|
||||
|
|
@ -113,7 +114,7 @@ public class SISchemeController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
* 编辑方案主表和明细表数据
|
||||
* @param request
|
||||
* @param response
|
||||
* @param insuranceSchemeReqParam
|
||||
|
|
@ -129,6 +130,21 @@ public class SISchemeController {
|
|||
return new ResponseResult< Map<String, Object>, Map<String, Object>>(user).run(getService(user)::update,map);
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑方案明细表数据
|
||||
* @param request
|
||||
* @param response
|
||||
* @param schemeDetailList
|
||||
* @return
|
||||
*/
|
||||
@POST
|
||||
@Path("/updateSchemeDetail")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String updateSchemeDetail(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody List<InsuranceSchemeDetailUpdateParam> schemeDetailList) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult< List<InsuranceSchemeDetailUpdateParam> , List<String>>(user).run(getService(user)::updateSchemeDetail,schemeDetailList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除(接口中暂无)
|
||||
* @param request
|
||||
|
|
|
|||
Loading…
Reference in New Issue