feat(m3): add field environment info (address, network, contact) to delivery

This commit is contained in:
2026-05-25 14:49:34 +08:00
parent 0062b20ea1
commit 16ab474bee
7 changed files with 229 additions and 2 deletions
@@ -39,6 +39,18 @@ public class PlatformDeliveryBatch {
@TableField("updated_at")
private OffsetDateTime updatedAt;
@TableField("site_address")
private String siteAddress;
@TableField("network_requirements")
private String networkRequirements;
@TableField("site_contact")
private String siteContact;
@TableField("site_contact_phone")
private String siteContactPhone;
public Long getId() {
return id;
}
@@ -118,4 +130,36 @@ public class PlatformDeliveryBatch {
public void setUpdatedAt(OffsetDateTime updatedAt) {
this.updatedAt = updatedAt;
}
public String getSiteAddress() {
return siteAddress;
}
public void setSiteAddress(String siteAddress) {
this.siteAddress = siteAddress;
}
public String getNetworkRequirements() {
return networkRequirements;
}
public void setNetworkRequirements(String networkRequirements) {
this.networkRequirements = networkRequirements;
}
public String getSiteContact() {
return siteContact;
}
public void setSiteContact(String siteContact) {
this.siteContact = siteContact;
}
public String getSiteContactPhone() {
return siteContactPhone;
}
public void setSiteContactPhone(String siteContactPhone) {
this.siteContactPhone = siteContactPhone;
}
}
@@ -91,6 +91,10 @@ public class DeliveryBatchService {
b.setPlannedDeliveryDate(parsePlannedDateOrNull(request.getPlannedDeliveryDate()));
b.setStatus(DeliveryBatchStatus.PENDING.name());
b.setRemarks(blankToNull(request.getRemarks()));
b.setSiteAddress(null);
b.setNetworkRequirements(blankToNull(request.getNetworkRequirements()));
b.setSiteContact(blankToNull(request.getSiteContact()));
b.setSiteContactPhone(blankToNull(request.getSiteContactPhone()));
b.setCreatedAt(now);
b.setUpdatedAt(now);
batchMapper.insert(b);
@@ -133,10 +137,12 @@ public class DeliveryBatchService {
public DeliveryBatchResponse update(long id, DeliveryBatchUpdateRequest request) {
PlatformDeliveryBatch b = requireBatch(id);
requirePendingForHeaderEdit(b);
if (request.getPlannedDeliveryDate() == null && request.getRemarks() == null) {
if (request.getPlannedDeliveryDate() == null && request.getRemarks() == null
&& request.getSiteAddress() == null && request.getNetworkRequirements() == null
&& request.getSiteContact() == null && request.getSiteContactPhone() == null) {
throw new ResponseStatusException(
HttpStatus.BAD_REQUEST,
"at least one of plannedDeliveryDate or remarks must be provided");
"at least one field must be provided");
}
String oldJson = toJson(batchSnapshot(b));
if (request.getPlannedDeliveryDate() != null) {
@@ -145,6 +151,18 @@ public class DeliveryBatchService {
if (request.getRemarks() != null) {
b.setRemarks(blankToNull(request.getRemarks()));
}
if (request.getSiteAddress() != null) {
b.setSiteAddress(blankToNull(request.getSiteAddress()));
}
if (request.getNetworkRequirements() != null) {
b.setNetworkRequirements(blankToNull(request.getNetworkRequirements()));
}
if (request.getSiteContact() != null) {
b.setSiteContact(blankToNull(request.getSiteContact()));
}
if (request.getSiteContactPhone() != null) {
b.setSiteContactPhone(blankToNull(request.getSiteContactPhone()));
}
b.setUpdatedAt(OffsetDateTime.now(ZoneOffset.UTC));
batchMapper.updateById(b);
auditService.record(
@@ -401,6 +419,10 @@ public class DeliveryBatchService {
m.put("status", b.getStatus());
m.put("finishedAt", b.getFinishedAt());
m.put("remarks", b.getRemarks());
m.put("siteAddress", b.getSiteAddress());
m.put("networkRequirements", b.getNetworkRequirements());
m.put("siteContact", b.getSiteContact());
m.put("siteContactPhone", b.getSiteContactPhone());
return m;
}
@@ -433,6 +455,10 @@ public class DeliveryBatchService {
r.setStatus(b.getStatus());
r.setFinishedAt(b.getFinishedAt());
r.setRemarks(b.getRemarks());
r.setSiteAddress(b.getSiteAddress());
r.setNetworkRequirements(b.getNetworkRequirements());
r.setSiteContact(b.getSiteContact());
r.setSiteContactPhone(b.getSiteContactPhone());
r.setCreatedAt(b.getCreatedAt());
r.setUpdatedAt(b.getUpdatedAt());
return r;
@@ -20,6 +20,15 @@ public class DeliveryBatchCreateRequest {
@Size(max = 4000)
private String remarks;
@Size(max = 512)
private String networkRequirements;
@Size(max = 128)
private String siteContact;
@Size(max = 32)
private String siteContactPhone;
public Long getProjectId() {
return projectId;
}
@@ -59,4 +68,28 @@ public class DeliveryBatchCreateRequest {
public void setRemarks(String remarks) {
this.remarks = remarks;
}
public String getNetworkRequirements() {
return networkRequirements;
}
public void setNetworkRequirements(String networkRequirements) {
this.networkRequirements = networkRequirements;
}
public String getSiteContact() {
return siteContact;
}
public void setSiteContact(String siteContact) {
this.siteContact = siteContact;
}
public String getSiteContactPhone() {
return siteContactPhone;
}
public void setSiteContactPhone(String siteContactPhone) {
this.siteContactPhone = siteContactPhone;
}
}
@@ -19,6 +19,14 @@ public class DeliveryBatchResponse {
private OffsetDateTime createdAt;
private OffsetDateTime updatedAt;
private String siteAddress;
private String networkRequirements;
private String siteContact;
private String siteContactPhone;
@JsonInclude(JsonInclude.Include.NON_NULL)
private List<DeliveryLineResponse> lines;
@@ -102,6 +110,38 @@ public class DeliveryBatchResponse {
this.updatedAt = updatedAt;
}
public String getSiteAddress() {
return siteAddress;
}
public void setSiteAddress(String siteAddress) {
this.siteAddress = siteAddress;
}
public String getNetworkRequirements() {
return networkRequirements;
}
public void setNetworkRequirements(String networkRequirements) {
this.networkRequirements = networkRequirements;
}
public String getSiteContact() {
return siteContact;
}
public void setSiteContact(String siteContact) {
this.siteContact = siteContact;
}
public String getSiteContactPhone() {
return siteContactPhone;
}
public void setSiteContactPhone(String siteContactPhone) {
this.siteContactPhone = siteContactPhone;
}
public List<DeliveryLineResponse> getLines() {
return lines;
}
@@ -9,6 +9,17 @@ public class DeliveryBatchUpdateRequest {
@Size(max = 4000)
private String remarks;
private String siteAddress;
@Size(max = 512)
private String networkRequirements;
@Size(max = 128)
private String siteContact;
@Size(max = 32)
private String siteContactPhone;
public String getPlannedDeliveryDate() {
return plannedDeliveryDate;
}
@@ -24,4 +35,36 @@ public class DeliveryBatchUpdateRequest {
public void setRemarks(String remarks) {
this.remarks = remarks;
}
public String getSiteAddress() {
return siteAddress;
}
public void setSiteAddress(String siteAddress) {
this.siteAddress = siteAddress;
}
public String getNetworkRequirements() {
return networkRequirements;
}
public void setNetworkRequirements(String networkRequirements) {
this.networkRequirements = networkRequirements;
}
public String getSiteContact() {
return siteContact;
}
public void setSiteContact(String siteContact) {
this.siteContact = siteContact;
}
public String getSiteContactPhone() {
return siteContactPhone;
}
public void setSiteContactPhone(String siteContactPhone) {
this.siteContactPhone = siteContactPhone;
}
}
@@ -0,0 +1,5 @@
ALTER TABLE platform_delivery_batch
ADD COLUMN site_address TEXT,
ADD COLUMN network_requirements VARCHAR(512),
ADD COLUMN site_contact VARCHAR(128),
ADD COLUMN site_contact_phone VARCHAR(32);