| | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.time.LocalDate; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | |
| | | c.setContactPerson(item.getString("contactPerson")); |
| | | c.setContactPhone(item.getString("contactPhone")); |
| | | c.setCompanyAddress(item.getString("companyAddress")); |
| | | c.setCompanyPhone(item.getString("companyPhone")); |
| | | c.setTaxpayerIdentificationNumber(item.getString("taxpayerIdentificationNumber")); |
| | | c.setMaintainer(item.getString("maintainer")); |
| | | if (item.containsKey("maintenanceTime")) { |
| | | c.setMaintenanceTime(java.sql.Date.valueOf(item.getString("maintenanceTime"))); |
| | | } else { |
| | | c.setMaintenanceTime(new java.sql.Date(System.currentTimeMillis())); |
| | | } |
| | | if (item.containsKey("bankAccount")) { |
| | | c.setBankAccount(item.getString("bankAccount")); |
| | | } |
| | | if (item.containsKey("basicBankAccount")) { |
| | | c.setBasicBankAccount(item.getString("basicBankAccount")); |
| | | } |
| | | if (item.containsKey("bankCode")) { |
| | | c.setBankCode(item.getString("bankCode")); |
| | | } |
| | | customerService.insertCustomer(c); |
| | | if (c.getId() != null) { |
| | | nameToId.put(c.getCustomerName(), c.getId()); |
| | |
| | | s.setContactUserName(item.getString("contactUserName")); |
| | | s.setContactUserPhone(item.getString("contactUserPhone")); |
| | | s.setCompanyAddress(item.getString("companyAddress")); |
| | | s.setCompanyPhone(item.getString("companyPhone")); |
| | | s.setTaxpayerIdentificationNum(item.getString("taxpayerIdentificationNum")); |
| | | s.setBankAccountName(item.getString("bankAccountName")); |
| | | s.setBankAccountNum(item.getString("bankAccountNum")); |
| | |
| | | dto.setSalesman(item.getString("salesman")); |
| | | dto.setPaymentMethod(item.getString("paymentMethod")); |
| | | dto.setType(item.getInteger("type")); |
| | | // 录入人:优先使用AI提供的数据,否则用当前登录用户 |
| | | if (item.containsKey("entryPerson")) { |
| | | dto.setEntryPerson(item.getString("entryPerson")); |
| | | } |
| | | if (item.containsKey("entryDate")) { |
| | | dto.setEntryDate(java.sql.Date.valueOf(item.getString("entryDate"))); |
| | | } |
| | |
| | | slp.setTaxRate(pd.getBigDecimal("taxRate")); |
| | | slp.setUnit(pd.getString("unit")); |
| | | slp.setType(pd.getInteger("type")); |
| | | if (pd.containsKey("taxExclusiveTotalPrice")) { |
| | | slp.setTaxExclusiveTotalPrice(pd.getBigDecimal("taxExclusiveTotalPrice")); |
| | | } else if (pd.getBigDecimal("taxInclusiveTotalPrice") != null && pd.getBigDecimal("taxRate") != null) { |
| | | // 不含税总价 = 含税总价 / (1 + 税率/100) |
| | | slp.setTaxExclusiveTotalPrice( |
| | | pd.getBigDecimal("taxInclusiveTotalPrice").divide( |
| | | BigDecimal.ONE.add(pd.getBigDecimal("taxRate").divide(new BigDecimal("100"), 4, RoundingMode.HALF_UP)), |
| | | 2, RoundingMode.HALF_UP)); |
| | | } else { |
| | | slp.setTaxExclusiveTotalPrice(BigDecimal.ZERO); |
| | | } |
| | | products.add(slp); |
| | | } |
| | | dto.setProductData(products); |
| | |
| | | slp.setTaxRate(pd.getBigDecimal("taxRate")); |
| | | slp.setUnit(pd.getString("unit")); |
| | | slp.setType(2); |
| | | if (pd.containsKey("taxExclusiveTotalPrice")) { |
| | | slp.setTaxExclusiveTotalPrice(pd.getBigDecimal("taxExclusiveTotalPrice")); |
| | | } else if (pd.getBigDecimal("taxInclusiveTotalPrice") != null && pd.getBigDecimal("taxRate") != null) { |
| | | slp.setTaxExclusiveTotalPrice( |
| | | pd.getBigDecimal("taxInclusiveTotalPrice").divide( |
| | | BigDecimal.ONE.add(pd.getBigDecimal("taxRate").divide(new BigDecimal("100"), 4, RoundingMode.HALF_UP)), |
| | | 2, RoundingMode.HALF_UP)); |
| | | } else { |
| | | slp.setTaxExclusiveTotalPrice(BigDecimal.ZERO); |
| | | } |
| | | products.add(slp); |
| | | } |
| | | dto.setProductData(products); |