CellCommentController.java 5.75 KB
Newer Older
1 2
package pwc.taxtech.atms.controller;

3
import org.apache.commons.lang3.StringUtils;
kevin's avatar
kevin committed
4
import org.springframework.beans.BeanUtils;
5 6
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
kevin's avatar
#  
kevin committed
7
import org.springframework.jdbc.core.JdbcTemplate;
8
import org.springframework.web.bind.annotation.*;
kevin's avatar
kevin committed
9
import pwc.taxtech.atms.dao.CitJournalEntryAdjustMapper;
kevin's avatar
#  
kevin committed
10
import pwc.taxtech.atms.dao.CitTbamMapper;
kevin's avatar
#  
kevin committed
11
import pwc.taxtech.atms.dao.OperationLogEntryLogMapper;
kevin's avatar
kevin committed
12
import pwc.taxtech.atms.dto.CitTbamDto;
13
import pwc.taxtech.atms.dto.OperationResultDto;
kevin's avatar
kevin committed
14
import pwc.taxtech.atms.entity.*;
kevin's avatar
#  
kevin committed
15
import pwc.taxtech.atms.service.impl.DistributedIdService;
kevin's avatar
kevin committed
16
import pwc.taxtech.atms.vat.dao.PeriodFormulaBlockMapper;
17
import pwc.taxtech.atms.vat.entity.PeriodCellComment;
18
import pwc.taxtech.atms.vat.service.impl.CellCommentServiceImpl;
19

kevin's avatar
kevin committed
20 21
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
22
import java.util.List;
frank.xa.zhang's avatar
frank.xa.zhang committed
23
import java.util.Optional;
kevin's avatar
kevin committed
24
import java.util.concurrent.locks.ReentrantLock;
25 26

@RestController
27
@RequestMapping(value = "api/v1/CellComment")
28 29
public class CellCommentController {
    @Autowired
30
    CellCommentServiceImpl cellCommentService;
31 32

    @RequestMapping(value = "List", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
33 34 35 36 37 38
    public OperationResultDto<List<PeriodCellComment>> getCellComments(@RequestParam("cellDataId") Optional<Long> cellDataId, @RequestHeader("from") String form) {
        String projectId = StringUtils.EMPTY;
        if (StringUtils.isNotBlank(form) && form.split("@").length > 0) {
            projectId = form.split("@")[0];
        }
        return cellCommentService.getCellComments(cellDataId, projectId);
39
    }
kevin's avatar
kevin committed
40

kevin's avatar
#  
kevin committed
41 42
    @Autowired
    private CitTbamMapper citTbamMapper;
kevin's avatar
kevin committed
43 44
    @Autowired
    private CitJournalEntryAdjustMapper citJournalEntryAdjustMapper;
kevin's avatar
#  
kevin committed
45 46 47 48 49

    @Autowired
    private JdbcTemplate jdbcTemplate;

    //通过sql获取展示表格展示数据
kevin's avatar
kevin committed
50 51
    @RequestMapping(value = "getCellInformation")
    public OperationResultDto getCellInformation(String sql) {
kevin's avatar
#  
kevin committed
52
        OperationResultDto operationResultDto = new OperationResultDto();
kevin's avatar
kevin committed
53 54
        int from = sql.indexOf("from");
        sql = sql.substring(from);
kevin's avatar
kevin committed
55 56 57 58 59 60 61 62 63
        List<CitTbam> citTbams = citTbamMapper.selectBySql(sql);
        List<CitTbamDto> citTbamDtos = new ArrayList<>();
        for (CitTbam citTbam : citTbams) {
            CitTbamDto citTbamDto = new CitTbamDto();
            BeanUtils.copyProperties(citTbam, citTbamDto);
            citTbamDtos.add(citTbamDto);
        }

        operationResultDto.setData(citTbamDtos);
kevin's avatar
kevin committed
64
        operationResultDto.setResultMsg("success");
kevin's avatar
kevin committed
65
        return operationResultDto;
kevin's avatar
#  
kevin committed
66
    }
kevin's avatar
kevin committed
67 68
    //加载分录表格数据
    @RequestMapping("loadEntryListDataList")
kevin's avatar
kevin committed
69
    public OperationResultDto loadEntryListDataList(@RequestBody CitTbam citTbam) {
kevin's avatar
kevin committed
70 71
        OperationResultDto operationResultDto = new OperationResultDto();
        CitJournalEntryAdjust citJournalEntryAdjust = new CitJournalEntryAdjust();
kevin's avatar
kevin committed
72 73
        citJournalEntryAdjust.setSubjectCode(citTbam.getAccountCode());
        citJournalEntryAdjust.setProjectId(citTbam.getProjectId());
kevin's avatar
kevin committed
74 75
        List<CitJournalEntryAdjust> journalMerge = citJournalEntryAdjustMapper.getJournalMerge(citJournalEntryAdjust);
        operationResultDto.setData(journalMerge);
kevin's avatar
kevin committed
76 77 78 79 80
        CitTbamExample example = new CitTbamExample();
        CitTbamExample.Criteria criteria = example.createCriteria();
        criteria.andIdEqualTo(citTbam.getId());
        List<CitTbam> citTbams = citTbamMapper.selectByExample(example);
        operationResultDto.setResultMsg(citTbams.get(0).getDataType());
kevin's avatar
kevin committed
81
        return operationResultDto;
kevin's avatar
kevin committed
82
    }
kevin's avatar
kevin committed
83 84 85

    @Autowired
    private PeriodFormulaBlockMapper periodFormulaBlockMapper;
kevin's avatar
#  
kevin committed
86 87 88 89 90

    @Autowired
    private OperationLogEntryLogMapper operationLogEntryLogMapper;
    @Autowired
    private DistributedIdService distributedIdService;
kevin's avatar
kevin committed
91

kevin's avatar
kevin committed
92
    //更新调整后金额
kevin's avatar
kevin committed
93 94 95
    @RequestMapping(value = "updateAdjust", method = RequestMethod.POST,
            produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    public OperationResultDto updateAdjust(@RequestBody List<CitTbamDto> citTbams) {
kevin's avatar
kevin committed
96 97
        OperationResultDto operationResultDto = new OperationResultDto();
        CitTbam citTbam = new CitTbam();
kevin's avatar
kevin committed
98 99 100 101 102
        for (CitTbamDto citTbamDto : citTbams) {
            BeanUtils.copyProperties(citTbamDto, citTbam);
            citTbam.setId(citTbam.getId());
            citTbam.setAdjustAccount(citTbam.getAdjustAccount());
            citTbamMapper.updateByPrimaryKeySelective(citTbam);
kevin's avatar
kevin committed
103 104 105 106
        }
        operationResultDto.setResultMsg("success");
        return operationResultDto;
    }
kevin's avatar
#  
kevin committed
107 108

    @RequestMapping("selectEntryLog")
kevin's avatar
kevin committed
109
    public OperationResultDto selectEntryLog(String code, Long  id ) {
kevin's avatar
#  
kevin committed
110 111 112
        OperationResultDto operationResultDto = new OperationResultDto();
        OperationLogEntryLogExample operationLogEntryLogExample = new OperationLogEntryLogExample();
        OperationLogEntryLogExample.Criteria criteria = operationLogEntryLogExample.createCriteria();
kevin's avatar
kevin committed
113
        criteria.andIdEqualTo(id);
kevin's avatar
#  
kevin committed
114 115 116 117 118
        criteria.andSubjectCodeEqualTo(code);
        operationResultDto.setData(operationLogEntryLogMapper.selectByExample(operationLogEntryLogExample));
        return operationResultDto;
    }

kevin's avatar
#  
kevin committed
119 120 121 122
    /**
     * 添加日志
     */
    @RequestMapping("addLog")
kevin's avatar
kevin committed
123 124
    public OperationResultDto addLog(@RequestBody List<OperationLogEntryLog> operationLogEntryLogs) {
        for (OperationLogEntryLog operationLogEntryLog : operationLogEntryLogs) {
kevin's avatar
#  
kevin committed
125
            operationLogEntryLog.setMyId(distributedIdService.nextId());
kevin's avatar
#  
kevin committed
126 127 128 129 130 131 132
            operationLogEntryLogMapper.insert(operationLogEntryLog);
        }
        OperationResultDto<Object> objectOperationResultDto = new OperationResultDto<>();
        objectOperationResultDto.setResultMsg("success");
        return objectOperationResultDto;
    }

133
}