Browse Source

完善维修工单

zhanglei
fanzongzhe 10 months ago
parent
commit
45b3360428
  1. 3
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AitemVo.java
  2. 6
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBill.java
  3. 6
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java
  4. 6
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java
  5. 14
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/GoodsDetailsVo.java
  6. 26
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/SettleGoodsPdfVo.java
  7. 30
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/SettleItemPdfVo.java
  8. 17
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/SettlePdfQuery.java
  9. 43
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/SettlePdfVo.java
  10. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/SitemVo.java
  11. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillaitem/AsBusrepairBillAitem.java
  12. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillsitem/AsBusrepairBillSitem.java
  13. 9
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetail.java
  14. 1
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillService.java
  15. 6
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java
  16. 221
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
  17. 3550
      yxt-as/src/main/resources/ftl/baonei.ftl
  18. 3978
      yxt-as/src/main/resources/ftl/baoneifujia.ftl
  19. 4175
      yxt-as/src/main/resources/ftl/baowai.ftl
  20. 4613
      yxt-as/src/main/resources/ftl/baowaifujia.ftl
  21. 82
      yxt-as/src/main/resources/ftl/保内结算单.docx
  22. 94
      yxt-as/src/main/resources/ftl/保内结算单(附件项目).docx
  23. 104
      yxt-as/src/main/resources/ftl/保外结算单.docx
  24. 116
      yxt-as/src/main/resources/ftl/保外结算单(附件项目).docx

3
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AitemVo.java

@ -21,5 +21,6 @@ public class AitemVo {
private String price;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("销售价常量")
private String aitemPrice;
}

6
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBill.java

@ -119,6 +119,12 @@ public class AsBusrepairBill extends BaseEntity {
private Integer isSpecialSign;
@ApiModelProperty("施救费")
private BigDecimal rescueAmount;
@ApiModelProperty("外出费开票金额")
private BigDecimal outKPAmount;
@ApiModelProperty("厂家补助开票金额")
private BigDecimal subsidyKPAmount;
@ApiModelProperty("施救费开票金额")
private BigDecimal rescueKPAmount;
@ApiModelProperty("厂家补助备注")
private String subsidyRemarks;
@ApiModelProperty("施救费备注")

6
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java

@ -158,6 +158,12 @@ public class AsBusrepairBillDetailsVo implements Vo {
private String outRemarks;
@ApiModelProperty("施救费")
private String rescueAmount;
@ApiModelProperty("外出费开票金额")
private String outKPAmount;
@ApiModelProperty("厂家补助开票金额")
private String subsidyKPAmount;
@ApiModelProperty("施救费开票金额")
private String rescueKPAmount;
private List<FileUrlQuery> fileName = new ArrayList<>(); //文件名称
@ApiModelProperty("商品登记备注")
private String registerRemarks;

6
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java

@ -142,6 +142,12 @@ public class AsBusrepairBillDto implements Dto {
private String outRemarks;
@ApiModelProperty("施救费")
private String rescueAmount;
@ApiModelProperty("外出费开票金额")
private String outKPAmount;
@ApiModelProperty("厂家补助开票金额")
private String subsidyKPAmount;
@ApiModelProperty("施救费开票金额")
private String rescueKPAmount;
private List<FileUrlQuery> fileName = new ArrayList<>(); //文件名称
@ApiModelProperty("商品登记备注")
private String registerRemarks;

14
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/GoodsDetailsVo.java

@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
@ -54,5 +56,17 @@ public class GoodsDetailsVo implements Vo {
private String remarks;
@ApiModelProperty("厂家")
private String manufacturerName;
@ApiModelProperty("销售价格常量")
private String goodsDetailsPrice;
//是否含税(0含税,1不含税)
private boolean isTaxRate;
@ApiModelProperty("领料人")
private String operName;
@ApiModelProperty("接收时间")
private String receivedTime;
@ApiModelProperty("配件销售sid")
private List<String> partsSellersSids = new ArrayList<>();
@ApiModelProperty("配件销售")
private List<String> partsSellers = new ArrayList<>();
}

26
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/SettleGoodsPdfVo.java

@ -0,0 +1,26 @@
package com.yxt.anrui.as.api.asbusrepairbill;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/8/1 10:09
*/
@Data
public class SettleGoodsPdfVo {
private String sortNo; //序号
private String goodsSpuName; //商品名称
private String goodsSkuCode; //图号
private String goodsSkuOwnSpec; //规格
private String unit; //单位
private String count; //数量
private String price; //单价
private String discount; //折扣
private String discountAmount; //优惠
private String amount; //销售金额
private String remarks; //备注
private String operName; //领料人
}

30
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/SettleItemPdfVo.java

@ -0,0 +1,30 @@
package com.yxt.anrui.as.api.asbusrepairbill;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/8/1 10:10
*/
@Data
public class SettleItemPdfVo {
private String sortNo; //序号
private String serviceItem; //维修项目
private String serviceItemCode; //维修项目编码
private String serviceType; //工种
private String hourPrice; //工时单价
private String hours; //工时数量
private String price; //维修金额
private String discount; //折扣
private String discountAmount; //优惠
private String amount; //销售金额
private String repairerName; //维修技师
private String remarks; //备注
}

17
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/SettlePdfQuery.java

@ -0,0 +1,17 @@
package com.yxt.anrui.as.api.asbusrepairbill;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/8/1 10:09
*/
@Data
public class SettlePdfQuery {
private String sid;
private String type; //0或不传为 销售做账;1 客户打印
private String useOrgSid; //部门sid
private String createOrgSid; //分公司sid
private String userSid; //登录用户sid
}

43
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/SettlePdfVo.java

@ -0,0 +1,43 @@
package com.yxt.anrui.as.api.asbusrepairbill;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/8/1 10:09
*/
@Data
public class SettlePdfVo {
private String company; //分公司
private String dept; //部门
private String settleTime; //结算时间
private String customer; //客户名称
private String mobile; //联系电话
private String billNo; //单据编号
private String billType; //维修单类型
private String vehModel; //车型
private String claimManufacturer; //索赔厂家
private String claimNo; //索赔单号
private String vinNo; //车架号
private String vehMark; //车牌号
private String isKp; //是否开票
private List<SettleItemPdfVo> items = new ArrayList<>();
private String caps1; //维修项目合计大写
private String sumMoney1; //维修项目合计
private List<SettleGoodsPdfVo> goods = new ArrayList<>();
private String caps2; //维修用料合计大写
private String sumMoney2; //维修用料合计
private String outAmount; //外出费
private String subsidyAmount; //厂家补助
private String rescueAmount; //施救费
private String receivableAmount; //应收合计
private String actualAmount; //实收合计
private String userName; //经办人
}

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/SitemVo.java

@ -43,6 +43,8 @@ public class SitemVo {
@ApiModelProperty("备注")
private String remarks;
private String repairerName;
@ApiModelProperty("销售价格常量")
private String sitemPrice;
//-------------维修人员---------------
// @ApiModelProperty("维修人员sid")
// private String repairerSid;

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillaitem/AsBusrepairBillAitem.java

@ -25,5 +25,7 @@ public class AsBusrepairBillAitem extends BaseEntity {
private String attachItem;
@ApiModelProperty("销售价")
private BigDecimal price;
@ApiModelProperty("销售价常量")
private BigDecimal aitemPrice;
}

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillsitem/AsBusrepairBillSitem.java

@ -46,6 +46,8 @@ public class AsBusrepairBillSitem extends BaseEntity {
private BigDecimal discountAmount;
@ApiModelProperty("金额(销售价-优惠金额)")
private BigDecimal amount;
@ApiModelProperty("销售价格常量")
private BigDecimal sitemPrice;
}

9
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetail.java

@ -74,4 +74,13 @@ public class AsBusrepairInventorybillDetail extends BaseEntity {
//旧件是否入库(适用于保内业务,0未入库,1已入库完成)
private Integer oldIsInInventory;
@ApiModelProperty("销售价格常量")
private BigDecimal goodsDetailsPrice;
//是否含税(1含税,0不含税)
private Integer isTaxRate;
@ApiModelProperty("配件销售sid(逗号拼接)")
private String partsSellersSid;
@ApiModelProperty("配件销售")
private String partsSellers;
}

1
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillService.java

@ -83,4 +83,5 @@ public class AsBusclaimBillService extends MybatisBaseService<AsBusclaimBillMapp
public List<String> selectByRepairBillSid(String repairBillSid) {
return baseMapper.selectByRepairBillSid(repairBillSid);
}
}

6
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java

@ -80,6 +80,12 @@ public class AsBusrepairBillRest {
return asBusrepairBillService.fetchDetailsBySid(sid);
}
@ApiOperation("打印结算单")
@PostMapping("/printSettlement")
public ResultBean<String> printSettlement(@RequestBody SettlePdfQuery query) {
return asBusrepairBillService.printSettlement(query);
}
@ApiOperation("根据维修工单号查询")
@GetMapping("/selectOneByBillNo/{billNo}")
public ResultBean<AsBusrepairBill> selectOneByBillNo(@PathVariable("billNo") String billNo) {

221
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java

@ -19,6 +19,7 @@ import com.yxt.anrui.as.api.asbusrepairbillsitemrepairer.AsBusrepairBillSitemRep
import com.yxt.anrui.as.api.asbusrepairbillvech.AsBusrepairBillVech;
import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetail;
import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.SitemsVo;
import com.yxt.anrui.as.api.asserviceitem.AsServiceItem;
import com.yxt.anrui.as.api.astrackbill.AsTrackBillDto;
import com.yxt.anrui.as.api.enums.AsBillTypeEnum;
import com.yxt.anrui.as.api.utils.AsRule;
@ -38,6 +39,7 @@ import com.yxt.anrui.as.biz.asbusrepairbillsitem.AsBusrepairBillSitemService;
import com.yxt.anrui.as.biz.asbusrepairbillsitemrepairer.AsBusrepairBillSitemRepairerService;
import com.yxt.anrui.as.biz.asbusrepairbillvech.AsBusrepairBillVechService;
import com.yxt.anrui.as.biz.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailService;
import com.yxt.anrui.as.biz.asserviceitem.AsServiceItemService;
import com.yxt.anrui.as.biz.astrackbill.AsTrackBillService;
import com.yxt.anrui.as.feign.crm.CrmCustomerTemp;
import com.yxt.anrui.as.feign.crm.CrmCustomerTempFeign;
@ -127,6 +129,8 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
private SmsGoodsFeign smsGoodsFeign;
@Autowired
private CrmCustomerTempFeign crmCustomerTempFeign;
@Autowired
private AsServiceItemService asServiceItemService;
/**
* 维修领料获取派工单
*
@ -378,6 +382,14 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
if (StringUtils.isNotBlank(goodsVo.getRemarks())) {
goods.setRemarks(goodsVo.getRemarks());
}
List<String> partsSellersSids = goodsVo.getPartsSellersSids();
List<String> partsSellers = goodsVo.getPartsSellers();
if (!partsSellersSids.isEmpty()) {
goods.setPartsSellersSid(String.join(",", partsSellersSids));
}
if (!partsSellers.isEmpty()) {
goods.setPartsSellers(String.join(",", partsSellers));
}
asBusrepairInventorybillDetailService.updateById(goods);
}
}
@ -476,6 +488,8 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
List<SitemVo> sitemVos = new ArrayList<>();// 服务项目
List<AitemVo> aitemVos = new ArrayList<>();// 附加项目
List<GoodsDetailsVo> goodsDetailsVos = new ArrayList<>(); //商品信息
BigDecimal taxRate = BigDecimal.ZERO;//税率
boolean wxGoods = false; //维修领料是否为加税点项目
AsBusrepairBillInvoice invoice = asBusrepairBillInvoiceService.fetchByBillSid(sid);
if (null != invoice) {
BeanUtil.copyProperties(invoice, invoiceVo);
@ -484,6 +498,12 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
String[] taxItems = taxItem.split(",");
List<String> list = Arrays.asList(taxItems);
invoiceVo.setTaxItems(list);
if (taxItem.contains("维修用料")) {
wxGoods = true;
}
if (null != invoice.getTaxRate()) {
taxRate = invoice.getTaxRate();
}
}
vo.setInvoiceVo(invoiceVo);
}
@ -555,12 +575,54 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
for (AsBusrepairInventorybillDetail goodsDetail : goodsDetails) {
GoodsDetailsVo goodsDetailsVo = new GoodsDetailsVo();
BeanUtil.copyProperties(goodsDetail, goodsDetailsVo);
BigDecimal constPrice = BigDecimal.ZERO; //销售价常量
boolean isTaxRate = false; //进货价是否含税
SmsGoods smsGoods = smsGoodsFeign.fetchEntityByGoodsID(goodsDetail.getGoodsID()).getData();
if (null != smsGoods) {
if (StringUtils.isNotBlank(smsGoods.getSupplierName())) {
goodsDetailsVo.setManufacturerName(smsGoods.getSupplierName());
}
}
if (null != goodsDetail.getGoodsDetailsPrice()) {
constPrice = goodsDetail.getGoodsDetailsPrice();
}
if (StringUtils.isNotBlank(goodsDetail.getPartsSellersSid())) {
String partsSellersSid = goodsDetail.getPartsSellersSid();
String[] strings = partsSellersSid.split(",");
List<String> list = Arrays.asList(strings);
goodsDetailsVo.setPartsSellersSids(list);
}
if (StringUtils.isNotBlank(goodsDetail.getPartsSellers())) {
String partsSellers = goodsDetail.getPartsSellers();
String[] strings = partsSellers.split(",");
List<String> list = Arrays.asList(strings);
goodsDetailsVo.setPartsSellers(list);
}
if (goodsDetail.getIsTaxRate() != null) {
if (goodsDetail.getIsTaxRate().intValue() == 1) {
goodsDetailsVo.setPrice(constPrice.toString());
isTaxRate = true;
} else {
if (wxGoods) {
BigDecimal divide = taxRate.divide(new BigDecimal("100"));
BigDecimal add = divide.add(new BigDecimal("1"));
BigDecimal multiply = constPrice.multiply(add);
goodsDetailsVo.setPrice(multiply.toString());
} else {
goodsDetailsVo.setPrice(constPrice.toString());
}
}
} else {
if (wxGoods) {
BigDecimal divide = taxRate.divide(new BigDecimal("100"));
BigDecimal add = divide.add(new BigDecimal("1"));
BigDecimal multiply = constPrice.multiply(add);
goodsDetailsVo.setPrice(multiply.toString());
} else {
goodsDetailsVo.setPrice(constPrice.toString());
}
}
goodsDetailsVo.setTaxRate(isTaxRate);
goodsDetailsVos.add(goodsDetailsVo);
}
vo.setGoodsDetailsVos(goodsDetailsVos);
@ -1170,4 +1232,163 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
asBusrepairBillNodeService.insert(billNode);
return rb.success();
}
public ResultBean<String> printSettlement(SettlePdfQuery query) {
ResultBean rb = ResultBean.fireFail();
SettlePdfVo vo = new SettlePdfVo();
String filePath = "";
String company = "";
String dept = "";
String userName = "";
String sid = query.getSid(); //单据sid
String type = "";
BigDecimal sumMoney1 = BigDecimal.ZERO; //维修项目合计
BigDecimal sumMoney2 = BigDecimal.ZERO; //维修用料合计
String subject = "";
if (StringUtils.isNotBlank(query.getType())) {
type = query.getType();
} else {
type = "0";
}
SysOrganizationVo u = sysOrganizationFeign.fetchBySid(query.getUseOrgSid()).getData();
if (null != u) {
dept = u.getName();
}
SysOrganizationVo c = sysOrganizationFeign.fetchBySid(query.getCreateOrgSid()).getData();
if (null != c) {
company = c.getName();
}
SysUserVo userVo = sysUserFeign.fetchBySid(query.getUserSid()).getData();
if (null != userVo) {
userName = userVo.getName();
}
vo.setCompany(company);
vo.setDept(dept);
vo.setUserName(userName);
AsBusrepairBillDetailsVo detailsVo = fetchDetailsBySid(sid).getData();
if (null != detailsVo) {
if (null != detailsVo.getSettleVo()) {
SettleVo settleVo = detailsVo.getSettleVo();
if (StringUtils.isNotBlank(settleVo.getSettleTime())) {
vo.setSettleTime(settleVo.getSettleTime());
} else {
vo.setSettleTime(DateUtil.formatDate(new Date()));
}
} else {
vo.setSettleTime(DateUtil.formatDate(new Date()));
}
subject = detailsVo.getSubject();
if (StringUtils.isNotBlank(detailsVo.getCustomerName())) {
vo.setCustomer(detailsVo.getCustomerName());
}
if (StringUtils.isNotBlank(detailsVo.getMobile())) {
vo.setMobile(detailsVo.getMobile());
}
if (StringUtils.isNotBlank(detailsVo.getBillNo())) {
vo.setBillNo(detailsVo.getBillNo());
}
if (StringUtils.isNotBlank(detailsVo.getBillType())) {
vo.setBillType(detailsVo.getBillType());
}
if (StringUtils.isNotBlank(detailsVo.getVehModel())) {
vo.setVehModel(detailsVo.getVehModel());
}
if (StringUtils.isNotBlank(detailsVo.getClaimManufacturer())) {
vo.setClaimManufacturer(detailsVo.getClaimManufacturer());
}
//获取索赔单
List<String> claimNos = asBusclaimBillService.selectByRepairBillSid(sid);
if (!claimNos.isEmpty()) {
vo.setClaimNo(String.join(",",claimNos));
}
if (StringUtils.isNotBlank(detailsVo.getVinNo())) {
vo.setVinNo(detailsVo.getVinNo());
}
if (StringUtils.isNotBlank(detailsVo.getVehMark())) {
vo.setVehMark(detailsVo.getVehMark());
}
InvoiceVo invoiceVo = detailsVo.getInvoiceVo();
if (null != invoiceVo) {
if (StringUtils.isNotBlank(invoiceVo.getIsInvoicing())) {
if (invoiceVo.getIsInvoicing().equals("1")) {
vo.setIsKp("是");
} else {
vo.setIsKp("否");
}
} else {
vo.setIsKp("否");
}
} else {
vo.setIsKp("否");
}
List<SitemVo> sitemVos = detailsVo.getSitemVos();
if (!sitemVos.isEmpty()) {
List<SettleItemPdfVo> itemPdfVos = new ArrayList<>();
for (int i = 0; i < sitemVos.size(); i++) {
SitemVo sitemVo = sitemVos.get(i);
SettleItemPdfVo itemPdfVo = new SettleItemPdfVo();
BeanUtil.copyProperties(sitemVo,itemPdfVo);
itemPdfVo.setSortNo(String.valueOf(i+1));
String serviceItemSid = sitemVo.getServiceItemSid();
AsServiceItem item = asServiceItemService.fetchBySid(serviceItemSid);
if (null != item) {
itemPdfVo.setServiceItemCode(item.getSitemCode());
}
if (!sitemVo.getStaffNameList().isEmpty()) {
itemPdfVo.setRepairerName(String.join(",",sitemVo.getStaffNameList()));
}
BigDecimal price = BigDecimal.ZERO;
BigDecimal amount = BigDecimal.ZERO;
if (StringUtils.isNotBlank(sitemVo.getPrice())) {
price = new BigDecimal(sitemVo.getPrice());
}
if (StringUtils.isNotBlank(sitemVo.getAmount())) {
amount = new BigDecimal(sitemVo.getAmount());
}
itemPdfVos.add(itemPdfVo);
if (subject.equals("保内")) {
sumMoney1.add(price);
}
if (subject.equals("保外")) {
sumMoney1.add(amount);
}
}
vo.setItems(itemPdfVos);
}
vo.setSumMoney1(sumMoney1.toString());
String caps1 = bigDecimalToLocalStr(sumMoney1);
vo.setCaps1(caps1);
}
return rb.success().setData(filePath);
}
public static String bigDecimalToLocalStr(BigDecimal bigDecimal) {
String[] chinese = new String[]{"", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "万"};
String[] numChinese = new String[]{"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
String[] afterChinese = new String[]{"角", "分"};
String str = String.valueOf(bigDecimal);
String[] arr = str.split("\\.");
char[] chars = arr[0].toCharArray();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < chars.length; ++i) {
sb.append(numChinese[Integer.valueOf(String.valueOf(chars[i])).intValue()]).append(chinese[chars.length - i - 1]);
}
if (arr.length == 1) {
return sb.toString() + "元整";
} else if (arr[1].length() > 2) {
throw new IllegalArgumentException("人民币大写转换BigDecimal只能保留2位小数");
} else {
sb.append("元");
char[] chars1 = arr[1].toCharArray();
for (int i = 0; i < chars1.length; ++i) {
sb.append(numChinese[Integer.valueOf(String.valueOf(chars1[i])).intValue()]).append(afterChinese[i]);
}
return sb.toString();
}
}
}

3550
yxt-as/src/main/resources/ftl/baonei.ftl

File diff suppressed because it is too large

3978
yxt-as/src/main/resources/ftl/baoneifujia.ftl

File diff suppressed because it is too large

4175
yxt-as/src/main/resources/ftl/baowai.ftl

File diff suppressed because it is too large

4613
yxt-as/src/main/resources/ftl/baowaifujia.ftl

File diff suppressed because it is too large

82
yxt-as/src/main/resources/ftl/保内结算单.docx

@ -0,0 +1,82 @@
${company!}(${dept!})
保内结算单
结算时间:
${settleTime!}
客户名称:
${customer!}
联系电话:
${mobile!}
单据编号:
${billNo!}
索赔厂家:
${claimManufacturer!}
索赔单号:
${claimNo!}
车架号:
${vinNo!}
车牌号:
${vehMark!}
维修项目:
序号
维修项目
维修项目编码
工种
工时单价
工时数量
维修金额
维修技师
备注
${list.sortNo!}
${list.serviceItem!}
${list.serviceItemCode!}
${list.serviceType!}
${list.hourPrice!}
${list.hours!}
${list.price!}
${list.repairerName!}
${list.remarks!}
合计(大写) :${caps1!}
¥:
${sumMoney1!}元
维修用料:
序号
商品名称
图号
规格
单位
数量
单价
销售金额
领料人
备注
${newList.sortNo!}
${newList.goodsSpuName!}
${newList.goodsSkuCode!}
${newList.goodsSkuOwnSpec!}
${newList.unit!}
${newList.count!}
${newList.price!}
${newList.amount!}
${newList.operName!}
${newList.remarks!}
合计(大写) :${caps2!}
¥:
${sumMoney2!}元
合计:
应收合计:
${receivableAmount!}
实收合计:
${actualAmount!}
经办人:
${userName!}
客户(或对接人)签字:

94
yxt-as/src/main/resources/ftl/保内结算单(附件项目).docx

@ -0,0 +1,94 @@
${company!}(${dept!})
保内结算单
结算时间:
${settleTime!}
客户名称:
${customer!}
联系电话:
${mobile!}
单据编号:
${billNo!}
索赔厂家:
${claimManufacturer!}
索赔单号:
${claimNo!}
车架号:
${vinNo!}
车牌号:
${vehMark!}
维修项目:
序号
维修项目
维修项目编码
工种
工时单价
工时数量
维修金额
维修技师
备注
${list.sortNo!}
${list.serviceItem!}
${list.serviceItemCode!}
${list.serviceType!}
${list.hourPrice!}
${list.hours!}
${list.price!}
${list.repairerName!}
${list.remarks!}
合计(大写) :${caps1!}
¥:
${sumMoney1!}元
维修用料:
序号
商品名称
图号
规格
单位
数量
单价
销售金额
领料人
备注
${newList.sortNo!}
${newList.goodsSpuName!}
${newList.goodsSkuCode!}
${newList.goodsSkuOwnSpec!}
${newList.unit!}
${newList.count!}
${newList.price!}
${newList.amount!}
${newList.operName!}
${newList.remarks!}
合计(大写) :${caps2!}
¥:
${sumMoney2!}元
附加项目:
序号
附加项目
销售金额
1
外出费:
${outAmount!}
2
厂家补助:
${subsidyAmount!}
3
施救费:
${rescueAmount!}
合计:
应收合计:
${receivableAmount!}
实收合计:
${actualAmount!}
经办人:
${userName!}
客户(或对接人)签字:

104
yxt-as/src/main/resources/ftl/保外结算单.docx

@ -0,0 +1,104 @@
${company!}(${dept!})
保外结算单
结算时间:
${settleTime!}
客户名称:
${customer!}
联系电话:
${mobile!}
单据编号:
${billNo!}
维修单类型:
${billType!}
车型:
${vehModel!}
车架号:
${vinNo!}
车牌号:
${vehMark!}
是否开票:
${isKp!}
维修项目:
序号
维修项目
维修项目编码
工种
工时单价
工时数量
销售价
折扣
优惠
销售金额
维修技师
备注
${list.sortNo!}
${list.serviceItem!}
${list.serviceItemCode!}
${list.serviceType!}
${list.hourPrice!}
${list.hours!}
${list.price!}
${list.discount!}
${list.discountAmount!}
${list.amount!}
${list.repairerName!}
${list.remarks!}
合计(大写) :${caps1!}
¥: ${sumMoney1!}元
维修领料:
序号
商品名称
图号
规格
单位
数量
单价
折扣
优惠
销售金额
领料人
备注
${newList.sortNo!}
${newList.goodsSpuName!}
${newList.goodsSkuCode!}
${newList.goodsSkuOwnSpec!}
${newList.unit!}
${newList.count!}
${newList.price!}
${newList.discount!}
${newList.discountAmount!}
${newList.amount!}
${newList.operName!}
${newList.remarks!}
合计(大写) :${caps2!}
¥: ${sumMoney2!}元
合计:
应收合计:
${receivableAmount!}
实收合计:
${actualAmount!}
经办人:
${userName!}
收款人:
客户(或对接人)签字:

116
yxt-as/src/main/resources/ftl/保外结算单(附件项目).docx

@ -0,0 +1,116 @@
${company!}(${dept!})
保外结算单
结算时间:
${settleTime!}
客户名称:
${customer!}
联系电话:
${mobile!}
单据编号:
${billNo!}
维修单类型:
${billType!}
车型:
${vehModel!}
车架号:
${vinNo!}
车牌号:
${vehMark!}
是否开票:
${isKp!}
维修项目:
序号
维修项目
维修项目编码
工种
工时单价
工时数量
销售价
折扣
优惠
销售金额
维修技师
备注
${list.sortNo!}
${list.serviceItem!}
${list.serviceItemCode!}
${list.serviceType!}
${list.hourPrice!}
${list.hours!}
${list.price!}
${list.discount!}
${list.discountAmount!}
${list.amount!}
${list.repairerName!}
${list.remarks!}
合计(大写) :${caps1!}
¥: ${sumMoney1!}元
维修领料:
序号
商品名称
图号
规格
单位
数量
单价
折扣
优惠
销售金额
领料人
备注
${newList.sortNo!}
${newList.goodsSpuName!}
${newList.goodsSkuCode!}
${newList.goodsSkuOwnSpec!}
${newList.unit!}
${newList.count!}
${newList.price!}
${newList.discount!}
${newList.discountAmount!}
${newList.amount!}
${newList.operName!}
${newList.remarks!}
合计(大写) :${caps2!}
¥: ${sumMoney2!}元
附加项目:
序号
附加项目
销售金额
1
外出费:
${outAmount!}
2
厂家补助:
${subsidyAmount!}
3
施救费:
${rescueAmount!}
合计:
应收合计:
${receivableAmount!}
实收合计:
${actualAmount!}
经办人:
${userName!}
收款人:
客户(或对接人)签字:
Loading…
Cancel
Save