Browse Source

加字段

master
han\hanst 2 weeks ago
parent
commit
0f9db40af9
  1. 45
      src/main/java/com/xujie/sys/modules/sampletracking/data/ProofTrackingData.java
  2. 23
      src/main/java/com/xujie/sys/modules/sampletracking/service/impl/SampleProofTrackingServiceImpl.java
  3. 36
      src/main/resources/mapper/sampletracking/SampleProofTrackingMapper.xml

45
src/main/java/com/xujie/sys/modules/sampletracking/data/ProofTrackingData.java

@ -160,6 +160,51 @@ public class ProofTrackingData extends QueryPage {
private String engineer;
private String priorityLevel;
private Integer proofingNumber;
/**
* 列表展示/筛选打样单数量不单独落库来源于 proofing_number
*/
@TableField(exist = false)
private Integer sampleQty;
/**
* PM inquery time新增打样时由用户选择仅此字段需要在打样跟踪表落库
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date pmInqueryTime;
/**
* 打样完成日期所在年口径为 actuality_delivery_date打样完成时回写
*/
@TableField(exist = false)
private Integer sampleMakingYear;
/**
* 打样完成日期所在月口径与 sampleMakingYear 相同
*/
@TableField(exist = false)
private Integer sampleMakingMonth;
/**
* Sample LT = 打样完成日期 - 打样开始日期单位天
*/
@TableField(exist = false)
private Integer sampleLt;
/**
* Sample LTInquery= 打样完成日期 - PM inquery time单位天
*/
@TableField(exist = false)
private Integer sampleLtInquery;
/**
* 查询专用PM inquery time 起始日期
*/
@TableField(exist = false)
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date pmInqueryTimeStart;
/**
* 查询专用PM inquery time 截止日期
*/
@TableField(exist = false)
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date pmInqueryTimeEnd;
private String comments;
private String remark;
@TableField(exist = false)

23
src/main/java/com/xujie/sys/modules/sampletracking/service/impl/SampleProofTrackingServiceImpl.java

@ -425,6 +425,8 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic
return resolveRoleDisplayValue(getBeanPropertyValue(rowData, "projectManagerName"), rowData.getProjectManager());
case "pic":
return resolveRoleDisplayValue(getBeanPropertyValue(rowData, "projectOwnerName"), rowData.getPic());
case "sampleMakingMonth":
return formatSampleMakingMonth(getBeanPropertyValue(rowData, "sampleMakingMonth"));
default:
return getExportDisplayValue(getBeanPropertyValue(rowData, columnProp));
}
@ -678,6 +680,22 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic
return isBlank(text) ? "" : text;
}
private String formatSampleMakingMonth(Object value) {
if (value == null) {
return "";
}
String text = String.valueOf(value).trim();
if (isBlank(text)) {
return "";
}
try {
int month = Integer.parseInt(text);
return month < 10 ? "0" + month : String.valueOf(month);
} catch (NumberFormatException e) {
return text;
}
}
private String toDateString(Object value) {
if (value == null) {
return "";
@ -895,6 +913,8 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic
if (data.getRequiredDeliveryDate() != null) {
trackingData.setRequiredDeliveryDate(data.getRequiredDeliveryDate());
}
// PM inquery time 仅由用户录入不从试验单或其他日期推导
trackingData.setPmInqueryTime(data.getPmInqueryTime());
trackingData.setProofingId(trackingData.getTrackingId());
if (trackingData.getProofingId() == null) {
@ -937,6 +957,7 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic
updateTracking.setProofingNumber(trackingData.getProofingNumber());
updateTracking.setPlanStartDate(trackingData.getPlanStartDate());
updateTracking.setRequiredDeliveryDate(trackingData.getRequiredDeliveryDate());
updateTracking.setPmInqueryTime(trackingData.getPmInqueryTime());
updateTracking.setProjectPhase(trackingData.getProjectPhase());
updateTracking.setProofingStatus(trackingData.getProofingStatus());
updateTracking.setUpdateBy(operateUser);
@ -1111,6 +1132,8 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic
updateData.setPlanStartDate(data.getPlanStartDate() == null ? oldData.getPlanStartDate() : data.getPlanStartDate());
updateData.setRequiredDeliveryDate(data.getRequiredDeliveryDate() == null ? oldData.getRequiredDeliveryDate() : data.getRequiredDeliveryDate());
updateData.setBaseline(data.getBaseline() == null ? oldData.getBaseline() : data.getBaseline());
// 允许用户清空 PM inquery time因此不以旧值兜底
updateData.setPmInqueryTime(data.getPmInqueryTime());
updateData.setTracker(isBlank(data.getTracker()) ? oldData.getTracker() : data.getTracker().trim());
updateData.setEngineer(isBlank(data.getEngineer()) ? oldData.getEngineer() : data.getEngineer().trim());
updateData.setPriorityLevel(isBlank(data.getPriorityLevel()) ? oldData.getPriorityLevel() : data.getPriorityLevel().trim());

36
src/main/resources/mapper/sampletracking/SampleProofTrackingMapper.xml

@ -19,6 +19,19 @@
t.engineer,
t.priority_level,
t.proofing_number,
t.proofing_number AS sampleQty,
t.pm_inquery_time,
-- 打样完成日期口径:actuality_delivery_date(DeliveryPackage 完成时回写),未完成则为空。
CASE WHEN t.actuality_delivery_date IS NULL THEN NULL ELSE YEAR(t.actuality_delivery_date) END AS sampleMakingYear,
CASE WHEN t.actuality_delivery_date IS NULL THEN NULL ELSE MONTH(t.actuality_delivery_date) END AS sampleMakingMonth,
CASE
WHEN t.actuality_delivery_date IS NULL OR t.plan_start_date IS NULL THEN NULL
ELSE DATEDIFF(DAY, t.plan_start_date, t.actuality_delivery_date)
END AS sampleLt,
CASE
WHEN t.actuality_delivery_date IS NULL OR t.pm_inquery_time IS NULL THEN NULL
ELSE DATEDIFF(DAY, t.pm_inquery_time, t.actuality_delivery_date)
END AS sampleLtInquery,
t.plan_start_date,
t.required_delivery_date,
t.baseline,
@ -167,6 +180,21 @@
<if test="query.endDate != null">
and #{query.endDate,jdbcType=DATE} >= t.plan_start_date
</if>
<if test="query.sampleMakingYear != null">
<!-- 无打样完成日期的记录不能按年/月命中,避免把未完成单据算进完成年/月。 -->
and t.actuality_delivery_date is not null
and YEAR(t.actuality_delivery_date) = #{query.sampleMakingYear}
</if>
<if test="query.sampleMakingMonth != null">
and t.actuality_delivery_date is not null
and MONTH(t.actuality_delivery_date) = #{query.sampleMakingMonth}
</if>
<if test="query.pmInqueryTimeStart != null">
and t.pm_inquery_time >= #{query.pmInqueryTimeStart,jdbcType=DATE}
</if>
<if test="query.pmInqueryTimeEnd != null">
and #{query.pmInqueryTimeEnd,jdbcType=DATE} >= t.pm_inquery_time
</if>
</where>
order by t.create_date desc
</select>
@ -224,6 +252,7 @@
required_delivery_date,
baseline,
actuality_delivery_date,
pm_inquery_time,
comments,
remark,
create_date,
@ -424,11 +453,11 @@
INSERT INTO plm_proofing_information_tracking
(id, site, project_id, project_part_id, proofing_id, proofing_no, proofing_status, project_phase, project_category,
tracker, engineer, priority_level, proofing_number, plan_start_date, required_delivery_date, baseline, actuality_delivery_date,
comments, remark, create_date, create_by, update_date, update_by)
pm_inquery_time, comments, remark, create_date, create_by, update_date, update_by)
VALUES
(#{trackingId}, #{site}, #{projectId}, #{projectPartId}, #{proofingId}, #{proofingNo}, #{proofingStatus}, #{projectPhase}, #{projectCategory},
#{tracker}, #{engineer}, #{priorityLevel}, #{proofingNumber}, #{planStartDate,jdbcType=DATE}, #{requiredDeliveryDate,jdbcType=DATE}, #{baseline,jdbcType=DATE}, #{actualityDeliveryDate,jdbcType=DATE},
#{comments}, #{remark}, GETDATE(), #{createBy}, GETDATE(), #{updateBy})
#{pmInqueryTime,jdbcType=DATE}, #{comments}, #{remark}, GETDATE(), #{createBy}, GETDATE(), #{updateBy})
</insert>
<select id="selectProcessValuesByTrackingIds" resultType="com.xujie.sys.modules.sampletracking.data.ProofTrackingProcessValueData">
@ -520,6 +549,7 @@
proofing_number = #{proofingNumber},
plan_start_date = #{planStartDate,jdbcType=DATE},
required_delivery_date = #{requiredDeliveryDate,jdbcType=DATE},
pm_inquery_time = #{pmInqueryTime,jdbcType=DATE},
project_phase = #{projectPhase},
proofing_status = #{proofingStatus},
update_date = GETDATE(),
@ -537,6 +567,7 @@
plan_start_date = #{planStartDate,jdbcType=DATE},
required_delivery_date = #{requiredDeliveryDate,jdbcType=DATE},
baseline = #{baseline,jdbcType=DATE},
pm_inquery_time = #{pmInqueryTime,jdbcType=DATE},
tracker = #{tracker},
engineer = #{engineer},
priority_level = #{priorityLevel},
@ -592,6 +623,7 @@
t.required_delivery_date,
t.baseline,
t.actuality_delivery_date,
t.pm_inquery_time,
t.comments,
t.remark,
t.create_date,

Loading…
Cancel
Save