Commit 55d2266d authored by neo's avatar neo

[DEV] SaveInvoiceMappings impl

parent 510679e9
package pwc.taxtech.atms.dto.vatdto;
import pwc.taxtech.atms.vat.entity.InvoiceMapping;
import java.util.Date;
public class InvoiceMappingDto {
public String ID ;
public String TranCode ;
public String InvoiceCode ;
public String InvoiceNumber ;
public Integer Period ;
public String CreatorID ;
public Date CreateTime ;
public Boolean IsDuplicate ;
public String ID;
public String TranCode;
public String InvoiceCode;
public String InvoiceNumber;
public Integer Period;
public String CreatorID;
public Date CreateTime;
public Boolean IsDuplicate;
public InvoiceMapping extractInvoiceMapping() {
InvoiceMapping invoiceMapping = new InvoiceMapping();
invoiceMapping.setID(ID);
invoiceMapping.setTranCode(TranCode);
invoiceMapping.setInvoiceCode(InvoiceCode);
invoiceMapping.setInvoiceNumber(InvoiceNumber);
invoiceMapping.setPeriod(Period);
invoiceMapping.setCreatorID(CreatorID);
invoiceMapping.setCreateTime(CreateTime);
return invoiceMapping;
}
}
......@@ -98,6 +98,50 @@ public class VoucherInvoiceMappingServiceImpl {
public OperationResultDto<List<OperationResultDto<List<InvoiceMappingDto>>>> SaveInvoiceMappings(List<InvoiceMappingDto> list,
int period, boolean isAddition) {
return null;
OperationResultDto<List<OperationResultDto<List<InvoiceMappingDto>>>> result = new OperationResultDto<>();
result.setResult(true);
result.setData(new ArrayList<OperationResultDto<List<InvoiceMappingDto>>>());
List<InvoiceMappingDto> emptyItems = list.stream().filter(m ->
StringUtils.isEmptyOrWhitespaceOnly(m.TranCode)
|| StringUtils.isEmptyOrWhitespaceOnly(m.InvoiceCode)
|| StringUtils.isEmptyOrWhitespaceOnly(m.InvoiceNumber)).collect(Collectors.toList());
if (emptyItems.size() > 0) {
result.setResult(false);
OperationResultDto<List<InvoiceMappingDto>> rr = new OperationResultDto<>();
rr.setData(emptyItems);
rr.setResult(false);
rr.setResultMsg(DataImport.EmptyField);
result.getData().add(rr);
}
emptyItems = list.stream().filter(dto ->
dto.TranCode != null && dto.TranCode.length() > 50
|| (dto.InvoiceCode != null && dto.InvoiceCode.length() > 50) ||
(dto.InvoiceNumber != null && dto.InvoiceNumber.length() > 50)
).collect(Collectors.toList());
if (emptyItems.size() > 0) {
result.setResult(false);
OperationResultDto<List<InvoiceMappingDto>> rr = new OperationResultDto<>();
rr.setData(emptyItems);
rr.setResult(false);
rr.setResultMsg(DataImport.OverLengthField);
result.getData().add(rr);
}
if (result.getResult()) {
if (!isAddition) {
InvoiceMappingExample invoiceMappingExample = new InvoiceMappingExample();
invoiceMappingExample.createCriteria().andPeriodEqualTo(period);
invoiceMappingMapper.deleteByExample(invoiceMappingExample);
}
list.forEach(m -> invoiceMappingMapper.insert(m.extractInvoiceMapping()));
}
// ValidDBInvoiceMapping(period);todo:[validation] to be continue (neo)
return result;
}
}
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