KdYdMaterialServiceImpl.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. package com.malk.huagao.service.impl;
  2. import com.malk.huagao.entity.KdYdCustomer;
  3. import com.malk.huagao.entity.KdYdMaterial;
  4. import com.malk.huagao.mapper.KdYdMaterialMapper;
  5. import com.malk.huagao.service.IKdYdMaterialService;
  6. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  7. import com.malk.server.aliwork.YDConf;
  8. import com.malk.server.aliwork.YDParam;
  9. import com.malk.server.dingtalk.DDR_New;
  10. import com.malk.service.aliwork.YDClient;
  11. import com.malk.utils.UtilMap;
  12. import org.slf4j.MDC;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Service;
  15. import java.math.BigDecimal;
  16. import java.math.RoundingMode;
  17. import java.util.Map;
  18. /**
  19. * <p>
  20. * 服务实现类
  21. * </p>
  22. *
  23. * @author LQY
  24. * @since 2025-10-16
  25. */
  26. @Service
  27. public class KdYdMaterialServiceImpl extends ServiceImpl<KdYdMaterialMapper, KdYdMaterial> implements IKdYdMaterialService {
  28. @Autowired
  29. private YDClient ydClient;
  30. @Autowired
  31. private KdYdMaterialMapper kdYdMaterialMapper;
  32. @Override
  33. public void insertkdYdMaterial(Map map) {
  34. MDC.put("MDC_KEY_PID", "1003");
  35. String formInstId = UtilMap.getString(map, "formInstId");
  36. DDR_New ddrNew = ydClient.queryData(YDParam.builder()
  37. .formInstId(formInstId)
  38. .build(), YDConf.FORM_QUERY.retrieve_id);
  39. Map formData = ddrNew.getFormData();
  40. System.out.println(formData);
  41. String wlmc = UtilMap.getString(formData, "textField_l43jpnsf");
  42. String xh = UtilMap.getString(formData, "textField_l43jpnsg");
  43. String gg = UtilMap.getString(formData, "textField_lqbxkzbq");
  44. String wlfz = UtilMap.getString(formData, "selectField_mguazu3k");
  45. String wlsx = UtilMap.getString(formData, "textField_l43jpnsh");
  46. String xsy = UtilMap.getString(formData, "employeeField_mgu5vocz").replace("[\"", "").replace("\"]", "").trim();
  47. String ssxl = UtilMap.getString(formData, "textField_mfxbtcdp");
  48. String jx = UtilMap.getString(formData, "textField_mejl9nrs");
  49. int sd = parseInt(safeGetString(formData, "numberField_mfxbtceb"), 0);
  50. String mrsl = UtilMap.getString(formData, "textField_mfxbtcdq");
  51. String chlb = UtilMap.getString(formData, "textField_mfxbtcdr");
  52. String jbdw = UtilMap.getString(formData, "textField_mfxbtcdo");
  53. BigDecimal xsjzj = toBigDecimal(safeGetString(formData, "numberField_mejl9nsc"));
  54. String smzs = UtilMap.getString(formData, "textField_mfxbtce4");
  55. String sjzt = UtilMap.getString(formData, "textField_mfxbtce6");
  56. String jyzt = UtilMap.getString(formData, "textField_mfxbtcea");
  57. String dzl = UtilMap.getString(formData, "textField_mfxbtcea");
  58. String pzzt = UtilMap.getString(formData, "selectField_mejl9nrq");
  59. String wlbt = wlmc+"-"+xh;
  60. // String sdmc = ssxl+"-"+pzzt+"-"+safeGetString(formData, "numberField_mfxbtceb");
  61. KdYdMaterial kdYdMaterial = new KdYdMaterial();
  62. kdYdMaterial.setWlmc(wlmc);
  63. kdYdMaterial.setXh(xh);
  64. kdYdMaterial.setGg(gg);
  65. kdYdMaterial.setWlfz(wlfz);
  66. kdYdMaterial.setWlsx(wlsx);
  67. kdYdMaterial.setJbdw(jbdw);
  68. kdYdMaterial.setSsxl(ssxl);
  69. kdYdMaterial.setJx(jx);
  70. kdYdMaterial.setSd(sd);
  71. kdYdMaterial.setMrsl(mrsl);
  72. kdYdMaterial.setChlb(chlb);
  73. kdYdMaterial.setXsy(xsy);
  74. kdYdMaterial.setXsjzj(xsjzj);
  75. kdYdMaterial.setSmzs(smzs);
  76. kdYdMaterial.setSjzt(sjzt);
  77. kdYdMaterial.setJyzt(jyzt);
  78. kdYdMaterial.setDzl(dzl);
  79. kdYdMaterial.setPzzt(pzzt);
  80. kdYdMaterial.setMaterialtitle(wlbt);
  81. // kdYdMaterial.setSpeedname(sdmc);
  82. kdYdMaterial.setForminstid(formInstId);
  83. kdYdMaterialMapper.insert(kdYdMaterial);
  84. }
  85. private static int parseInt(String str, int defaultValue) {
  86. if (str == null || str.trim().isEmpty()) {
  87. return defaultValue;
  88. }
  89. try {
  90. return Integer.parseInt(str.trim());
  91. } catch (NumberFormatException e) {
  92. return defaultValue;
  93. }
  94. }
  95. private String safeGetString(Map formData, String key) {
  96. Object val = formData.get(key);
  97. return val == null ? "" : String.valueOf(val);
  98. }
  99. public static BigDecimal toBigDecimal(String str) {
  100. if (str == null || str.trim().isEmpty()) {
  101. return BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP);
  102. }
  103. try {
  104. return new BigDecimal(str.trim())
  105. .setScale(2, RoundingMode.HALF_UP);
  106. } catch (NumberFormatException e) {
  107. // 返回默认值而不是抛出异常,避免程序中断
  108. return BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP);
  109. }
  110. }
  111. /**
  112. * 重载方法,支持Number类型输入
  113. */
  114. public static BigDecimal toBigDecimal(Number number) {
  115. if (number == null) {
  116. return BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP);
  117. }
  118. return new BigDecimal(number.toString())
  119. .setScale(2, RoundingMode.HALF_UP);
  120. }
  121. }