package com.malk.huagao.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.malk.huagao.entity.KdYdOutbound;
import com.malk.huagao.entity.KdYdOutboundDetail;
import com.malk.huagao.entity.KdYdReceivable;
import com.malk.huagao.entity.KdYdReceivableDetail;
import com.malk.huagao.mapper.KdYdOutboundDetailMapper;
import com.malk.huagao.mapper.KdYdOutboundMapper;
import com.malk.huagao.mapper.KdYdReceivableDetailMapper;
import com.malk.huagao.mapper.KdYdReceivableMapper;
import com.malk.huagao.service.IKdYdReceivableService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.malk.server.aliwork.YDConf;
import com.malk.server.aliwork.YDParam;
import com.malk.server.dingtalk.DDR_New;
import com.malk.service.aliwork.YDClient;
import com.malk.utils.UtilMap;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.MDC;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.*;
/**
*
* 服务实现类
*
*
* @author LQY
* @since 2025-10-16
*/
@Service
@Slf4j
public class KdYdReceivableServiceImpl extends ServiceImpl implements IKdYdReceivableService {
@Autowired
private YDClient ydClient;
@Autowired
private KdYdReceivableMapper kdYdReceivableMapper;
@Autowired
private KdYdReceivableDetailMapper kdYdReceivableDetailMapper;
@Override
public void insertkdYdReceivable(Map map) {
MDC.put("MDC_KEY_PID", "1003");
String formInstId = UtilMap.getString(map, "formInstId");
DDR_New ddrNew = ydClient.queryData(YDParam.builder()
.formInstId(formInstId)
.build(), YDConf.FORM_QUERY.retrieve_id);
Map formData = ddrNew.getFormData();
String djlx = UtilMap.getString(formData, "selectField_mg3a0th4");
long outboundId = UtilMap.getLong(formData, "textField_mgrsdayq");
// long deliceryId = 6L;
String kh = UtilMap.getString(formData, "textField_mejmml3k");
String bb = UtilMap.getString(formData, "selectField_mg3fuqvn");
String sktj = UtilMap.getString(formData, "selectField_mev13l3r");
String xsy = UtilMap.getString(formData, "employeeField_mejmtic9").replace("[\"", "").replace("\"]", "").trim();
String xsbm = UtilMap.getString(formData, "textField_krnn5bmr");
String xslx = UtilMap.getString(formData, "selectField_mejowmnc");
String khsx = UtilMap.getString(formData, "selectField_megi74y8");
String bz = UtilMap.getString(formData, "textareaField_mg3a0tgx");
String zdzkjestr = UtilMap.getString(formData, "numberField_mejmtica");
BigDecimal zdzkje = toBigDecimal(zdzkjestr);
List