|
|
@@ -197,10 +197,13 @@ public class XmCostDetailsServiceImpl extends BaseServiceImpl<XmCostDetailsMappe
|
|
|
List<FinanceCostSummary> summaryList = new ArrayList<>();
|
|
|
for (FinanceCostDetailVO vo : vos) {
|
|
|
FinanceCostSummary summary = new FinanceCostSummary();
|
|
|
+ summary.setXmId(vo.getXmId());
|
|
|
summary.setXmbh(vo.getXmbh());
|
|
|
summary.setXmmc(vo.getXmmc());
|
|
|
|
|
|
- for (FinanceCostItemVO item : vo.getCostList()) {
|
|
|
+
|
|
|
+ List<FinanceCostItemVO> itemVOS = baseMapper.selectCostItemByCondition(dto.getYearAndMonth(), vo.getXmId());
|
|
|
+ for (FinanceCostItemVO item : itemVOS) {
|
|
|
if(Arrays.asList("53010101","53010201").contains(item.getSubjectCode())){
|
|
|
//人员人工费用
|
|
|
summary.setRyrgTotal(summary.getRyrgTotal() + item.getAmount().doubleValue());
|
|
|
@@ -232,6 +235,104 @@ public class XmCostDetailsServiceImpl extends BaseServiceImpl<XmCostDetailsMappe
|
|
|
return page.setRecords(summaryList);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<FinanceCostDetailVO> highTechCostDetail(XmCostDetailsDTO dto) {
|
|
|
+ if (Func.isBlank(dto.getYearAndMonth())) {
|
|
|
+ throw new ServiceException("参数yearAndMonth不能为空");
|
|
|
+ }
|
|
|
+ dto.setTenantId(SecureUtil.getTenantId());
|
|
|
+ List<FinanceCostDetailVO> list = baseMapper.financeCostDetail(dto);
|
|
|
+ for (FinanceCostDetailVO tmp : list) {
|
|
|
+ List<FinanceCostItemVO> vos = tmp.getCostList();
|
|
|
+ for (FinanceCostItemVO vo : vos) {
|
|
|
+ if(vo.getRdSubjectEnable() == 0){
|
|
|
+ //四级科目 不是高新研发费用科目,费用不归集
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(Arrays.asList("53010101","53010201").contains(vo.getSubjectCode())){
|
|
|
+ //人员人工费用
|
|
|
+ vo.setRyrg(vo.getAmount().doubleValue());
|
|
|
+ }else if(Arrays.asList("53010102","53010202").contains(vo.getSubjectCode())){
|
|
|
+ //直接投入费用
|
|
|
+ vo.setZjtr(vo.getAmount().doubleValue());
|
|
|
+ }else if(Arrays.asList("53010103","53010203").contains(vo.getSubjectCode())){
|
|
|
+ //折旧费用与长期待摊费用
|
|
|
+ vo.setZjfyycqdtfy(vo.getAmount().doubleValue());
|
|
|
+ }else if(Arrays.asList("53010104","53010204").contains(vo.getSubjectCode())){
|
|
|
+ //无形资产摊销费用
|
|
|
+ vo.setWxzctx(vo.getAmount().doubleValue());
|
|
|
+ }else if(Arrays.asList("53010105","53010205").contains(vo.getSubjectCode())){
|
|
|
+ //设计费用
|
|
|
+ vo.setSjf(vo.getAmount().doubleValue());
|
|
|
+ }else if(Arrays.asList("53010106","53010206").contains(vo.getSubjectCode())){
|
|
|
+ //装备调试费用与试验费用
|
|
|
+ vo.setZbtsfyysyfy(vo.getAmount().doubleValue());
|
|
|
+ }else if(Arrays.asList("53010107","53010207").contains(vo.getSubjectCode())){
|
|
|
+ //委托外部研究开发费用
|
|
|
+ vo.setWwyf(vo.getAmount().doubleValue());
|
|
|
+ }else if(Arrays.asList("53010108","53010208").contains(vo.getSubjectCode())){
|
|
|
+ //其他费用
|
|
|
+ vo.setQtfy(vo.getAmount().doubleValue());
|
|
|
+ }else {
|
|
|
+ throw new ServiceException("费用归集出错啦");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public IPage<FinanceCostSummary> highTechCostSummary(IPage page, XmCostDetailsDTO dto) {
|
|
|
+ if (Func.isBlank(dto.getYearAndMonth())) {
|
|
|
+ throw new ServiceException("参数yearAndMonth不能为空");
|
|
|
+ }
|
|
|
+ dto.setTenantId(SecureUtil.getTenantId());
|
|
|
+ List<FinanceCostDetailVO> vos = baseMapper.financeCostSummary(page, dto);
|
|
|
+
|
|
|
+ List<FinanceCostSummary> summaryList = new ArrayList<>();
|
|
|
+ for (FinanceCostDetailVO vo : vos) {
|
|
|
+ FinanceCostSummary summary = new FinanceCostSummary();
|
|
|
+ summary.setXmbh(vo.getXmbh());
|
|
|
+ summary.setXmmc(vo.getXmmc());
|
|
|
+
|
|
|
+ List<FinanceCostItemVO> itemVOS = baseMapper.selectCostItemByCondition(dto.getYearAndMonth(), vo.getXmId());
|
|
|
+
|
|
|
+ for (FinanceCostItemVO item : itemVOS) {
|
|
|
+ if(item.getRdSubjectEnable() == 0){
|
|
|
+ //四级科目不是高新研发费用科目,费用不归集
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(Arrays.asList("53010101","53010201").contains(item.getSubjectCode())){
|
|
|
+ //人员人工费用
|
|
|
+ summary.setRyrgTotal(summary.getRyrgTotal() + item.getAmount().doubleValue());
|
|
|
+ }else if(Arrays.asList("53010102","53010202").contains(item.getSubjectCode())){
|
|
|
+ //直接投入费用
|
|
|
+ summary.setZjtrTotal(summary.getZjtrTotal() + item.getAmount().doubleValue());
|
|
|
+ }else if(Arrays.asList("53010103","53010203").contains(item.getSubjectCode())){
|
|
|
+ //折旧费用与长期待摊费用
|
|
|
+ summary.setZjfyycqdtfyTotal(summary.getZjfyycqdtfyTotal() + item.getAmount().doubleValue());
|
|
|
+ }else if(Arrays.asList("53010104","53010204").contains(item.getSubjectCode())){
|
|
|
+ //无形资产摊销费用
|
|
|
+ summary.setWxzctxTotal(summary.getWxzctxTotal() + item.getAmount().doubleValue());
|
|
|
+ }else if(Arrays.asList("53010105","53010205").contains(item.getSubjectCode())){
|
|
|
+ //设计费用
|
|
|
+ summary.setSjfTotal(summary.getSjfTotal() + item.getAmount().doubleValue());
|
|
|
+ }else if(Arrays.asList("53010106","53010206").contains(item.getSubjectCode())){
|
|
|
+ //装备调试费用与试验费用
|
|
|
+ summary.setZbtsfyysyfyTotal(summary.getZbtsfyysyfyTotal() + item.getAmount().doubleValue());
|
|
|
+ }else if(Arrays.asList("53010107","53010207").contains(item.getSubjectCode())){
|
|
|
+ //委托外部研究开发费用
|
|
|
+ summary.setWwyfTotal(summary.getWwyfTotal() + item.getAmount().doubleValue());
|
|
|
+ }else if(Arrays.asList("53010108","53010208").contains(item.getSubjectCode())){
|
|
|
+ //其他费用
|
|
|
+ summary.setQtfyTotal(summary.getQtfyTotal() + item.getAmount().doubleValue());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ summaryList.add(summary);
|
|
|
+ }
|
|
|
+ return page.setRecords(summaryList);
|
|
|
+ }
|
|
|
+
|
|
|
public static void judgeDate(Date date, String yearAndMonth) {
|
|
|
//日期,必须时当月日期
|
|
|
if (date != null) {
|