Commit 64d23bdd authored by 顾俭's avatar 顾俭

防伪码送货单审核更新已交数量+=发货数量

parent e6b5f255
......@@ -6,8 +6,14 @@ import com.i1.erp.base.web.dto.SyncResponse;
import com.i1.erp.deo.service.IDeliveryOrderSendService;
import com.i1.erp.entity.request.Request;
import com.i1.erp.entity.response.Response;
import com.i1.srm.am.entity.Flag;
import com.i1.srm.am.service.IFunctionFlagsService;
import com.i1.srm.deliveryOrder.dao.IDoDtlFileDao;
import com.i1.srm.deliveryOrder.dao.entity.DoDtlFile;
import com.i1.srm.deliveryOrder.dao.entity.DoMstFile;
import com.i1.srm.deliveryOrder.service.IDoMstFileService;
import com.i1.srm.purchaseOrder.dao.IPoDtlFileDao;
import com.i1.srm.utils.SafeType;
import org.apache.commons.lang3.StringUtils;
import org.apache.cxf.endpoint.Client;
import org.slf4j.Logger;
......@@ -18,6 +24,7 @@ import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import tw.com.dsc.tiptop.tiptopservicegateway.*;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
......@@ -58,6 +65,15 @@ public class DeliveryOrderSendClient extends WebServiceClient {
@Autowired
private TIPTOPServiceGateWayPortType tiptopWsProxy;
@Autowired
private IFunctionFlagsService flagsService;
@Autowired
private IDoDtlFileDao doDtlFileDao;
@Autowired
private IPoDtlFileDao poDtlFileDao;
/**
* Send released delivery orders to ERP every one min.
*/
......@@ -275,10 +291,12 @@ public class DeliveryOrderSendClient extends WebServiceClient {
if (StringUtils.equalsIgnoreCase("Y", response.getExecution().getStatus().getProjectno())) {
logger.info("送货单{}审核更新发布状态", doMstFile.getDeliveryOrderUid());
updateConfirmAndRelease(doMstFile, CONFIRMED, RELEASED, true, "同步ERP成功");
updatePoDtlDeliveredAmount(doMstFile);
return SyncResponse.of(SUCCESS_CODE, "同步ERP成功");
} else {
logger.info("送货单{}审核不更新发布状态", doMstFile.getDeliveryOrderUid());
updateConfirm(doMstFile, CONFIRMED, "提交审核成功");
updatePoDtlDeliveredAmount(doMstFile);
return SyncResponse.of(SUCCESS_CODE, "提交审核成功");
}
} else {
......@@ -327,4 +345,17 @@ public class DeliveryOrderSendClient extends WebServiceClient {
newDoMstFile.setSentToErpInfo(details);
doMstFileService.updateNotCheckReleased(newDoMstFile);
}
@Transactional
public void updatePoDtlDeliveredAmount(DoMstFile doMstFile) {
if (flagsService.isEnabled(Flag.UPDATE_DELIVERED_AMOUNT_FROM_SRM.name())) {
List<DoDtlFile> doDtlFiles = doDtlFileDao.findAllByDoMstId(doMstFile.getId());
for (DoDtlFile doDtlFile : doDtlFiles) {
//update the delivered amount for purchase order
BigDecimal currentDeliveredAmount = SafeType.safeBigDecimal(doDtlFile.getPoDtl().getDeliveredAmount());
doDtlFile.getPoDtl().setDeliveredAmount(currentDeliveredAmount.add(SafeType.safeBigDecimal(doDtlFile.getDeliveryAmount())));
poDtlFileDao.save(doDtlFile.getPoDtl());
}
}
}
}
\ No newline at end of file
......@@ -130,6 +130,7 @@ public class DeliveryOrderWithdrawClient extends WebServiceClient {
Response response = convertXMLToObject(originalResponse.getResponse(), Response.class);
if (response.getExecution().getStatus().getCode().equalsIgnoreCase("0")) {
// 已交数量会扣减发货数量
doMstFileService.unrelease(doMstFile);
logger.info("送货单撤销发布成功");
return SyncResponse.of(SUCCESS_CODE, "送货单撤销发布成功");
......
......@@ -61,6 +61,7 @@ public class DoMstFileController extends AbstractController<DoMstFile, DoMstFile
if (CONFIRMED.equals(doMstFile.getConfirm())) {
throw new IOneServiceException("该送货单已经审核,请重新获取查看");
}
// 需要把发货数量加到采购已交数量上 updatePoDtlDeliveredAmount
response = deliveryOrderSendClient.createClientAndSendDoMstFileBarcode(doMstFile);
} else {
service.release(doMstFile);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment