✨ 完善核销用户记录和毛利报表导出日志
This commit is contained in:
@@ -65,6 +65,12 @@ public class ArBalanceWriteoff extends BaseEntity
|
||||
/** 核销备注 */
|
||||
private String remark;
|
||||
|
||||
/** 执行核销的用户主键 */
|
||||
private Long createUserId;
|
||||
|
||||
/** 执行反核销的用户主键 */
|
||||
private Long cancelUserId;
|
||||
|
||||
/** 反核销人 */
|
||||
private String cancelBy;
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ public interface ArBalanceWriteoffMapper
|
||||
int updateCancelled(@Param("writeoffId") Long writeoffId,
|
||||
@Param("reverseFlowId") Long reverseFlowId,
|
||||
@Param("cancelBy") String cancelBy,
|
||||
@Param("cancelUserId") Long cancelUserId,
|
||||
@Param("cancelRemark") String cancelRemark,
|
||||
@Param("status") String status,
|
||||
@Param("effectiveStatus") String effectiveStatus);
|
||||
|
||||
+4
-1
@@ -116,6 +116,7 @@ public class ArBalanceWriteoffServiceImpl implements IArBalanceWriteoffService {
|
||||
}
|
||||
|
||||
String operator = SecurityUtils.getUsername();
|
||||
Long operatorUserId = SecurityUtils.getUserId();
|
||||
String requestId = IdUtils.fastSimpleUUID();
|
||||
String currency = StringUtils.hasText(bill.getCurrency()) ? bill.getCurrency().trim().toUpperCase() : "CNY";
|
||||
Date writeoffDate = cmd.getWriteoffDate() != null ? cmd.getWriteoffDate() : new Date();
|
||||
@@ -133,6 +134,7 @@ public class ArBalanceWriteoffServiceImpl implements IArBalanceWriteoffService {
|
||||
writeoff.setWriteoffDate(writeoffDate);
|
||||
writeoff.setStatus(ArBalanceWriteoffStatus.EFFECTIVE.getCode());
|
||||
writeoff.setRemark(StringUtils.hasText(cmd.getRemark()) ? cmd.getRemark().trim() : null);
|
||||
writeoff.setCreateUserId(operatorUserId);
|
||||
writeoff.setCreateBy(operator);
|
||||
writeoffMapper.insertArBalanceWriteoff(writeoff);
|
||||
|
||||
@@ -177,6 +179,7 @@ public class ArBalanceWriteoffServiceImpl implements IArBalanceWriteoffService {
|
||||
}
|
||||
|
||||
String operator = SecurityUtils.getUsername();
|
||||
Long operatorUserId = SecurityUtils.getUserId();
|
||||
String requestId = IdUtils.fastSimpleUUID();
|
||||
String cancelRemark = StringUtils.hasText(remark) ? remark.trim() : "取消余额核销";
|
||||
String fromStatus = bill.getStatus();
|
||||
@@ -195,7 +198,7 @@ public class ArBalanceWriteoffServiceImpl implements IArBalanceWriteoffService {
|
||||
}
|
||||
|
||||
// 3. 核销单置为CANCELLED(口径变更后无回补流水,reverse_flow_id 置空)
|
||||
if (writeoffMapper.updateCancelled(writeoffId, null, operator, cancelRemark,
|
||||
if (writeoffMapper.updateCancelled(writeoffId, null, operator, operatorUserId, cancelRemark,
|
||||
ArBalanceWriteoffStatus.CANCELLED.getCode(), ArBalanceWriteoffStatus.EFFECTIVE.getCode()) != 1) {
|
||||
throw new ServiceException("核销记录状态已变化,请刷新后重试");
|
||||
}
|
||||
|
||||
@@ -22,6 +22,8 @@ public class PrcProfitReportExport implements Serializable
|
||||
private Integer rowCount;
|
||||
/** PROCESSING 生成中,SUCCESS 成功,FAILED 失败。 */
|
||||
private String exportStatus;
|
||||
/** 发起导出的用户主键。 */
|
||||
private Long exportUserId;
|
||||
private String exportBy;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date exportTime;
|
||||
|
||||
@@ -23,8 +23,7 @@ public interface PrcProfitReportMapper
|
||||
|
||||
int markExportFailed(@Param("exportId") Long exportId, @Param("remark") String remark);
|
||||
|
||||
List<PrcProfitReportExport> selectExportsByUser(String exportBy);
|
||||
List<PrcProfitReportExport> selectExports();
|
||||
|
||||
PrcProfitReportExport selectExportByIdAndUser(@Param("exportId") Long exportId,
|
||||
@Param("exportBy") String exportBy);
|
||||
PrcProfitReportExport selectExportById(@Param("exportId") Long exportId);
|
||||
}
|
||||
|
||||
+2
-2
@@ -23,9 +23,9 @@ public interface IPrcProfitReportService
|
||||
|
||||
int failExport(Long exportId, String remark);
|
||||
|
||||
List<PrcProfitReportExport> selectExports(String exportBy);
|
||||
List<PrcProfitReportExport> selectExports();
|
||||
|
||||
PrcProfitReportExport selectExport(Long exportId, String exportBy);
|
||||
PrcProfitReportExport selectExport(Long exportId);
|
||||
|
||||
/* 提成比例维护暂停使用。
|
||||
List<PrcProfitCommissionRate> selectCommissionRates();
|
||||
|
||||
+6
-5
@@ -9,7 +9,7 @@ import org.springframework.stereotype.Service;
|
||||
// 提成功能暂停使用:import org.springframework.transaction.annotation.Transactional;
|
||||
import com.bms.common.annotation.DataScope;
|
||||
import com.bms.common.exception.ServiceException;
|
||||
// 提成功能暂停使用:import com.bms.common.utils.SecurityUtils;
|
||||
import com.bms.common.utils.SecurityUtils;
|
||||
// 提成功能暂停使用:import com.bms.price.domain.PrcProfitCommissionRate;
|
||||
// 提成功能暂停使用:import com.bms.price.mapper.PrcProfitCommissionRateMapper;
|
||||
import com.bms.price.domain.PrcProfitReportExport;
|
||||
@@ -61,6 +61,7 @@ public class PrcProfitReportServiceImpl implements IPrcProfitReportService
|
||||
@Override
|
||||
public int createExport(PrcProfitReportExport export)
|
||||
{
|
||||
export.setExportUserId(SecurityUtils.getUserId());
|
||||
return profitReportMapper.insertExport(export);
|
||||
}
|
||||
|
||||
@@ -77,15 +78,15 @@ public class PrcProfitReportServiceImpl implements IPrcProfitReportService
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PrcProfitReportExport> selectExports(String exportBy)
|
||||
public List<PrcProfitReportExport> selectExports()
|
||||
{
|
||||
return profitReportMapper.selectExportsByUser(exportBy);
|
||||
return profitReportMapper.selectExports();
|
||||
}
|
||||
|
||||
@Override
|
||||
public PrcProfitReportExport selectExport(Long exportId, String exportBy)
|
||||
public PrcProfitReportExport selectExport(Long exportId)
|
||||
{
|
||||
return profitReportMapper.selectExportByIdAndUser(exportId, exportBy);
|
||||
return profitReportMapper.selectExportById(exportId);
|
||||
}
|
||||
|
||||
/** 将报表的多行输入拆分为去重后的查询条件,支持换行、空格、逗号和分号分隔。 */
|
||||
|
||||
@@ -19,8 +19,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="writeoffDate" column="writeoff_date"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="createUserId" column="create_user_id"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="cancelUserId" column="cancel_user_id"/>
|
||||
<result property="cancelBy" column="cancel_by"/>
|
||||
<result property="cancelTime" column="cancel_time"/>
|
||||
<result property="cancelRemark" column="cancel_remark"/>
|
||||
@@ -31,8 +33,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<sql id="selectColumns">
|
||||
select w.writeoff_id, w.writeoff_no, w.ar_bill_id, w.bill_no, w.customer_id, w.receipt_id, w.account_id,
|
||||
w.currency, w.writeoff_amount, w.balance_flow_id, w.reverse_flow_id,
|
||||
w.writeoff_date, w.status, w.remark, w.create_by, w.create_time,
|
||||
w.cancel_by, w.cancel_time, w.cancel_remark,
|
||||
w.writeoff_date, w.status, w.remark, w.create_user_id, w.create_by, w.create_time,
|
||||
w.cancel_user_id, w.cancel_by, w.cancel_time, w.cancel_remark,
|
||||
b.bill_name, b.customer_name
|
||||
from ar_balance_writeoff w
|
||||
left join ar_bill b on b.ar_bill_id = w.ar_bill_id
|
||||
@@ -43,11 +45,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
insert into ar_balance_writeoff (
|
||||
writeoff_no, ar_bill_id, bill_no, customer_id, receipt_id, account_id, currency,
|
||||
writeoff_amount, balance_flow_id, reverse_flow_id, writeoff_date,
|
||||
status, remark, create_by, create_time
|
||||
status, remark, create_user_id, create_by, create_time
|
||||
) values (
|
||||
#{writeoffNo}, #{arBillId}, #{billNo}, #{customerId}, #{receiptId}, #{accountId}, #{currency},
|
||||
#{writeoffAmount}, #{balanceFlowId}, #{reverseFlowId}, #{writeoffDate},
|
||||
#{status}, #{remark}, #{createBy}, sysdate()
|
||||
#{status}, #{remark}, #{createUserId}, #{createBy}, sysdate()
|
||||
)
|
||||
</insert>
|
||||
|
||||
@@ -68,6 +70,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
update ar_balance_writeoff
|
||||
set status = #{status},
|
||||
reverse_flow_id = #{reverseFlowId},
|
||||
cancel_user_id = #{cancelUserId},
|
||||
cancel_by = #{cancelBy},
|
||||
cancel_time = sysdate(),
|
||||
cancel_remark = #{cancelRemark}
|
||||
|
||||
@@ -11,6 +11,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="storageKey" column="storage_key"/>
|
||||
<result property="rowCount" column="row_count"/>
|
||||
<result property="exportStatus" column="export_status"/>
|
||||
<result property="exportUserId" column="export_user_id"/>
|
||||
<result property="exportBy" column="export_by"/>
|
||||
<result property="exportTime" column="export_time"/>
|
||||
<result property="remark" column="remark"/>
|
||||
@@ -18,15 +19,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
<sql id="profitReportExportColumns">
|
||||
select export_id, dimension, file_name, storage_key, row_count,
|
||||
export_status, export_by, export_time, remark
|
||||
export_status, export_user_id, export_by, export_time, remark
|
||||
from prc_profit_report_export
|
||||
</sql>
|
||||
|
||||
<insert id="insertExport" parameterType="PrcProfitReportExport" useGeneratedKeys="true" keyProperty="exportId">
|
||||
insert into prc_profit_report_export (
|
||||
dimension, file_name, storage_key, row_count, export_status, export_by, export_time, remark
|
||||
dimension, file_name, storage_key, row_count, export_status, export_user_id, export_by, export_time, remark
|
||||
) values (
|
||||
#{dimension}, #{fileName}, #{storageKey}, #{rowCount}, #{exportStatus}, #{exportBy}, sysdate(), #{remark}
|
||||
#{dimension}, #{fileName}, #{storageKey}, #{rowCount}, #{exportStatus}, #{exportUserId}, #{exportBy}, sysdate(), #{remark}
|
||||
)
|
||||
</insert>
|
||||
|
||||
@@ -43,15 +44,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
where export_id = #{exportId} and export_status = 'PROCESSING'
|
||||
</update>
|
||||
|
||||
<select id="selectExportsByUser" resultMap="PrcProfitReportExportResult">
|
||||
<select id="selectExports" resultMap="PrcProfitReportExportResult">
|
||||
<include refid="profitReportExportColumns"/>
|
||||
where export_by = #{exportBy}
|
||||
order by export_time desc, export_id desc
|
||||
</select>
|
||||
|
||||
<select id="selectExportByIdAndUser" resultMap="PrcProfitReportExportResult">
|
||||
<select id="selectExportById" resultMap="PrcProfitReportExportResult">
|
||||
<include refid="profitReportExportColumns"/>
|
||||
where export_id = #{exportId} and export_by = #{exportBy}
|
||||
where export_id = #{exportId}
|
||||
</select>
|
||||
|
||||
<resultMap type="PrcProfitReportOrderRow" id="PrcProfitReportOrderResult">
|
||||
|
||||
Reference in New Issue
Block a user