diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTempCreditSalesmenController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTempCreditSalesmenController.java new file mode 100644 index 000000000..96aeee90f --- /dev/null +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTempCreditSalesmenController.java @@ -0,0 +1,104 @@ + +/** + * @Project: emis + * @Title: EmisTempCreditSalesmenController.java + * @author linfso + * @date 2025-03-08 16:17:56 + * @Copyright: ShangHai Duta 2022 All rights reserved. + * @version v1.0 + * @Description:

销售临时额度 控制器

+ */ + +package com.xdadan.erp.web.emis; + +import com.xdadan.erp.common.annotation.Log; +import com.xdadan.erp.common.core.controller.BaseController; +import com.xdadan.erp.common.core.domain.AjaxResult; +import com.xdadan.erp.common.core.page.TableDataInfo; +import com.xdadan.erp.common.enums.BusinessType; +import com.xdadan.erp.emis.domain.EmisTempCreditSalesmen; +import com.xdadan.erp.emis.domain.exception.EmisBizError; +import com.xdadan.erp.emis.service.IEmisTempCreditSalesmenService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 销售临时额度Controller + * + * @author heyu + * @date 2025-04-15 16:17:56 + */ +@RestController +@RequestMapping("/emis/emisTempCreditSalesmen") +public class EmisTempCreditSalesmenController extends BaseController +{ + @Autowired + private IEmisTempCreditSalesmenService emisTempCreditSalesmenService; + + /** + * 查询销售临时额度列表 + */ + @PreAuthorize("@ss.hasPermi('emis:emisTempCreditSalesmen:list')") + @GetMapping("/list") + public TableDataInfo list(EmisTempCreditSalesmen emisTempCreditSalesmen) + { + startPage(); + List list = emisTempCreditSalesmenService.selectEmisTempCreditSalesmenList(emisTempCreditSalesmen); + return getDataTable(list); + } + + /** + * 新增销售临时额度 + */ + @PreAuthorize("@ss.hasPermi('emis:emisTempCreditSalesmen:add')") + @Log(title = "销售临时额度", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody EmisTempCreditSalesmen emisTempCreditSalesmen) + { + try { + return toAjax(emisTempCreditSalesmenService.insertEmisTempCreditSalesmen(emisTempCreditSalesmen)); + }catch (Exception ex){ + ex.printStackTrace(); + // 返回子定义异常 + if(ex instanceof EmisBizError){ + return AjaxResult.error(ex.getMessage(),((EmisBizError)ex).getErrorCode()); + } + return AjaxResult.error("服务器异常,联系客服"); + } + + } + + /** + * 修改销售临时额度 + */ + @PreAuthorize("@ss.hasPermi('emis:emisTempCreditSalesmen:edit')") + @Log(title = "销售临时额度", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody EmisTempCreditSalesmen emisTempCreditSalesmen) + { + try { + return toAjax(emisTempCreditSalesmenService.updateEmisTempCreditSalesmen(emisTempCreditSalesmen)); + }catch (Exception ex){ + ex.printStackTrace(); + // 返回子定义异常 + if(ex instanceof EmisBizError){ + return AjaxResult.error(ex.getMessage(),((EmisBizError)ex).getErrorCode()); + } + return AjaxResult.error("服务器异常,联系客服"); + } + } + + /** + * 删除销售临时额度 + */ + @PreAuthorize("@ss.hasPermi('emis:emisTempCreditSalesmen:remove')") + @Log(title = "销售临时额度", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(emisTempCreditSalesmenService.deleteEmisTempCreditSalesmenByIds(ids)); + } +} diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisCreditSalesmen.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisCreditSalesmen.java index 237f5ede2..8c9331b91 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisCreditSalesmen.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisCreditSalesmen.java @@ -41,6 +41,8 @@ public class EmisCreditSalesmen extends BaseEntity private String salesmen; /* 信用额度 */ private BigDecimal creditMoney; + /* 临时额度 */ + private BigDecimal tempCreditMoney; /* 使用额度 */ private BigDecimal useMoney; /* 超期额度 */ diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTempCreditSalesmen.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTempCreditSalesmen.java new file mode 100644 index 000000000..d36c1b7e5 --- /dev/null +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTempCreditSalesmen.java @@ -0,0 +1,45 @@ +package com.xdadan.erp.emis.domain; + +import java.math.BigDecimal; +import java.util.Date; +import lombok.Data; +import com.xdadan.erp.common.annotation.Excel; +import com.xdadan.erp.common.core.domain.BaseEntity; + +/** + * 销售临时额度对象 emis_temp_credit_salesmen + * + * @author heyu + * @date 2025-04-15 16:17:56 + */ +@Data +public class EmisTempCreditSalesmen extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 客户编码 */ + private String accCode; + + /** 销售员 */ + private String salesmen; + + /** 临时额度调整金额 */ + private BigDecimal tempCreditMoneyAdjust; + + /** 运输方式 **/ + private String transType; + + /** 临时额度总额 */ + private BigDecimal tempCreditMoney; + + /** 开始日期 */ + @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date startDate; + + /** 结束日期 */ + @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date endDate; + +} \ No newline at end of file diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTempCreditSalesmenMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTempCreditSalesmenMapper.java new file mode 100644 index 000000000..6d0d5ea50 --- /dev/null +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTempCreditSalesmenMapper.java @@ -0,0 +1,46 @@ +package com.xdadan.erp.emis.mapper; + +import com.xdadan.erp.emis.domain.EmisCreditSalesmen; +import com.xdadan.erp.emis.domain.EmisTempCreditSalesmen; +import org.apache.ibatis.annotations.Param; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +/** + * 销售临时额度Mapper接口 + * + * @author heyu + * @date 2025-04-15 + */ +public interface EmisTempCreditSalesmenMapper { + /** + * 新增销售临时额度 + */ + public int insertEmisTempCreditSalesmen(EmisTempCreditSalesmen emisTempCreditSalesmen); + + /** + * 查询销售临时额度列表 + */ + public List selectEmisTempCreditSalesmenList(EmisTempCreditSalesmen emisTempCreditSalesmen); + + /** + * 修改销售临时额度 + */ + public int updateEmisTempCreditSalesmen(EmisTempCreditSalesmen emisTempCreditSalesmen); + + /** + * 删除销售临时额度 + */ + public int deleteEmisTempCreditSalesmenByIds(Long[] ids); + + /** + * 查询销售信用额度信息 + * + * @param query 查询条件 + * @return 销售信用额度信息 + */ + public EmisCreditSalesmen selectCreditSalesmenInfo(EmisCreditSalesmen query); + +} \ No newline at end of file diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisTempCreditSalesmenService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisTempCreditSalesmenService.java new file mode 100644 index 000000000..b18973950 --- /dev/null +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisTempCreditSalesmenService.java @@ -0,0 +1,56 @@ +/** +* @Project: emis +* @Title: EmisTempCreditSalesmenService.java +* @author heyu +* @date 2025-04-15 16:17:56 +* @version v1.0 +* @Description:

销售临时额度 服务类接口

+*/ +package com.xdadan.erp.emis.service; + +import com.xdadan.erp.emis.domain.EmisTempCreditSalesmen; +import com.xdadan.erp.emis.domain.exception.EmisBizError; + +import java.util.List; + +/** + * @ClassName EmisTempCreditSalesmenService + * @Description 销售临时额度 + * @author heyu + * @date 2025-04-15 16:17:56 + */ +public interface IEmisTempCreditSalesmenService { + + /** + * 新增销售临时额度 + * + * @param emisTempCreditSalesmen 销售临时额度 + * @return 结果 + */ + int insertEmisTempCreditSalesmen(EmisTempCreditSalesmen emisTempCreditSalesmen) throws EmisBizError; + + /** + * 查询销售临时额度列表 + * + * @param emisTempCreditSalesmen 销售临时额度 + * @return 销售临时额度集合 + */ + List selectEmisTempCreditSalesmenList(EmisTempCreditSalesmen emisTempCreditSalesmen); + + /** + * 修改销售临时额度 + * + * @param emisTempCreditSalesmen 销售临时额度 + * @return 结果 + */ + int updateEmisTempCreditSalesmen(EmisTempCreditSalesmen emisTempCreditSalesmen) throws EmisBizError; + + /** + * 批量删除销售临时额度 + * + * @param ids 需要删除的销售临时额度主键集合 + * @return 结果 + */ + int deleteEmisTempCreditSalesmenByIds(Long[] ids); + +} diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCreditSalesmenServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCreditSalesmenServiceImpl.java index 5d766d1a1..ee9be4899 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCreditSalesmenServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCreditSalesmenServiceImpl.java @@ -1,4 +1,4 @@ - /** +/** * @Project: emis * @Title: EmisCreditSalesmenServiceImpl.java * @author linfso @@ -11,14 +11,16 @@ package com.xdadan.erp.emis.service.impl; import java.math.BigDecimal; +import java.util.Date; import java.util.List; import java.util.Map; import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSON; -import com.xdadan.erp.emis.domain.EmisCreditCustomer; +import com.xdadan.erp.emis.domain.EmisTempCreditSalesmen; import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType; import com.xdadan.erp.emis.domain.exception.EmisBizError; +import com.xdadan.erp.emis.mapper.EmisTempCreditSalesmenMapper; import com.xdadan.erp.emis.utils.WaybillHelper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -39,6 +41,9 @@ public class EmisCreditSalesmenServiceImpl implements IEmisCreditSalesmenService @Autowired private EmisCreditSalesmenMapper emisCreditSalesmenMapper; + @Autowired + private EmisTempCreditSalesmenMapper emisTempCreditSalesmenMapper; + /** * 查询销售信用额度 * @param id 销售信用额度主键 @@ -52,13 +57,59 @@ public class EmisCreditSalesmenServiceImpl implements IEmisCreditSalesmenService /** * 查询销售信用额度列表 + * * @param emisCreditSalesmen 销售信用额度 * @return 销售信用额度 */ @Override - public List selectEmisCreditSalesmenList(EmisCreditSalesmen emisCreditSalesmen) - { - return emisCreditSalesmenMapper.selectEmisCreditSalesmenList(emisCreditSalesmen); + public List selectEmisCreditSalesmenList(EmisCreditSalesmen emisCreditSalesmen) { + log.info("开始查询销售信用额度列表"); + List list = emisCreditSalesmenMapper.selectEmisCreditSalesmenList(emisCreditSalesmen); + + // 计算每个记录的临时额度总额 + for (EmisCreditSalesmen item : list) { + calculateAndSetTempCreditMoney(item); + } + + return list; + } + + /** + * 计算并设置临时额度总额 + * tempCreditMoney = creditMoney + tempCreditMoneyAdjust + * tempCreditMoneyAdjust取自emis_temp_credit_salesmen,有多条时取当前时间在范围内的一条,没有则为0 + * + * @param creditSalesmen 销售信用额度记录 + */ + private void calculateAndSetTempCreditMoney(EmisCreditSalesmen creditSalesmen) { + log.info("开始计算客户[{}]的临时额度总额", creditSalesmen.getAccCode()); + + // 获取基础信用额度 + BigDecimal baseCreditMoney = creditSalesmen.getCreditMoney() != null ? creditSalesmen.getCreditMoney() + : BigDecimal.ZERO; + + // 查询当前有效的临时额度调整 + EmisTempCreditSalesmen tempQuery = new EmisTempCreditSalesmen(); + tempQuery.setAccCode(creditSalesmen.getAccCode()); + List tempList = emisTempCreditSalesmenMapper + .selectEmisTempCreditSalesmenList(tempQuery); + + BigDecimal tempAdjust = BigDecimal.ZERO; + Date now = new Date(); + + for (EmisTempCreditSalesmen temp : tempList) { + if (temp.getStartDate() != null && temp.getEndDate() != null + && now.after(temp.getStartDate()) && now.before(temp.getEndDate())) { + tempAdjust = temp.getTempCreditMoneyAdjust() != null ? temp.getTempCreditMoneyAdjust() + : BigDecimal.ZERO; + break; + } + } + + BigDecimal totalCreditMoney = baseCreditMoney.add(tempAdjust); + creditSalesmen.setTempCreditMoney(totalCreditMoney); + log.info("客户[{}]的临时额度总额计算完成: 基础额度[{}] + 临时调整[{}] = 总额[{}]", + creditSalesmen.getAccCode(), baseCreditMoney, tempAdjust, totalCreditMoney); } /** diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTempCreditSalesmenServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTempCreditSalesmenServiceImpl.java new file mode 100644 index 000000000..7689ad7f5 --- /dev/null +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTempCreditSalesmenServiceImpl.java @@ -0,0 +1,202 @@ +/** + * @Project: emis + * @Title: EmisTempCreditSalesmenServiceImpl.java + * @author heyu + * @date 2025-04-15 16:17:56 + * @version v1.0 + * @Description:

销售临时额度 实体类

+ */ + +package com.xdadan.erp.emis.service.impl; + +import java.math.BigDecimal; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +import com.xdadan.erp.common.utils.DateUtils; +import com.xdadan.erp.emis.domain.EmisTempCreditSalesmen; +import com.xdadan.erp.emis.domain.EmisCreditSalesmen; +import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType; +import com.xdadan.erp.emis.domain.exception.EmisBizError; +import com.xdadan.erp.emis.mapper.EmisCreditSalesmenMapper; +import com.xdadan.erp.emis.mapper.EmisTempCreditSalesmenMapper; +import com.xdadan.erp.emis.service.IEmisTempCreditSalesmenService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 销售临时额度Service业务层处理 + * + * @author heyu + * @date 2025-04-15 16:17:56 + */ +@Slf4j +@Service +public class EmisTempCreditSalesmenServiceImpl implements IEmisTempCreditSalesmenService { + + @Autowired + private EmisTempCreditSalesmenMapper emisTempCreditSalesmenMapper; + + @Override + public int insertEmisTempCreditSalesmen(EmisTempCreditSalesmen emisTempCreditSalesmen) throws EmisBizError { + // 获取销售信用额度信息 + EmisCreditSalesmen query = new EmisCreditSalesmen(); + query.setAccCode(emisTempCreditSalesmen.getAccCode()); + EmisCreditSalesmen creditInfo = emisTempCreditSalesmenMapper.selectCreditSalesmenInfo(query); + if (creditInfo == null) { + log.error("未找到客户[{}]对应的销售信用额度记录", emisTempCreditSalesmen.getAccCode()); + throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "未找到对应的销售信用额度记录"); + } + + // 校验临时额度日期范围 + validateTempCreditDateRange(emisTempCreditSalesmen, creditInfo); + + // 校验临时额度时间连续性 + validateTempCreditTimeContinuity(emisTempCreditSalesmen); + + // 设置销售员 + emisTempCreditSalesmen.setSalesmen(creditInfo.getSalesmen()); + + int rows = emisTempCreditSalesmenMapper.insertEmisTempCreditSalesmen(emisTempCreditSalesmen); + return rows; + } + + @Override + public List selectEmisTempCreditSalesmenList( + EmisTempCreditSalesmen emisTempCreditSalesmen) { + List list = emisTempCreditSalesmenMapper + .selectEmisTempCreditSalesmenList(emisTempCreditSalesmen); + log.info("查询到{}条临时额度记录", list.size()); + return list; + } + + @Override + public int updateEmisTempCreditSalesmen(EmisTempCreditSalesmen emisTempCreditSalesmen) throws EmisBizError { + // 获取原记录的临时额度 + EmisTempCreditSalesmen oldRecord = new EmisTempCreditSalesmen(); + oldRecord.setId(emisTempCreditSalesmen.getId()); + List list = selectEmisTempCreditSalesmenList(oldRecord); + if (!list.isEmpty()) { + EmisTempCreditSalesmen original = list.get(0); + + // 获取当前信用额度 + EmisCreditSalesmen query = new EmisCreditSalesmen(); + query.setAccCode(original.getAccCode()); + EmisCreditSalesmen creditInfo = emisTempCreditSalesmenMapper.selectCreditSalesmenInfo(query); + if (creditInfo == null) { + log.error("未找到客户[{}]对应的销售信用额度记录", original.getAccCode()); + throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "未找到对应的销售信用额度记录"); + } + + // 校验临时额度日期范围 + validateTempCreditDateRange(emisTempCreditSalesmen, creditInfo); + + // 校验临时额度时间连续性 + validateTempCreditTimeContinuity(emisTempCreditSalesmen); + + int rows = emisTempCreditSalesmenMapper.updateEmisTempCreditSalesmen(emisTempCreditSalesmen); + + return rows; + } + return 0; + } + + /** + * 校验临时额度日期范围是否在销售信用额度日期范围内 + * + * @param tempCredit 临时额度信息 + * @param creditInfo 销售信用额度信息 + */ + private void validateTempCreditDateRange(EmisTempCreditSalesmen tempCredit, EmisCreditSalesmen creditInfo) + throws EmisBizError { + if (tempCredit.getStartDate() == null || tempCredit.getEndDate() == null) { + throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1, "临时额度的开始日期和结束日期不能为空"); + } + + // 获取当前日期(年月日) + Calendar calendar = Calendar.getInstance(); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + Date currentDate = calendar.getTime(); + + // 校验开始日期不能早于当前日期 + if (tempCredit.getStartDate().before(currentDate)) { + throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1, "临时额度的开始日期不能早于当前日期"); + } + + if (tempCredit.getStartDate().after(tempCredit.getEndDate())) { + throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1, "临时额度的开始日期不能晚于结束日期"); + } + + if (creditInfo.getStartDate() != null && tempCredit.getStartDate().before(creditInfo.getStartDate())) { + throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1, "临时额度的开始日期不能早于销售信用额度的开始日期"); + } + + if (creditInfo.getEndDate() != null && tempCredit.getEndDate().after(creditInfo.getEndDate())) { + throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1, "临时额度的结束日期不能晚于销售信用额度的结束日期"); + } + } + + /** + * 校验临时额度时间连续性 + * 同一个acc_code对应的多个start_date、end_date不能有交叉 + * + * @param tempCredit 临时额度信息 + */ + private void validateTempCreditTimeContinuity(EmisTempCreditSalesmen tempCredit) throws EmisBizError { + log.info("开始校验客户[{}]的临时额度时间范围", tempCredit.getAccCode()); + + // 查询该客户的所有临时额度记录 + EmisTempCreditSalesmen query = new EmisTempCreditSalesmen(); + query.setAccCode(tempCredit.getAccCode()); + List existingCredits = selectEmisTempCreditSalesmenList(query); + + // 检查新记录的时间范围是否与现有记录有交叉 + for (EmisTempCreditSalesmen credit : existingCredits) { + if (credit.getId().equals(tempCredit.getId())) { + continue; // 跳过当前正在修改的记录 + } + + // 检查时间范围是否有交叉 + if (isDateRangeOverlap(tempCredit.getStartDate(), tempCredit.getEndDate(), + credit.getStartDate(), credit.getEndDate())) { + throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1, + String.format("临时额度时间范围与现有记录交叉: 新记录[%s-%s], 现有记录[%s-%s]", + DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", tempCredit.getStartDate()), + DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", tempCredit.getEndDate()), + DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", credit.getStartDate()), + DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", credit.getEndDate()))); + } + } + + log.info("客户[{}]的临时额度时间范围校验通过", tempCredit.getAccCode()); + } + + /** + * 检查两个时间范围是否有交叉 + * + * @param start1 第一个时间范围的开始时间 + * @param end1 第一个时间范围的结束时间 + * @param start2 第二个时间范围的开始时间 + * @param end2 第二个时间范围的结束时间 + * @return true表示有交叉,false表示无交叉 + */ + private boolean isDateRangeOverlap(Date start1, Date end1, Date start2, Date end2) { + if (start1 == null || end1 == null || start2 == null || end2 == null) { + return false; + } + + // 检查是否有交叉 + return !(end1.before(start2) || start1.after(end2)); + } + + @Override + public int deleteEmisTempCreditSalesmenByIds(Long[] ids) { + return emisTempCreditSalesmenMapper.deleteEmisTempCreditSalesmenByIds(ids); + } +} diff --git a/emis-biz/src/main/resources/mapper/EmisTempCreditSalesmenMapper.xml b/emis-biz/src/main/resources/mapper/EmisTempCreditSalesmenMapper.xml new file mode 100644 index 000000000..11e84f58f --- /dev/null +++ b/emis-biz/src/main/resources/mapper/EmisTempCreditSalesmenMapper.xml @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + select t.id, t.acc_code, t.salesmen, t.temp_credit_money_adjust, + t.start_date, t.end_date, t.del_flag, t.create_by, t.create_time, + t.update_by, t.update_time, t.remark, t.create_site, t.update_site,c.trans_type + from emis_temp_credit_salesmen t + left join emis_credit_salesmen c on t.acc_code = c.acc_code and c.del_flag = '0' + + + + + + + + + + insert into emis_temp_credit_salesmen + + acc_code, + salesmen, + temp_credit_money_adjust, + start_date, + end_date, + del_flag, + create_by, + create_time, + update_by, + update_time, + remark, + create_site, + update_site, + + + #{accCode}, + #{salesmen}, + #{tempCreditMoneyAdjust}, + #{startDate}, + #{endDate}, + #{delFlag}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + #{createSite}, + #{updateSite}, + + + + + update emis_temp_credit_salesmen + + acc_code = #{accCode}, + salesmen = #{salesmen}, + temp_credit_money_adjust = #{tempCreditMoneyAdjust}, + start_date = #{startDate}, + end_date = #{endDate}, + del_flag = #{delFlag}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + create_site = #{createSite}, + update_site = #{updateSite}, + + where id = #{id} + + + + update emis_temp_credit_salesmen set del_flag = '1' where id in + + #{id} + + + + \ No newline at end of file