feat : update SKU isGift via MabangSkuSyncJob,add groupId to PurchaseOrderPage

pull/8040/head
Gauthier LO 2024-08-26 14:30:50 +02:00
parent 694fbb3115
commit e6b548cf83
8 changed files with 30 additions and 2 deletions

View File

@ -29,8 +29,10 @@ import java.time.temporal.ChronoUnit;
import java.util.*;
/**
* A Job that retrieves all Sku from Mabang
* if the sku is of status 3 (normal) and not in DB, then we insert it in DB
* Updates product name (en, zh), sku status, weight and isGift
* By default checks sku updates within the last 5 days
* If "skus" param is not empty then, dates are ignored and it will only update the given skus (erpCode)
* Execution periodicity : everyday at 2:10pm : 10 14 * * *
*/
@Slf4j
@Component

View File

@ -122,6 +122,9 @@ public interface PurchaseOrderMapper extends BaseMapper<PurchaseOrder> {
long countPurchaseOrders();
void updatePurchaseOrderStatus(@Param("invoiceNumber") String invoiceNumber, @Param("isOrdered") boolean isOrdered);
void updatePurchaseOrderGroupIds(@Param("invoiceNumber") String invoiceCode, @Param("groupIds") String groupIds);
InvoiceKpi countPurchaseInvoices(@Param("start") LocalDateTime start, @Param("end") LocalDateTime end, @Param("showAllData") boolean showAllData, @Param("username") String username);
void setPaid(@Param("invoiceNumbers") List<String> invoiceNumbers);

View File

@ -142,6 +142,11 @@
SET ordered = #{isOrdered}
WHERE invoice_number = #{invoiceNumber}
</update>
<update id="updatePurchaseOrderGroupIds">
UPDATE purchase_order
SET group_id = #{groupIds}
WHERE invoice_number = #{invoiceNumber};
</update>
<select id="countPurchaseInvoices" resultType="org.jeecg.modules.business.vo.InvoiceKpi">
WITH purchaseEur AS (
SELECT IFNULL(count(*),0) as qty, IFNULL(sum(final_amount),0) as total

View File

@ -131,10 +131,12 @@ public interface IPurchaseOrderService extends IService<PurchaseOrder> {
void setPageForList(Page<PurchaseOrderPage> page, String clientId);
void updatePurchaseOrderStatus(String invoiceNumber, boolean isOrdered);
void updatePurchaseOrderGroupIds(String invoiceCode, List<String> groupIds);
void setPaid(List<String> invoiceNumbers);
PurchaseOrder getPurchaseByInvoiceNumberAndClientId(String invoiceNumber, String clientId);
List<PurchaseOrder> getPurchasesByInvoices(List<Invoice> invoices);
}

View File

@ -191,6 +191,7 @@ public class ProviderMabangServiceImpl extends ServiceImpl<ProviderMabangMapper,
// change status of purchase order to 'ordered' = true
if(nbSuccesses == stockProviderMap.size()) {
purchaseOrderService.updatePurchaseOrderStatus(metaData.getInvoiceCode(), true);
purchaseOrderService.updatePurchaseOrderGroupIds(metaData.getInvoiceCode(), groupIds);
return true;
}
return false;

View File

@ -236,6 +236,11 @@ public class SkuListMabangServiceImpl extends ServiceImpl<SkuListMabangMapper, S
}
}
}
// updating isGift
if(!Objects.equals(s.getIsGift(), skuData.getIsGift())) {
s.setIsGift(skuData.getIsGift());
isUpdated = true;
}
if(isUpdated)
skusToUpdate.add(s);

View File

@ -618,6 +618,12 @@ public class PurchaseOrderServiceImpl extends ServiceImpl<PurchaseOrderMapper, P
purchaseOrderMapper.updatePurchaseOrderStatus(invoiceNumber, isOrdered);
}
@Override
public void updatePurchaseOrderGroupIds(String invoiceCode, List<String> groupIds) {
String groupIdsStr = String.join(",", groupIds);
purchaseOrderMapper.updatePurchaseOrderGroupIds(invoiceCode, groupIdsStr);
}
@Override
public void setPaid(List<String> invoiceNumber) {
purchaseOrderMapper.setPaid(invoiceNumber);

View File

@ -76,6 +76,10 @@ public class PurchaseOrderPage {
@Excel(name = "订单是否下了单", width = 15)
@ApiModelProperty(value = "订单是否下了单")
private boolean ordered;
/**采购批次号*/
@Excel(name = "采购批次号", width = 15)
@ApiModelProperty(value = "采购批次号")
private String groupId;
/**
* Payment document